From 1dd28d1c120a3e5dfc48c9b2eff952c9110ee27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Tue, 26 Sep 2023 17:21:18 +0200 Subject: [PATCH] feat: add docker+wasm examples Co-Authored-By: Jorge Prendes --- examples/containers/.gitignore | 1 + examples/containers/Dockerfile | 65 + examples/containers/Makefile | 56 + examples/containers/README.md | 61 + examples/containers/apps-src/tmp/file.txt | 1 + .../apps-src/user-generation-go/.gitignore | 1 + .../apps-src/user-generation-go/go.mod | 12 + .../apps-src/user-generation-go/go.sum | 12 + .../apps-src/user-generation-go/main.go | 82 + .../user-generation-go.toml | 14 + .../vendor/github.com/tidwall/gjson/LICENSE | 20 + .../vendor/github.com/tidwall/gjson/README.md | 497 + .../vendor/github.com/tidwall/gjson/SYNTAX.md | 342 + .../vendor/github.com/tidwall/gjson/gjson.go | 3359 +++ .../vendor/github.com/tidwall/gjson/logo.png | Bin 0 -> 15936 bytes .../vendor/github.com/tidwall/match/LICENSE | 20 + .../vendor/github.com/tidwall/match/README.md | 29 + .../vendor/github.com/tidwall/match/match.go | 237 + .../vendor/github.com/tidwall/pretty/LICENSE | 20 + .../github.com/tidwall/pretty/README.md | 122 + .../github.com/tidwall/pretty/pretty.go | 682 + .../vendor/github.com/tidwall/sjson/LICENSE | 21 + .../vendor/github.com/tidwall/sjson/README.md | 278 + .../vendor/github.com/tidwall/sjson/logo.png | Bin 0 -> 16874 bytes .../vendor/github.com/tidwall/sjson/sjson.go | 737 + .../vmware-labs/wasm-workers-server/LICENSE | 199 + .../vmware-labs/wasm-workers-server/NOTICE | 5 + .../kits/go/worker/README.md | 61 + .../kits/go/worker/bindings/bindings.c | 223 + .../kits/go/worker/bindings/bindings.go | 337 + .../kits/go/worker/bindings/bindings.h | 131 + .../kits/go/worker/bindings/bindings_types.go | 108 + .../wasm-workers-server/kits/go/worker/doc.go | 13 + .../kits/go/worker/worker.go | 267 + .../user-generation-go/vendor/modules.txt | 16 + .../user-generation-js/user-generation-js.js | 41 + .../user-generation-js.toml | 14 + .../apps-src/user-generation-python/index.py | 29 + .../user-generation-python/index.toml | 6 + .../apps-src/user-generation-python/tmp | 1 + .../apps-src/user-generation-ruby/index.rb | 31 + .../apps-src/user-generation-ruby/index.toml | 6 + .../apps-src/user-generation-ruby/tmp | 1 + .../user-generation-rust/.cargo/config.toml | 3 + .../apps-src/user-generation-rust/.gitignore | 1 + .../apps-src/user-generation-rust/Cargo.lock | 332 + .../apps-src/user-generation-rust/Cargo.toml | 10 + .../user-generation-rust/rust-toolchain.toml | 2 + .../apps-src/user-generation-rust/src/main.rs | 61 + .../user-generation-rust.toml | 14 + examples/containers/apps/root/.wws.toml | 83 + .../apps/root/user-generation-go.toml | 14 + .../apps/root/user-generation-js.js | 41 + .../apps/root/user-generation-js.toml | 14 + .../apps/root/user-generation-python/index.py | 29 + .../root/user-generation-python/index.toml | 6 + .../root/user-generation-python/tmp/file.txt | 1 + .../apps/root/user-generation-ruby/index.rb | 31 + .../apps/root/user-generation-ruby/index.toml | 6 + .../root/user-generation-ruby/tmp/file.txt | 1 + .../apps/root/user-generation-rust.toml | 14 + examples/containers/tmp/file.txt | 1 + .../.github/workflows/artifacts.yml | 97 + .../.github/workflows/build.yml | 72 + .../.github/workflows/container-preview.yml | 94 + .../.github/workflows/container-release.yml | 95 + .../containers/wasm-workers-server/.gitignore | 6 + .../wasm-workers-server/CODE_OF_CONDUCT.md | 127 + .../wasm-workers-server/CONTRIBUTING.md | 67 + .../containers/wasm-workers-server/Cargo.lock | 4157 +++ .../containers/wasm-workers-server/Cargo.toml | 98 + .../containers/wasm-workers-server/LICENSE | 199 + .../containers/wasm-workers-server/Makefile | 14 + .../containers/wasm-workers-server/NOTICE | 5 + .../containers/wasm-workers-server/README.md | 135 + .../crates/api-manage-openapi/Cargo.toml | 13 + .../crates/api-manage-openapi/build.rs | 14 + .../crates/api-manage-openapi/src/lib.rs | 5 + .../api-manage-openapi/src/openapi.json | 114 + .../crates/api-manage/Cargo.toml | 15 + .../crates/api-manage/src/handlers/mod.rs | 4 + .../crates/api-manage/src/handlers/v0/mod.rs | 4 + .../api-manage/src/handlers/v0/workers.rs | 48 + .../crates/api-manage/src/lib.rs | 36 + .../crates/api-manage/src/models/mod.rs | 8 + .../crates/api-manage/src/models/worker.rs | 35 + .../api-manage/src/models/worker_config.rs | 97 + .../crates/config/Cargo.toml | 14 + .../crates/config/src/lib.rs | 170 + .../crates/data-kv/Cargo.toml | 12 + .../crates/data-kv/src/lib.rs | 53 + .../crates/data-kv/src/store.rs | 33 + .../crates/panel/Cargo.toml | 12 + .../wasm-workers-server/crates/panel/build.rs | 37 + .../crates/panel/client/.gitignore | 6 + .../crates/panel/client/dist/.gitkeep | 0 .../crates/panel/client/index.html | 15 + .../crates/panel/client/package.json | 22 + .../crates/panel/client/public/.gitkeep | 0 .../crates/panel/client/src/app.jsx | 25 + .../panel/client/src/components/content.jsx | 12 + .../panel/client/src/components/content.scss | 8 + .../panel/client/src/components/header.jsx | 12 + .../panel/client/src/components/header.scss | 7 + .../panel/client/src/components/sidebar.jsx | 48 + .../panel/client/src/components/sidebar.scss | 26 + .../client/src/components/workerCard.jsx | 41 + .../crates/panel/client/src/main.jsx | 15 + .../crates/panel/client/src/main.scss | 20 + .../crates/panel/client/src/router.jsx | 41 + .../crates/panel/client/src/routes/home.jsx | 54 + .../crates/panel/client/src/routes/worker.jsx | 99 + .../panel/client/src/routes/workers.jsx | 31 + .../crates/panel/client/vite.config.js | 16 + .../crates/panel/src/handlers/mod.rs | 1 + .../crates/panel/src/handlers/panel.rs | 30 + .../crates/panel/src/lib.rs | 12 + .../crates/project/Cargo.toml | 27 + .../crates/project/README.md | 5 + .../crates/project/src/fetch.rs | 36 + .../crates/project/src/lib.rs | 209 + .../crates/project/src/metadata.rs | 214 + .../crates/project/src/options.rs | 35 + .../crates/project/src/types/git.rs | 150 + .../crates/project/src/types/mod.rs | 4 + .../crates/project/tests/data/index.js | 0 .../crates/router/Cargo.toml | 24 + .../crates/router/src/files.rs | 205 + .../crates/router/src/lib.rs | 229 + .../crates/router/src/route.rs | 379 + .../crates/router/tests/data/files/_home.ext | 0 .../crates/router/tests/data/files/_index.js | 0 .../tests/data/files/_internal/index.js | 0 .../router/tests/data/files/examples.js | 0 .../tests/data/files/examples/_index/home.ext | 0 .../tests/data/files/examples/_index/index.js | 0 .../router/tests/data/files/examples/home.ext | 0 .../tests/data/files/examples/index/home.ext | 0 .../tests/data/files/examples/index/index.js | 0 .../data/files/examples/index/public/index.js | 0 .../tests/data/files/examples/public.js | 0 .../crates/router/tests/data/files/home.ext | 0 .../crates/router/tests/data/files/index.js | 0 .../crates/router/tests/data/files/public.js | 0 .../router/tests/data/files/public/home.ext | 0 .../router/tests/data/files/public/index.js | 0 .../crates/runtimes/Cargo.toml | 16 + .../crates/runtimes/src/lib.rs | 74 + .../crates/runtimes/src/modules/external.rs | 106 + .../crates/runtimes/src/modules/javascript.rs | 59 + .../crates/runtimes/src/modules/mod.rs | 6 + .../crates/runtimes/src/modules/native.rs | 27 + .../crates/runtimes/src/runtime.rs | 32 + .../crates/server/Cargo.toml | 17 + .../crates/server/src/handlers/assets.rs | 36 + .../crates/server/src/handlers/mod.rs | 6 + .../crates/server/src/handlers/not_found.rs | 19 + .../crates/server/src/handlers/worker.rs | 126 + .../crates/server/src/lib.rs | 116 + .../crates/store/Cargo.toml | 11 + .../crates/store/src/lib.rs | 124 + .../crates/worker/Cargo.toml | 30 + .../crates/worker/src/bindings/http.rs | 172 + .../crates/worker/src/bindings/mod.rs | 4 + .../crates/worker/src/config.rs | 116 + .../crates/worker/src/features/data.rs | 12 + .../crates/worker/src/features/folders.rs | 43 + .../worker/src/features/http_requests.rs | 31 + .../crates/worker/src/features/mod.rs | 6 + .../crates/worker/src/io.rs | 134 + .../crates/worker/src/lib.rs | 168 + .../crates/worker/src/stdio.rs | 56 + .../containers/wasm-workers-server/deny.toml | 90 + .../wasm-workers-server/docs/.gitignore | 20 + .../wasm-workers-server/docs/README.md | 23 + .../wasm-workers-server/docs/babel.config.js | 3 + .../docs/docs/containers.md | 26 + .../docs/docs/features/_category_.json | 8 + .../docs/docs/features/all.md | 38 + .../docs/docs/features/dynamic-routes.md | 61 + .../docs/features/environment-variables.md | 52 + .../docs/docs/features/http-requests.md | 41 + .../docs/docs/features/key-value.md | 37 + .../docs/docs/features/mount-folders.md | 43 + .../features/multiple-language-runtimes.md | 166 + .../docs/docs/features/static-assets.md | 47 + .../docs/docs/get-started/_category_.json | 6 + .../docs/docs/get-started/how-it-works.md | 42 + .../docs/docs/get-started/introduction.mdx | 41 + .../docs/docs/get-started/quickstart.md | 75 + .../docs/docs/languages/_category_.json | 10 + .../docs/docs/languages/go.md | 475 + .../docs/docs/languages/introduction.md | 45 + .../docs/docs/languages/javascript.md | 286 + .../docs/docs/languages/python.md | 294 + .../docs/docs/languages/ruby.md | 197 + .../docs/docs/languages/rust.md | 478 + .../docs/docusaurus.config.js | 122 + .../docs/package-lock.json | 21660 ++++++++++++++++ .../wasm-workers-server/docs/package.json | 47 + .../wasm-workers-server/docs/sidebars.js | 33 + .../src/components/HomepageFeatures/index.js | 61 + .../HomepageFeatures/styles.module.css | 14 + .../docs/src/css/custom.css | 106 + .../docs/src/pages/diagram.svg | 198 + .../docs/src/pages/index.js | 63 + .../docs/src/pages/index.module.css | 29 + .../wasm-workers-server/docs/static/.nojekyll | 0 .../docs/static/_redirects | 13 + .../docs/static/img/favicon.svg | 1 + .../docs/static/img/languages/go.svg | 8 + .../docs/static/img/languages/js.svg | 2 + .../docs/static/img/languages/python.svg | 15 + .../docs/static/img/languages/ruby.svg | 121 + .../docs/static/img/languages/rust.svg | 6 + .../docs/static/img/logo.svg | 1 + .../wasm-workers-server/examples/Makefile | 28 + .../wasm-workers-server/examples/README.md | 18 + .../examples/go-basic/README.md | 31 + .../examples/go-basic/go.mod | 12 + .../examples/go-basic/go.sum | 12 + .../examples/go-basic/main.go | 59 + .../examples/go-envs/README.md | 32 + .../examples/go-envs/envs.go | 18 + .../examples/go-envs/envs.toml | 5 + .../examples/go-fetch/README.md | 31 + .../examples/go-fetch/go.mod | 15 + .../examples/go-fetch/go.sum | 12 + .../examples/go-fetch/index.toml | 6 + .../examples/go-fetch/main.go | 44 + .../examples/go-kv/README.md | 32 + .../examples/go-kv/counter.go | 34 + .../examples/go-kv/counter.toml | 6 + .../examples/go-params/README.md | 32 + .../examples/go-params/main.go | 41 + .../examples/go-params/public/main.css | 28 + .../examples/go-params/public/water.min.css | 30 + .../examples/js-async/README.md | 21 + .../examples/js-async/index.js | 52 + .../examples/js-basic/README.md | 21 + .../examples/js-basic/index.js | 55 + .../examples/js-fetch/README.md | 21 + .../examples/js-fetch/index.js | 65 + .../examples/js-fetch/index.toml | 6 + .../examples/js-json/README.md | 22 + .../examples/js-json/handler.js | 44 + .../examples/js-json/handler.toml | 5 + .../examples/js-params/README.md | 22 + .../examples/js-params/[id].js | 31 + .../examples/js-params/[id]/fixed.js | 31 + .../examples/js-params/fixed.js | 30 + .../examples/js-params/public/main.css | 28 + .../examples/js-params/public/water.min.css | 30 + .../examples/js-params/sub/[id].js | 31 + .../examples/js-redirect/README.md | 21 + .../examples/js-redirect/handler.js | 23 + .../examples/js-tictactoe/README.md | 22 + .../examples/js-tictactoe/handler.js | 375 + .../examples/js-tictactoe/handler.toml | 6 + .../examples/protomaps/.gitignore | 5 + .../examples/protomaps/.wws.toml | 44 + .../examples/protomaps/Dockerfile | 10 + .../examples/protomaps/Makefile | 17 + .../examples/protomaps/README.md | 63 + .../examples/protomaps/[z]/[x]/[y]/index.py | 24 + .../examples/protomaps/[z]/[x]/[y]/index.toml | 12 + .../examples/protomaps/_libs/__init__.py | 0 .../examples/protomaps/_libs/reader.py | 81 + .../examples/protomaps/_libs/tile.py | 296 + .../examples/protomaps/_maps/.keep | 0 .../examples/protomaps/_maps/map.pmtiles | Bin 0 -> 1665825 bytes .../examples/protomaps/public/css/leaflet.css | 656 + .../examples/protomaps/public/index.html | 29 + .../examples/protomaps/public/js/leaflet.js | 6 + .../protomaps/public/js/protomaps.min.js | 23 + .../examples/python-basic/.wws.toml | 44 + .../examples/python-basic/README.md | 21 + .../examples/python-basic/index.py | 43 + .../examples/python-envs/.wws.toml | 44 + .../examples/python-envs/README.md | 22 + .../examples/python-envs/envs.py | 9 + .../examples/python-envs/envs.toml | 5 + .../examples/python-kv/.wws.toml | 44 + .../examples/python-kv/README.md | 22 + .../examples/python-kv/counter.py | 24 + .../examples/python-kv/counter.toml | 6 + .../examples/python-libs/.wws.toml | 44 + .../examples/python-libs/README.md | 36 + .../examples/python-libs/_libs/.gitignore | 2 + .../examples/python-libs/index.py | 25 + .../examples/python-libs/index.toml | 9 + .../examples/python-libs/requirements.txt | 1 + .../examples/python-mount/.wws.toml | 44 + .../examples/python-mount/README.md | 22 + .../examples/python-mount/_assets/index.html | 1 + .../examples/python-mount/index.py | 7 + .../examples/python-mount/index.toml | 5 + .../examples/ruby-basic/.wws.toml | 44 + .../examples/ruby-basic/README.md | 21 + .../examples/ruby-basic/index.rb | 41 + .../examples/ruby-envs/.wws.toml | 44 + .../examples/ruby-envs/README.md | 22 + .../examples/ruby-envs/envs.rb | 6 + .../examples/ruby-envs/envs.toml | 5 + .../examples/ruby-kv/.wws.toml | 44 + .../examples/ruby-kv/README.md | 22 + .../examples/ruby-kv/counter.rb | 14 + .../examples/ruby-kv/counter.toml | 6 + .../examples/ruby-mount/.wws.toml | 44 + .../examples/ruby-mount/README.md | 22 + .../examples/ruby-mount/_images/ruby.svg | 121 + .../examples/ruby-mount/image.rb | 9 + .../examples/ruby-mount/image.toml | 5 + .../examples/ruby-mount/public/css/styles.css | 8 + .../examples/ruby-mount/public/index.html | 10 + .../examples/rust-basic/Cargo.lock | 317 + .../examples/rust-basic/Cargo.toml | 8 + .../examples/rust-basic/README.md | 35 + .../examples/rust-basic/basic.toml | 5 + .../examples/rust-basic/src/main.rs | 58 + .../examples/rust-fetch/Cargo.lock | 330 + .../examples/rust-fetch/Cargo.toml | 10 + .../examples/rust-fetch/README.md | 35 + .../examples/rust-fetch/index.toml | 6 + .../examples/rust-fetch/src/main.rs | 68 + .../examples/rust-kv/Cargo.lock | 155 + .../examples/rust-kv/Cargo.toml | 8 + .../examples/rust-kv/README.md | 36 + .../examples/rust-kv/kv.toml | 8 + .../examples/rust-kv/src/main.rs | 33 + .../examples/rust-params/Cargo.lock | 155 + .../examples/rust-params/Cargo.toml | 8 + .../examples/rust-params/README.md | 36 + .../examples/rust-params/public/main.css | 28 + .../examples/rust-params/public/water.min.css | 30 + .../examples/rust-params/src/main.rs | 37 + .../examples/rust-pdf-create/Cargo.lock | 618 + .../examples/rust-pdf-create/Cargo.toml | 9 + .../examples/rust-pdf-create/README.md | 35 + .../examples/rust-pdf-create/src/main.rs | 37 + .../containers/wasm-workers-server/go.mod | 13 + .../containers/wasm-workers-server/go.sum | 10 + .../wasm-workers-server/image/Dockerfile | 35 + .../image/Prebuilt.dockerfile | 24 + .../containers/wasm-workers-server/install.sh | 106 + .../kits/go/worker/README.md | 61 + .../kits/go/worker/bindings/bindings.c | 223 + .../kits/go/worker/bindings/bindings.go | 337 + .../kits/go/worker/bindings/bindings.h | 131 + .../kits/go/worker/bindings/bindings_types.go | 108 + .../wasm-workers-server/kits/go/worker/doc.go | 13 + .../kits/go/worker/worker.go | 267 + .../kits/javascript/.gitignore | 5 + .../kits/javascript/Cargo.toml | 12 + .../kits/javascript/Makefile | 5 + .../kits/javascript/README.md | 7 + .../kits/javascript/build.rs | 39 + .../kits/javascript/shims/bindings.js | 61 + .../kits/javascript/shims/index.js | 69 + .../kits/javascript/shims/package.json | 15 + .../kits/javascript/shims/types/cache.js | 18 + .../kits/javascript/shims/types/headers.js | 42 + .../kits/javascript/shims/types/index.js | 8 + .../kits/javascript/shims/types/request.js | 22 + .../kits/javascript/shims/types/response.js | 89 + .../kits/javascript/src/bindings.rs | 138 + .../kits/javascript/src/error.rs | 7 + .../kits/javascript/src/main.rs | 84 + .../wasm-workers-quick-js-engine.wasm | Bin 0 -> 3903412 bytes .../wasm-workers-server/kits/rust/Cargo.toml | 22 + .../kits/rust/src/bindings.rs | 67 + .../kits/rust/src/cache.rs | 7 + .../kits/rust/src/content.rs | 28 + .../wasm-workers-server/kits/rust/src/io.rs | 121 + .../wasm-workers-server/kits/rust/src/lib.rs | 16 + .../kits/rust/worker/Cargo.toml | 23 + .../kits/rust/worker/src/args.rs | 30 + .../kits/rust/worker/src/expand.rs | 60 + .../kits/rust/worker/src/lib.rs | 14 + .../repository/v1/files/python/3-1/poly.py | 55 + .../v1/files/python/3-1/wrapper.txt | 6 + .../repository/v1/files/python/3/poly.py | 46 + .../repository/v1/files/python/3/wrapper.txt | 6 + .../repository/v1/files/ruby/3-1/poly.rb | 89 + .../repository/v1/files/ruby/3-1/wrapper.txt | 5 + .../repository/v1/files/ruby/3/poly.rb | 80 + .../repository/v1/files/ruby/3/wrapper.txt | 5 + .../metadata/repository/v1/index.toml | 45 + .../wasm-workers-server/src/commands/main.rs | 12 + .../wasm-workers-server/src/commands/mod.rs | 6 + .../src/commands/runtimes.rs | 212 + .../containers/wasm-workers-server/src/lib.rs | 9 + .../wasm-workers-server/src/main.rs | 213 + .../wasm-workers-server/src/utils/mod.rs | 5 + .../wasm-workers-server/src/utils/options.rs | 33 + .../wasm-workers-server/src/utils/runtimes.rs | 102 + .../tests/data/metadata/repository.toml | 11 + .../tests/data/metadata/runtime.toml | 8 + .../tests/data/params/[id].wasm | Bin 0 -> 8 bytes .../tests/data/params/[id]/fixed.wasm | Bin 0 -> 8 bytes .../tests/data/params/fixed.wasm | Bin 0 -> 8 bytes .../tests/data/params/sub/[id].wasm | Bin 0 -> 8 bytes .../tests/data/public/.keep | 0 .../wasm-workers-server/tests/e2e.rs | 178 + .../wit/core/http-types.wit | 60 + .../wasm-workers-server/wit/core/http.wit | 4 + .../wit/go-ephemeral/http-types.wit | 62 + .../wit/go-ephemeral/http.wit | 11 + 408 files changed, 52848 insertions(+) create mode 100644 examples/containers/.gitignore create mode 100644 examples/containers/Dockerfile create mode 100644 examples/containers/Makefile create mode 100644 examples/containers/README.md create mode 100644 examples/containers/apps-src/tmp/file.txt create mode 100644 examples/containers/apps-src/user-generation-go/.gitignore create mode 100644 examples/containers/apps-src/user-generation-go/go.mod create mode 100644 examples/containers/apps-src/user-generation-go/go.sum create mode 100644 examples/containers/apps-src/user-generation-go/main.go create mode 100644 examples/containers/apps-src/user-generation-go/user-generation-go.toml create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/LICENSE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/README.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/SYNTAX.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/gjson.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/logo.png create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/match/LICENSE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/match/README.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/match/match.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/LICENSE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/README.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/pretty.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/LICENSE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/README.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/logo.png create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/sjson.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/LICENSE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/NOTICE create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/README.md create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.c create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.h create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings_types.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/doc.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/worker.go create mode 100644 examples/containers/apps-src/user-generation-go/vendor/modules.txt create mode 100644 examples/containers/apps-src/user-generation-js/user-generation-js.js create mode 100644 examples/containers/apps-src/user-generation-js/user-generation-js.toml create mode 100644 examples/containers/apps-src/user-generation-python/index.py create mode 100644 examples/containers/apps-src/user-generation-python/index.toml create mode 120000 examples/containers/apps-src/user-generation-python/tmp create mode 100644 examples/containers/apps-src/user-generation-ruby/index.rb create mode 100644 examples/containers/apps-src/user-generation-ruby/index.toml create mode 120000 examples/containers/apps-src/user-generation-ruby/tmp create mode 100644 examples/containers/apps-src/user-generation-rust/.cargo/config.toml create mode 100644 examples/containers/apps-src/user-generation-rust/.gitignore create mode 100644 examples/containers/apps-src/user-generation-rust/Cargo.lock create mode 100644 examples/containers/apps-src/user-generation-rust/Cargo.toml create mode 100644 examples/containers/apps-src/user-generation-rust/rust-toolchain.toml create mode 100644 examples/containers/apps-src/user-generation-rust/src/main.rs create mode 100644 examples/containers/apps-src/user-generation-rust/user-generation-rust.toml create mode 100644 examples/containers/apps/root/.wws.toml create mode 100644 examples/containers/apps/root/user-generation-go.toml create mode 100644 examples/containers/apps/root/user-generation-js.js create mode 100644 examples/containers/apps/root/user-generation-js.toml create mode 100644 examples/containers/apps/root/user-generation-python/index.py create mode 100644 examples/containers/apps/root/user-generation-python/index.toml create mode 100644 examples/containers/apps/root/user-generation-python/tmp/file.txt create mode 100644 examples/containers/apps/root/user-generation-ruby/index.rb create mode 100644 examples/containers/apps/root/user-generation-ruby/index.toml create mode 100644 examples/containers/apps/root/user-generation-ruby/tmp/file.txt create mode 100644 examples/containers/apps/root/user-generation-rust.toml create mode 100644 examples/containers/tmp/file.txt create mode 100644 examples/containers/wasm-workers-server/.github/workflows/artifacts.yml create mode 100644 examples/containers/wasm-workers-server/.github/workflows/build.yml create mode 100644 examples/containers/wasm-workers-server/.github/workflows/container-preview.yml create mode 100644 examples/containers/wasm-workers-server/.github/workflows/container-release.yml create mode 100644 examples/containers/wasm-workers-server/.gitignore create mode 100644 examples/containers/wasm-workers-server/CODE_OF_CONDUCT.md create mode 100644 examples/containers/wasm-workers-server/CONTRIBUTING.md create mode 100644 examples/containers/wasm-workers-server/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/LICENSE create mode 100644 examples/containers/wasm-workers-server/Makefile create mode 100644 examples/containers/wasm-workers-server/NOTICE create mode 100644 examples/containers/wasm-workers-server/README.md create mode 100644 examples/containers/wasm-workers-server/crates/api-manage-openapi/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/api-manage-openapi/build.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage-openapi/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage-openapi/src/openapi.json create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/handlers/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/workers.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/models/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/models/worker.rs create mode 100644 examples/containers/wasm-workers-server/crates/api-manage/src/models/worker_config.rs create mode 100644 examples/containers/wasm-workers-server/crates/config/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/config/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/data-kv/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/data-kv/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/data-kv/src/store.rs create mode 100644 examples/containers/wasm-workers-server/crates/panel/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/panel/build.rs create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/.gitignore create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/dist/.gitkeep create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/index.html create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/package.json create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/public/.gitkeep create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/app.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/content.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/content.scss create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/header.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/header.scss create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.scss create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/components/workerCard.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/main.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/main.scss create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/router.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/routes/home.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/routes/worker.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/src/routes/workers.jsx create mode 100644 examples/containers/wasm-workers-server/crates/panel/client/vite.config.js create mode 100644 examples/containers/wasm-workers-server/crates/panel/src/handlers/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/panel/src/handlers/panel.rs create mode 100644 examples/containers/wasm-workers-server/crates/panel/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/project/README.md create mode 100644 examples/containers/wasm-workers-server/crates/project/src/fetch.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/src/metadata.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/src/options.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/src/types/git.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/src/types/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/project/tests/data/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/router/src/files.rs create mode 100644 examples/containers/wasm-workers-server/crates/router/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/router/src/route.rs create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/_home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/_index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/_internal/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/public/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/public.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/index.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/public.js create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/public/home.ext create mode 100644 examples/containers/wasm-workers-server/crates/router/tests/data/files/public/index.js create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/modules/external.rs create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/modules/javascript.rs create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/modules/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/modules/native.rs create mode 100644 examples/containers/wasm-workers-server/crates/runtimes/src/runtime.rs create mode 100644 examples/containers/wasm-workers-server/crates/server/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/server/src/handlers/assets.rs create mode 100644 examples/containers/wasm-workers-server/crates/server/src/handlers/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/server/src/handlers/not_found.rs create mode 100644 examples/containers/wasm-workers-server/crates/server/src/handlers/worker.rs create mode 100644 examples/containers/wasm-workers-server/crates/server/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/store/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/store/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/bindings/http.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/bindings/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/config.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/features/data.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/features/folders.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/features/http_requests.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/features/mod.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/io.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/crates/worker/src/stdio.rs create mode 100644 examples/containers/wasm-workers-server/deny.toml create mode 100644 examples/containers/wasm-workers-server/docs/.gitignore create mode 100644 examples/containers/wasm-workers-server/docs/README.md create mode 100644 examples/containers/wasm-workers-server/docs/babel.config.js create mode 100644 examples/containers/wasm-workers-server/docs/docs/containers.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/_category_.json create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/all.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/dynamic-routes.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/environment-variables.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/http-requests.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/key-value.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/mount-folders.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/multiple-language-runtimes.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/features/static-assets.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/get-started/_category_.json create mode 100644 examples/containers/wasm-workers-server/docs/docs/get-started/how-it-works.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/get-started/introduction.mdx create mode 100644 examples/containers/wasm-workers-server/docs/docs/get-started/quickstart.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/_category_.json create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/go.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/introduction.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/javascript.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/python.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/ruby.md create mode 100644 examples/containers/wasm-workers-server/docs/docs/languages/rust.md create mode 100644 examples/containers/wasm-workers-server/docs/docusaurus.config.js create mode 100644 examples/containers/wasm-workers-server/docs/package-lock.json create mode 100644 examples/containers/wasm-workers-server/docs/package.json create mode 100644 examples/containers/wasm-workers-server/docs/sidebars.js create mode 100644 examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/index.js create mode 100644 examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/styles.module.css create mode 100644 examples/containers/wasm-workers-server/docs/src/css/custom.css create mode 100644 examples/containers/wasm-workers-server/docs/src/pages/diagram.svg create mode 100644 examples/containers/wasm-workers-server/docs/src/pages/index.js create mode 100644 examples/containers/wasm-workers-server/docs/src/pages/index.module.css create mode 100644 examples/containers/wasm-workers-server/docs/static/.nojekyll create mode 100644 examples/containers/wasm-workers-server/docs/static/_redirects create mode 100644 examples/containers/wasm-workers-server/docs/static/img/favicon.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/languages/go.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/languages/js.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/languages/python.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/languages/ruby.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/languages/rust.svg create mode 100644 examples/containers/wasm-workers-server/docs/static/img/logo.svg create mode 100644 examples/containers/wasm-workers-server/examples/Makefile create mode 100644 examples/containers/wasm-workers-server/examples/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-basic/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-basic/go.mod create mode 100644 examples/containers/wasm-workers-server/examples/go-basic/go.sum create mode 100644 examples/containers/wasm-workers-server/examples/go-basic/main.go create mode 100644 examples/containers/wasm-workers-server/examples/go-envs/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-envs/envs.go create mode 100644 examples/containers/wasm-workers-server/examples/go-envs/envs.toml create mode 100644 examples/containers/wasm-workers-server/examples/go-fetch/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-fetch/go.mod create mode 100644 examples/containers/wasm-workers-server/examples/go-fetch/go.sum create mode 100644 examples/containers/wasm-workers-server/examples/go-fetch/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/go-fetch/main.go create mode 100644 examples/containers/wasm-workers-server/examples/go-kv/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-kv/counter.go create mode 100644 examples/containers/wasm-workers-server/examples/go-kv/counter.toml create mode 100644 examples/containers/wasm-workers-server/examples/go-params/README.md create mode 100644 examples/containers/wasm-workers-server/examples/go-params/main.go create mode 100644 examples/containers/wasm-workers-server/examples/go-params/public/main.css create mode 100644 examples/containers/wasm-workers-server/examples/go-params/public/water.min.css create mode 100644 examples/containers/wasm-workers-server/examples/js-async/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-async/index.js create mode 100644 examples/containers/wasm-workers-server/examples/js-basic/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-basic/index.js create mode 100644 examples/containers/wasm-workers-server/examples/js-fetch/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-fetch/index.js create mode 100644 examples/containers/wasm-workers-server/examples/js-fetch/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/js-json/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-json/handler.js create mode 100644 examples/containers/wasm-workers-server/examples/js-json/handler.toml create mode 100644 examples/containers/wasm-workers-server/examples/js-params/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-params/[id].js create mode 100644 examples/containers/wasm-workers-server/examples/js-params/[id]/fixed.js create mode 100644 examples/containers/wasm-workers-server/examples/js-params/fixed.js create mode 100644 examples/containers/wasm-workers-server/examples/js-params/public/main.css create mode 100644 examples/containers/wasm-workers-server/examples/js-params/public/water.min.css create mode 100644 examples/containers/wasm-workers-server/examples/js-params/sub/[id].js create mode 100644 examples/containers/wasm-workers-server/examples/js-redirect/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-redirect/handler.js create mode 100644 examples/containers/wasm-workers-server/examples/js-tictactoe/README.md create mode 100644 examples/containers/wasm-workers-server/examples/js-tictactoe/handler.js create mode 100644 examples/containers/wasm-workers-server/examples/js-tictactoe/handler.toml create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/.gitignore create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/Dockerfile create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/Makefile create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/README.md create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.py create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/_libs/__init__.py create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/_libs/reader.py create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/_libs/tile.py create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/_maps/.keep create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/_maps/map.pmtiles create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/public/css/leaflet.css create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/public/index.html create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/public/js/leaflet.js create mode 100644 examples/containers/wasm-workers-server/examples/protomaps/public/js/protomaps.min.js create mode 100644 examples/containers/wasm-workers-server/examples/python-basic/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-basic/README.md create mode 100644 examples/containers/wasm-workers-server/examples/python-basic/index.py create mode 100644 examples/containers/wasm-workers-server/examples/python-envs/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-envs/README.md create mode 100644 examples/containers/wasm-workers-server/examples/python-envs/envs.py create mode 100644 examples/containers/wasm-workers-server/examples/python-envs/envs.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-kv/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-kv/README.md create mode 100644 examples/containers/wasm-workers-server/examples/python-kv/counter.py create mode 100644 examples/containers/wasm-workers-server/examples/python-kv/counter.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/README.md create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/_libs/.gitignore create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/index.py create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-libs/requirements.txt create mode 100644 examples/containers/wasm-workers-server/examples/python-mount/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/python-mount/README.md create mode 100644 examples/containers/wasm-workers-server/examples/python-mount/_assets/index.html create mode 100644 examples/containers/wasm-workers-server/examples/python-mount/index.py create mode 100644 examples/containers/wasm-workers-server/examples/python-mount/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-basic/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-basic/README.md create mode 100644 examples/containers/wasm-workers-server/examples/ruby-basic/index.rb create mode 100644 examples/containers/wasm-workers-server/examples/ruby-envs/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-envs/README.md create mode 100644 examples/containers/wasm-workers-server/examples/ruby-envs/envs.rb create mode 100644 examples/containers/wasm-workers-server/examples/ruby-envs/envs.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-kv/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-kv/README.md create mode 100644 examples/containers/wasm-workers-server/examples/ruby-kv/counter.rb create mode 100644 examples/containers/wasm-workers-server/examples/ruby-kv/counter.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/.wws.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/README.md create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/_images/ruby.svg create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/image.rb create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/image.toml create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/public/css/styles.css create mode 100644 examples/containers/wasm-workers-server/examples/ruby-mount/public/index.html create mode 100644 examples/containers/wasm-workers-server/examples/rust-basic/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/examples/rust-basic/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-basic/README.md create mode 100644 examples/containers/wasm-workers-server/examples/rust-basic/basic.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-basic/src/main.rs create mode 100644 examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-fetch/README.md create mode 100644 examples/containers/wasm-workers-server/examples/rust-fetch/index.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-fetch/src/main.rs create mode 100644 examples/containers/wasm-workers-server/examples/rust-kv/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/examples/rust-kv/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-kv/README.md create mode 100644 examples/containers/wasm-workers-server/examples/rust-kv/kv.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-kv/src/main.rs create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/README.md create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/public/main.css create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/public/water.min.css create mode 100644 examples/containers/wasm-workers-server/examples/rust-params/src/main.rs create mode 100644 examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.lock create mode 100644 examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/examples/rust-pdf-create/README.md create mode 100644 examples/containers/wasm-workers-server/examples/rust-pdf-create/src/main.rs create mode 100644 examples/containers/wasm-workers-server/go.mod create mode 100644 examples/containers/wasm-workers-server/go.sum create mode 100644 examples/containers/wasm-workers-server/image/Dockerfile create mode 100644 examples/containers/wasm-workers-server/image/Prebuilt.dockerfile create mode 100755 examples/containers/wasm-workers-server/install.sh create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/README.md create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.c create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.go create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.h create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings_types.go create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/doc.go create mode 100644 examples/containers/wasm-workers-server/kits/go/worker/worker.go create mode 100644 examples/containers/wasm-workers-server/kits/javascript/.gitignore create mode 100644 examples/containers/wasm-workers-server/kits/javascript/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/kits/javascript/Makefile create mode 100644 examples/containers/wasm-workers-server/kits/javascript/README.md create mode 100644 examples/containers/wasm-workers-server/kits/javascript/build.rs create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/bindings.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/index.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/package.json create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/types/cache.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/types/headers.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/types/index.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/types/request.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/shims/types/response.js create mode 100644 examples/containers/wasm-workers-server/kits/javascript/src/bindings.rs create mode 100644 examples/containers/wasm-workers-server/kits/javascript/src/error.rs create mode 100644 examples/containers/wasm-workers-server/kits/javascript/src/main.rs create mode 100755 examples/containers/wasm-workers-server/kits/javascript/wasm-workers-quick-js-engine.wasm create mode 100644 examples/containers/wasm-workers-server/kits/rust/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/kits/rust/src/bindings.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/src/cache.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/src/content.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/src/io.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/worker/Cargo.toml create mode 100644 examples/containers/wasm-workers-server/kits/rust/worker/src/args.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/worker/src/expand.rs create mode 100644 examples/containers/wasm-workers-server/kits/rust/worker/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/poly.py create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/wrapper.txt create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/poly.py create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/wrapper.txt create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/poly.rb create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/wrapper.txt create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/poly.rb create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/wrapper.txt create mode 100644 examples/containers/wasm-workers-server/metadata/repository/v1/index.toml create mode 100644 examples/containers/wasm-workers-server/src/commands/main.rs create mode 100644 examples/containers/wasm-workers-server/src/commands/mod.rs create mode 100644 examples/containers/wasm-workers-server/src/commands/runtimes.rs create mode 100644 examples/containers/wasm-workers-server/src/lib.rs create mode 100644 examples/containers/wasm-workers-server/src/main.rs create mode 100644 examples/containers/wasm-workers-server/src/utils/mod.rs create mode 100644 examples/containers/wasm-workers-server/src/utils/options.rs create mode 100644 examples/containers/wasm-workers-server/src/utils/runtimes.rs create mode 100644 examples/containers/wasm-workers-server/tests/data/metadata/repository.toml create mode 100644 examples/containers/wasm-workers-server/tests/data/metadata/runtime.toml create mode 100644 examples/containers/wasm-workers-server/tests/data/params/[id].wasm create mode 100644 examples/containers/wasm-workers-server/tests/data/params/[id]/fixed.wasm create mode 100644 examples/containers/wasm-workers-server/tests/data/params/fixed.wasm create mode 100644 examples/containers/wasm-workers-server/tests/data/params/sub/[id].wasm create mode 100644 examples/containers/wasm-workers-server/tests/data/public/.keep create mode 100644 examples/containers/wasm-workers-server/tests/e2e.rs create mode 100644 examples/containers/wasm-workers-server/wit/core/http-types.wit create mode 100644 examples/containers/wasm-workers-server/wit/core/http.wit create mode 100644 examples/containers/wasm-workers-server/wit/go-ephemeral/http-types.wit create mode 100644 examples/containers/wasm-workers-server/wit/go-ephemeral/http.wit diff --git a/examples/containers/.gitignore b/examples/containers/.gitignore new file mode 100644 index 00000000..3e221292 --- /dev/null +++ b/examples/containers/.gitignore @@ -0,0 +1 @@ +/dist \ No newline at end of file diff --git a/examples/containers/Dockerfile b/examples/containers/Dockerfile new file mode 100644 index 00000000..a96c8c42 --- /dev/null +++ b/examples/containers/Dockerfile @@ -0,0 +1,65 @@ +# syntax=docker/dockerfile:labs + +# Prepare a base layer for building the rust endpoint +FROM --platform=$BUILDPLATFORM rust:1.72.0-alpine AS base +RUN apk add sudo curl musl-dev ca-certificates && \ + curl -fsSL https://workers.wasmlabs.dev/install | sh + +# Rust endpoint: first build, then generate the release layer +FROM base AS build-rust +WORKDIR /src +RUN --mount=type=bind,target=/src,source=./apps-src/user-generation-rust \ + cargo build --release --target-dir /output + +FROM scratch AS release-rust +COPY --from=build-rust /output/wasm32-wasi/release/user-generation-rust.wasm / +COPY ./apps-src/user-generation-rust/user-generation-rust.toml / + +# JS endpoint: no build needed, just generate the release layer +FROM scratch AS release-js +COPY ./apps-src/user-generation-js/ / + +# Ruby endpoint: no build needed, just generate the release layer +FROM scratch AS release-ruby +COPY ./apps-src/user-generation-ruby /user-generation-ruby + +# Python endpoint: no build needed, just generate the release layer +FROM scratch AS release-python +COPY ./apps-src/user-generation-python/ /user-generation-python + +# Go endpoint: first build, then generate the release layer +FROM --platform=$BUILDPLATFORM tinygo/tinygo:0.28.1 AS build-go +WORKDIR /src +RUN --mount=type=bind,target=/src,source=./apps-src/user-generation-go \ + tinygo build \ + -o /home/tinygo/user-generation-go.wasm \ + -no-debug -panic=trap -scheduler=none -gc=leaking \ + -target=wasi . + +FROM scratch AS release-go +COPY --from=build-go /home/tinygo/user-generation-go.wasm / +COPY ./apps-src/user-generation-go/user-generation-go.toml / + +# Wws root: install the required runtimes, then generate the release layer +FROM base AS build-root +WORKDIR /output +RUN wws runtimes install ruby latest +RUN wws runtimes install python latest +COPY ./apps-src/tmp /output/tmp + +FROM scratch AS release-root +COPY --from=build-root /output / + +# Merge all the release layers into one +FROM scratch AS release +COPY --from=release-root / / +COPY --from=release-rust / / +COPY --from=release-js / / +COPY --from=release-ruby / / +COPY --from=release-python / / +COPY --from=release-go / / + +# Copy over te SSL certificates +COPY --from=base /etc/ssl /etc/ssl + +ENTRYPOINT ["/"] diff --git a/examples/containers/Makefile b/examples/containers/Makefile new file mode 100644 index 00000000..0f4d5b42 --- /dev/null +++ b/examples/containers/Makefile @@ -0,0 +1,56 @@ +# Workaround for https://github.com/moby/buildkit/issues/3891 +export BUILDX_NO_DEFAULT_ATTESTATIONS = 1 + +# Build a container image for the demo +.PHONY: image +image: + docker build --platform wasi/wasm --tag=wws-apps:latest . + +# Export the content of the demo image into the ./dist folder +.PHONY: dist +dist: clean + docker build --platform wasi/wasm --output=dist . + +# Run the demo container +.PHONY: run +run: stop image + docker run --rm -d --name docker-wws \ + -p 3000:3000 \ + --runtime=io.containerd.wws.v1 \ + --platform=wasi/wasm \ + wws-apps:latest + @echo "Now you can reach the Wasm Workers Server functions, such as:" + @echo " - curl http://localhost:3000/user-generation-rust" + @echo " - curl http://localhost:3000/user-generation-go" + @echo " - curl http://localhost:3000/user-generation-js" + @echo " - curl http://localhost:3000/user-generation-python" + @echo " - curl http://localhost:3000/user-generation-ruby" + +# Run the demo container using a host mount +.PHONY: run-with-mount +run-with-mount: stop image + docker run --rm -d --name docker-wws \ + -p 3000:3000 \ + --runtime=io.containerd.wws.v1 \ + --platform=wasi/wasm \ + -v $(PWD)/tmp:/tmp \ + wws-apps:latest + @echo "Now you can reach the Wasm Workers Server functions, such as:" + @echo " - curl http://localhost:3000/user-generation-rust" + @echo " - curl http://localhost:3000/user-generation-go" + @echo " - curl http://localhost:3000/user-generation-js" + @echo " - curl http://localhost:3000/user-generation-python" + @echo " - curl http://localhost:3000/user-generation-ruby" + +# Stop the demo contianer +.PHONY: stop +stop: + docker rm -f docker-wws + +# Same as dist +.PHONY: build +build: dist; + +.PHONY: clean +clean: + rm -Rf ./dist diff --git a/examples/containers/README.md b/examples/containers/README.md new file mode 100644 index 00000000..05fa39bb --- /dev/null +++ b/examples/containers/README.md @@ -0,0 +1,61 @@ +# Docker + Wasm + Wasm Workers Server (wws) + +This repo showcases some functions you can write, taking advantage of +Wasm Workers Server, on top of Docker Desktop, thanks to the +[`containerd-wasm-shims`](https://github.com/deislabs/containerd-wasm-shims) project. + +## Build + +Prerequisites for building this project: + +- Docker, with [Docker + Wasm support](https://docs.docker.com/desktop/wasm/) + +In order to build this example, you just have to run on the root of +this project: + +```shell-session +$ make build +``` + +## Running + +Prerequisites for running this project: Docker Desktop 4.23.0 or later. + +You can run the example: + +```shell-session +$ make run +``` + +After that, you can target the different endpoints exposed by the Wasm +Workers Server: + +```shell-session +$ curl -s http://localhost:3000/user-generation-rust | jq +$ curl -s http://localhost:3000/user-generation-go | jq +$ curl -s http://localhost:3000/user-generation-js | jq +$ curl -s http://localhost:3000/user-generation-python | jq +$ curl -s http://localhost:3000/user-generation-ruby | jq +``` + +This example also showcases exposing a directory in the host to the WebAssembly guest. This example can be executed with: + +```shell-session +$ make run-with-mount +``` + +You can reach the same endpoints, but you will notice that the +attribute `.some_file_contents` of the produced JSON in all examples +now is the content of +[tmp/file.txt](tmp/file.txt) +from the host. + +The only worker that is not able to read contents from the filesystem +is the JS one, so you can only check it with the rest: + +```shell-session +$ curl -s http://localhost:3000/user-generation-rust | jq +$ curl -s http://localhost:3000/user-generation-go | jq +$ curl -s http://localhost:3000/user-generation-python | jq +$ curl -s http://localhost:3000/user-generation-ruby | jq +``` diff --git a/examples/containers/apps-src/tmp/file.txt b/examples/containers/apps-src/tmp/file.txt new file mode 100644 index 00000000..1ed65434 --- /dev/null +++ b/examples/containers/apps-src/tmp/file.txt @@ -0,0 +1 @@ +Some contents diff --git a/examples/containers/apps-src/user-generation-go/.gitignore b/examples/containers/apps-src/user-generation-go/.gitignore new file mode 100644 index 00000000..917660a3 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/.gitignore @@ -0,0 +1 @@ +*.wasm \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-go/go.mod b/examples/containers/apps-src/user-generation-go/go.mod new file mode 100644 index 00000000..ef8b51f6 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/go.mod @@ -0,0 +1,12 @@ +module github.com/vmware-labs/docker-wasm + +go 1.20 + +require github.com/vmware-labs/wasm-workers-server v1.4.0 + +require ( + github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect +) diff --git a/examples/containers/apps-src/user-generation-go/go.sum b/examples/containers/apps-src/user-generation-go/go.sum new file mode 100644 index 00000000..44d4ad10 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/go.sum @@ -0,0 +1,12 @@ +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/vmware-labs/wasm-workers-server v1.4.0 h1:dlc0eWc3TdijQ6RxX3Mt5OLPazO/Trmk4mqDt68eDkI= +github.com/vmware-labs/wasm-workers-server v1.4.0/go.mod h1:cigUhoitjUTLsUzR4+q0cz2FymdvJtfrfIS2hYAj69c= diff --git a/examples/containers/apps-src/user-generation-go/main.go b/examples/containers/apps-src/user-generation-go/main.go new file mode 100644 index 00000000..4f357a30 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/main.go @@ -0,0 +1,82 @@ +package main + +import ( + "encoding/json" + "fmt" + "io" + "io/ioutil" + "net/http" + "strconv" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +type User struct { + FirstName string `json:"first_name"` + LastName string `json:"last_name"` + Username string `json:"username"` + Email string `json:"email"` +} + +type ResponseData struct { + User User `json:"user"` + SomeFileContents string `json:"some_file_contents"` + GeneratedUsers uint32 `json:"generated_users"` +} + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + cache, _ := r.Context().Value(worker.CacheKey).(map[string]string) + + // Create the request + req, err := http.NewRequest(http.MethodGet, "https://random-data-api.com/api/v2/users", nil) + if err != nil { + panic(err) + } + + res, err := worker.SendHttpRequest(req) + if err != nil { + panic(err) + } + + // Read the response + resBody, err := io.ReadAll(res.Body) + if err != nil { + panic(err) + } + res.Body.Close() + + user := User{} + err = json.Unmarshal([]byte(resBody), &user) + if err != nil { + panic(err) + } + + fileContents_, err := ioutil.ReadFile("/tmp/file.txt") + if err != nil { + panic(err) + } + fileContents := string(fileContents_) + + generatedUserCount := uint32(1) + if count, ok := cache["generated_users_counter"]; ok { + n, _ := strconv.ParseUint(count, 10, 32) + generatedUserCount = uint32(n) + 1 + } + cache["generated_users_counter"] = fmt.Sprintf("%d", generatedUserCount) + + responseData := ResponseData{ + User: user, + SomeFileContents: fileContents, + GeneratedUsers: generatedUserCount, + } + + marshaledResponseData, err := json.Marshal(responseData) + if err != nil { + panic(err) + } + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(marshaledResponseData)) + }) +} diff --git a/examples/containers/apps-src/user-generation-go/user-generation-go.toml b/examples/containers/apps-src/user-generation-go/user-generation-go.toml new file mode 100644 index 00000000..d8c05b5b --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/user-generation-go.toml @@ -0,0 +1,14 @@ +name = "user-generation-go" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/LICENSE b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/LICENSE new file mode 100644 index 00000000..58f5819a --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2016 Josh Baker + +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. diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/README.md b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/README.md new file mode 100644 index 00000000..c8db11f1 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/README.md @@ -0,0 +1,497 @@ +

+GJSON +
+GoDoc +GJSON Playground +GJSON Syntax + +

+ +

get json values quickly

+ +GJSON is a Go package that provides a [fast](#performance) and [simple](#get-a-value) way to get values from a json document. +It has features such as [one line retrieval](#get-a-value), [dot notation paths](#path-syntax), [iteration](#iterate-through-an-object-or-array), and [parsing json lines](#json-lines). + +Also check out [SJSON](https://github.com/tidwall/sjson) for modifying json, and the [JJ](https://github.com/tidwall/jj) command line tool. + +This README is a quick overview of how to use GJSON, for more information check out [GJSON Syntax](SYNTAX.md). + +GJSON is also available for [Python](https://github.com/volans-/gjson-py) and [Rust](https://github.com/tidwall/gjson.rs) + +Getting Started +=============== + +## Installing + +To start using GJSON, install Go and run `go get`: + +```sh +$ go get -u github.com/tidwall/gjson +``` + +This will retrieve the library. + +## Get a value +Get searches json for the specified path. A path is in dot syntax, such as "name.last" or "age". When the value is found it's returned immediately. + +```go +package main + +import "github.com/tidwall/gjson" + +const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}` + +func main() { + value := gjson.Get(json, "name.last") + println(value.String()) +} +``` + +This will print: + +``` +Prichard +``` +*There's also the [GetMany](#get-multiple-values-at-once) function to get multiple values at once, and [GetBytes](#working-with-bytes) for working with JSON byte slices.* + +## Path Syntax + +Below is a quick overview of the path syntax, for more complete information please +check out [GJSON Syntax](SYNTAX.md). + +A path is a series of keys separated by a dot. +A key may contain special wildcard characters '\*' and '?'. +To access an array value use the index as the key. +To get the number of elements in an array or to access a child path, use the '#' character. +The dot and wildcard characters can be escaped with '\\'. + +```json +{ + "name": {"first": "Tom", "last": "Anderson"}, + "age":37, + "children": ["Sara","Alex","Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]}, + {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]}, + {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]} + ] +} +``` +``` +"name.last" >> "Anderson" +"age" >> 37 +"children" >> ["Sara","Alex","Jack"] +"children.#" >> 3 +"children.1" >> "Alex" +"child*.2" >> "Jack" +"c?ildren.0" >> "Sara" +"fav\.movie" >> "Deer Hunter" +"friends.#.first" >> ["Dale","Roger","Jane"] +"friends.1.last" >> "Craig" +``` + +You can also query an array for the first match by using `#(...)`, or find all +matches with `#(...)#`. Queries support the `==`, `!=`, `<`, `<=`, `>`, `>=` +comparison operators and the simple pattern matching `%` (like) and `!%` +(not like) operators. + +``` +friends.#(last=="Murphy").first >> "Dale" +friends.#(last=="Murphy")#.first >> ["Dale","Jane"] +friends.#(age>45)#.last >> ["Craig","Murphy"] +friends.#(first%"D*").last >> "Murphy" +friends.#(first!%"D*").last >> "Craig" +friends.#(nets.#(=="fb"))#.first >> ["Dale","Roger"] +``` + +*Please note that prior to v1.3.0, queries used the `#[...]` brackets. This was +changed in v1.3.0 as to avoid confusion with the new +[multipath](SYNTAX.md#multipaths) syntax. For backwards compatibility, +`#[...]` will continue to work until the next major release.* + +## Result Type + +GJSON supports the json types `string`, `number`, `bool`, and `null`. +Arrays and Objects are returned as their raw json types. + +The `Result` type holds one of these: + +``` +bool, for JSON booleans +float64, for JSON numbers +string, for JSON string literals +nil, for JSON null +``` + +To directly access the value: + +```go +result.Type // can be String, Number, True, False, Null, or JSON +result.Str // holds the string +result.Num // holds the float64 number +result.Raw // holds the raw json +result.Index // index of raw value in original json, zero means index unknown +result.Indexes // indexes of all the elements that match on a path containing the '#' query character. +``` + +There are a variety of handy functions that work on a result: + +```go +result.Exists() bool +result.Value() interface{} +result.Int() int64 +result.Uint() uint64 +result.Float() float64 +result.String() string +result.Bool() bool +result.Time() time.Time +result.Array() []gjson.Result +result.Map() map[string]gjson.Result +result.Get(path string) Result +result.ForEach(iterator func(key, value Result) bool) +result.Less(token Result, caseSensitive bool) bool +``` + +The `result.Value()` function returns an `interface{}` which requires type assertion and is one of the following Go types: + +```go +boolean >> bool +number >> float64 +string >> string +null >> nil +array >> []interface{} +object >> map[string]interface{} +``` + +The `result.Array()` function returns back an array of values. +If the result represents a non-existent value, then an empty array will be returned. +If the result is not a JSON array, the return value will be an array containing one result. + +### 64-bit integers + +The `result.Int()` and `result.Uint()` calls are capable of reading all 64 bits, allowing for large JSON integers. + +```go +result.Int() int64 // -9223372036854775808 to 9223372036854775807 +result.Uint() uint64 // 0 to 18446744073709551615 +``` + +## Modifiers and path chaining + +New in version 1.2 is support for modifier functions and path chaining. + +A modifier is a path component that performs custom processing on the +json. + +Multiple paths can be "chained" together using the pipe character. +This is useful for getting results from a modified query. + +For example, using the built-in `@reverse` modifier on the above json document, +we'll get `children` array and reverse the order: + +``` +"children|@reverse" >> ["Jack","Alex","Sara"] +"children|@reverse|0" >> "Jack" +``` + +There are currently the following built-in modifiers: + +- `@reverse`: Reverse an array or the members of an object. +- `@ugly`: Remove all whitespace from a json document. +- `@pretty`: Make the json document more human readable. +- `@this`: Returns the current element. It can be used to retrieve the root element. +- `@valid`: Ensure the json document is valid. +- `@flatten`: Flattens an array. +- `@join`: Joins multiple objects into a single object. +- `@keys`: Returns an array of keys for an object. +- `@values`: Returns an array of values for an object. +- `@tostr`: Converts json to a string. Wraps a json string. +- `@fromstr`: Converts a string from json. Unwraps a json string. +- `@group`: Groups arrays of objects. See [e4fc67c](https://github.com/tidwall/gjson/commit/e4fc67c92aeebf2089fabc7872f010e340d105db). + +### Modifier arguments + +A modifier may accept an optional argument. The argument can be a valid JSON +document or just characters. + +For example, the `@pretty` modifier takes a json object as its argument. + +``` +@pretty:{"sortKeys":true} +``` + +Which makes the json pretty and orders all of its keys. + +```json +{ + "age":37, + "children": ["Sara","Alex","Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + {"age": 44, "first": "Dale", "last": "Murphy"}, + {"age": 68, "first": "Roger", "last": "Craig"}, + {"age": 47, "first": "Jane", "last": "Murphy"} + ], + "name": {"first": "Tom", "last": "Anderson"} +} +``` + +*The full list of `@pretty` options are `sortKeys`, `indent`, `prefix`, and `width`. +Please see [Pretty Options](https://github.com/tidwall/pretty#customized-output) for more information.* + +### Custom modifiers + +You can also add custom modifiers. + +For example, here we create a modifier that makes the entire json document upper +or lower case. + +```go +gjson.AddModifier("case", func(json, arg string) string { + if arg == "upper" { + return strings.ToUpper(json) + } + if arg == "lower" { + return strings.ToLower(json) + } + return json +}) +``` + +``` +"children|@case:upper" >> ["SARA","ALEX","JACK"] +"children|@case:lower|@reverse" >> ["jack","alex","sara"] +``` + +## JSON Lines + +There's support for [JSON Lines](http://jsonlines.org/) using the `..` prefix, which treats a multilined document as an array. + +For example: + +``` +{"name": "Gilbert", "age": 61} +{"name": "Alexa", "age": 34} +{"name": "May", "age": 57} +{"name": "Deloise", "age": 44} +``` + +``` +..# >> 4 +..1 >> {"name": "Alexa", "age": 34} +..3 >> {"name": "Deloise", "age": 44} +..#.name >> ["Gilbert","Alexa","May","Deloise"] +..#(name="May").age >> 57 +``` + +The `ForEachLines` function will iterate through JSON lines. + +```go +gjson.ForEachLine(json, func(line gjson.Result) bool{ + println(line.String()) + return true +}) +``` + +## Get nested array values + +Suppose you want all the last names from the following json: + +```json +{ + "programmers": [ + { + "firstName": "Janet", + "lastName": "McLaughlin", + }, { + "firstName": "Elliotte", + "lastName": "Hunter", + }, { + "firstName": "Jason", + "lastName": "Harold", + } + ] +} +``` + +You would use the path "programmers.#.lastName" like such: + +```go +result := gjson.Get(json, "programmers.#.lastName") +for _, name := range result.Array() { + println(name.String()) +} +``` + +You can also query an object inside an array: + +```go +name := gjson.Get(json, `programmers.#(lastName="Hunter").firstName`) +println(name.String()) // prints "Elliotte" +``` + +## Iterate through an object or array + +The `ForEach` function allows for quickly iterating through an object or array. +The key and value are passed to the iterator function for objects. +Only the value is passed for arrays. +Returning `false` from an iterator will stop iteration. + +```go +result := gjson.Get(json, "programmers") +result.ForEach(func(key, value gjson.Result) bool { + println(value.String()) + return true // keep iterating +}) +``` + +## Simple Parse and Get + +There's a `Parse(json)` function that will do a simple parse, and `result.Get(path)` that will search a result. + +For example, all of these will return the same result: + +```go +gjson.Parse(json).Get("name").Get("last") +gjson.Get(json, "name").Get("last") +gjson.Get(json, "name.last") +``` + +## Check for the existence of a value + +Sometimes you just want to know if a value exists. + +```go +value := gjson.Get(json, "name.last") +if !value.Exists() { + println("no last name") +} else { + println(value.String()) +} + +// Or as one step +if gjson.Get(json, "name.last").Exists() { + println("has a last name") +} +``` + +## Validate JSON + +The `Get*` and `Parse*` functions expects that the json is well-formed. Bad json will not panic, but it may return back unexpected results. + +If you are consuming JSON from an unpredictable source then you may want to validate prior to using GJSON. + +```go +if !gjson.Valid(json) { + return errors.New("invalid json") +} +value := gjson.Get(json, "name.last") +``` + +## Unmarshal to a map + +To unmarshal to a `map[string]interface{}`: + +```go +m, ok := gjson.Parse(json).Value().(map[string]interface{}) +if !ok { + // not a map +} +``` + +## Working with Bytes + +If your JSON is contained in a `[]byte` slice, there's the [GetBytes](https://godoc.org/github.com/tidwall/gjson#GetBytes) function. This is preferred over `Get(string(data), path)`. + +```go +var json []byte = ... +result := gjson.GetBytes(json, path) +``` + +If you are using the `gjson.GetBytes(json, path)` function and you want to avoid converting `result.Raw` to a `[]byte`, then you can use this pattern: + +```go +var json []byte = ... +result := gjson.GetBytes(json, path) +var raw []byte +if result.Index > 0 { + raw = json[result.Index:result.Index+len(result.Raw)] +} else { + raw = []byte(result.Raw) +} +``` + +This is a best-effort no allocation sub slice of the original json. This method utilizes the `result.Index` field, which is the position of the raw data in the original json. It's possible that the value of `result.Index` equals zero, in which case the `result.Raw` is converted to a `[]byte`. + +## Get multiple values at once + +The `GetMany` function can be used to get multiple values at the same time. + +```go +results := gjson.GetMany(json, "name.first", "name.last", "age") +``` + +The return value is a `[]Result`, which will always contain exactly the same number of items as the input paths. + +## Performance + +Benchmarks of GJSON alongside [encoding/json](https://golang.org/pkg/encoding/json/), +[ffjson](https://github.com/pquerna/ffjson), +[EasyJSON](https://github.com/mailru/easyjson), +[jsonparser](https://github.com/buger/jsonparser), +and [json-iterator](https://github.com/json-iterator/go) + +``` +BenchmarkGJSONGet-16 11644512 311 ns/op 0 B/op 0 allocs/op +BenchmarkGJSONUnmarshalMap-16 1122678 3094 ns/op 1920 B/op 26 allocs/op +BenchmarkJSONUnmarshalMap-16 516681 6810 ns/op 2944 B/op 69 allocs/op +BenchmarkJSONUnmarshalStruct-16 697053 5400 ns/op 928 B/op 13 allocs/op +BenchmarkJSONDecoder-16 330450 10217 ns/op 3845 B/op 160 allocs/op +BenchmarkFFJSONLexer-16 1424979 2585 ns/op 880 B/op 8 allocs/op +BenchmarkEasyJSONLexer-16 3000000 729 ns/op 501 B/op 5 allocs/op +BenchmarkJSONParserGet-16 3000000 366 ns/op 21 B/op 0 allocs/op +BenchmarkJSONIterator-16 3000000 869 ns/op 693 B/op 14 allocs/op +``` + +JSON document used: + +```json +{ + "widget": { + "debug": "on", + "window": { + "title": "Sample Konfabulator Widget", + "name": "main_window", + "width": 500, + "height": 500 + }, + "image": { + "src": "Images/Sun.png", + "hOffset": 250, + "vOffset": 250, + "alignment": "center" + }, + "text": { + "data": "Click Here", + "size": 36, + "style": "bold", + "vOffset": 100, + "alignment": "center", + "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" + } + } +} +``` + +Each operation was rotated through one of the following search paths: + +``` +widget.window.name +widget.image.hOffset +widget.text.onMouseUp +``` + +*These benchmarks were run on a MacBook Pro 16" 2.4 GHz Intel Core i9 using Go 1.17 and can be found [here](https://github.com/tidwall/gjson-benchmarks).* diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/SYNTAX.md b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/SYNTAX.md new file mode 100644 index 00000000..7a9b6a2d --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/SYNTAX.md @@ -0,0 +1,342 @@ +# GJSON Path Syntax + +A GJSON Path is a text string syntax that describes a search pattern for quickly retreiving values from a JSON payload. + +This document is designed to explain the structure of a GJSON Path through examples. + +- [Path structure](#path-structure) +- [Basic](#basic) +- [Wildcards](#wildcards) +- [Escape Character](#escape-character) +- [Arrays](#arrays) +- [Queries](#queries) +- [Dot vs Pipe](#dot-vs-pipe) +- [Modifiers](#modifiers) +- [Multipaths](#multipaths) +- [Literals](#literals) + +The definitive implemenation is [github.com/tidwall/gjson](https://github.com/tidwall/gjson). +Use the [GJSON Playground](https://gjson.dev) to experiment with the syntax online. + +## Path structure + +A GJSON Path is intended to be easily expressed as a series of components seperated by a `.` character. + +Along with `.` character, there are a few more that have special meaning, including `|`, `#`, `@`, `\`, `*`, `!`, and `?`. + +## Example + +Given this JSON + +```json +{ + "name": {"first": "Tom", "last": "Anderson"}, + "age":37, + "children": ["Sara","Alex","Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]}, + {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]}, + {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]} + ] +} +``` + +The following GJSON Paths evaluate to the accompanying values. + +### Basic + +In many cases you'll just want to retreive values by object name or array index. + +```go +name.last "Anderson" +name.first "Tom" +age 37 +children ["Sara","Alex","Jack"] +children.0 "Sara" +children.1 "Alex" +friends.1 {"first": "Roger", "last": "Craig", "age": 68} +friends.1.first "Roger" +``` + +### Wildcards + +A key may contain the special wildcard characters `*` and `?`. +The `*` will match on any zero+ characters, and `?` matches on any one character. + +```go +child*.2 "Jack" +c?ildren.0 "Sara" +``` + +### Escape character + +Special purpose characters, such as `.`, `*`, and `?` can be escaped with `\`. + +```go +fav\.movie "Deer Hunter" +``` + +You'll also need to make sure that the `\` character is correctly escaped when hardcoding a path in your source code. + +```go +// Go +val := gjson.Get(json, "fav\\.movie") // must escape the slash +val := gjson.Get(json, `fav\.movie`) // no need to escape the slash +``` + +```rust +// Rust +let val = gjson::get(json, "fav\\.movie") // must escape the slash +let val = gjson::get(json, r#"fav\.movie"#) // no need to escape the slash +``` + + +### Arrays + +The `#` character allows for digging into JSON Arrays. + +To get the length of an array you'll just use the `#` all by itself. + +```go +friends.# 3 +friends.#.age [44,68,47] +``` + +### Queries + +You can also query an array for the first match by using `#(...)`, or find all matches with `#(...)#`. +Queries support the `==`, `!=`, `<`, `<=`, `>`, `>=` comparison operators, +and the simple pattern matching `%` (like) and `!%` (not like) operators. + +```go +friends.#(last=="Murphy").first "Dale" +friends.#(last=="Murphy")#.first ["Dale","Jane"] +friends.#(age>45)#.last ["Craig","Murphy"] +friends.#(first%"D*").last "Murphy" +friends.#(first!%"D*").last "Craig" +``` + +To query for a non-object value in an array, you can forgo the string to the right of the operator. + +```go +children.#(!%"*a*") "Alex" +children.#(%"*a*")# ["Sara","Jack"] +``` + +Nested queries are allowed. + +```go +friends.#(nets.#(=="fb"))#.first >> ["Dale","Roger"] +``` + +*Please note that prior to v1.3.0, queries used the `#[...]` brackets. This was +changed in v1.3.0 as to avoid confusion with the new [multipath](#multipaths) +syntax. For backwards compatibility, `#[...]` will continue to work until the +next major release.* + +The `~` (tilde) operator will convert a value to a boolean before comparison. + +For example, using the following JSON: + +```json +{ + "vals": [ + { "a": 1, "b": true }, + { "a": 2, "b": true }, + { "a": 3, "b": false }, + { "a": 4, "b": "0" }, + { "a": 5, "b": 0 }, + { "a": 6, "b": "1" }, + { "a": 7, "b": 1 }, + { "a": 8, "b": "true" }, + { "a": 9, "b": false }, + { "a": 10, "b": null }, + { "a": 11 } + ] +} +``` + +You can now query for all true(ish) or false(ish) values: + +``` +vals.#(b==~true)#.a >> [1,2,6,7,8] +vals.#(b==~false)#.a >> [3,4,5,9,10,11] +``` + +The last value which was non-existent is treated as `false` + +### Dot vs Pipe + +The `.` is standard separator, but it's also possible to use a `|`. +In most cases they both end up returning the same results. +The cases where`|` differs from `.` is when it's used after the `#` for [Arrays](#arrays) and [Queries](#queries). + +Here are some examples + +```go +friends.0.first "Dale" +friends|0.first "Dale" +friends.0|first "Dale" +friends|0|first "Dale" +friends|# 3 +friends.# 3 +friends.#(last="Murphy")# [{"first": "Dale", "last": "Murphy", "age": 44},{"first": "Jane", "last": "Murphy", "age": 47}] +friends.#(last="Murphy")#.first ["Dale","Jane"] +friends.#(last="Murphy")#|first +friends.#(last="Murphy")#.0 [] +friends.#(last="Murphy")#|0 {"first": "Dale", "last": "Murphy", "age": 44} +friends.#(last="Murphy")#.# [] +friends.#(last="Murphy")#|# 2 +``` + +Let's break down a few of these. + +The path `friends.#(last="Murphy")#` all by itself results in + +```json +[{"first": "Dale", "last": "Murphy", "age": 44},{"first": "Jane", "last": "Murphy", "age": 47}] +``` + +The `.first` suffix will process the `first` path on each array element *before* returning the results. Which becomes + +```json +["Dale","Jane"] +``` + +But the `|first` suffix actually processes the `first` path *after* the previous result. +Since the previous result is an array, not an object, it's not possible to process +because `first` does not exist. + +Yet, `|0` suffix returns + +```json +{"first": "Dale", "last": "Murphy", "age": 44} +``` + +Because `0` is the first index of the previous result. + +### Modifiers + +A modifier is a path component that performs custom processing on the JSON. + +For example, using the built-in `@reverse` modifier on the above JSON payload will reverse the `children` array: + +```go +children.@reverse ["Jack","Alex","Sara"] +children.@reverse.0 "Jack" +``` + +There are currently the following built-in modifiers: + +- `@reverse`: Reverse an array or the members of an object. +- `@ugly`: Remove all whitespace from JSON. +- `@pretty`: Make the JSON more human readable. +- `@this`: Returns the current element. It can be used to retrieve the root element. +- `@valid`: Ensure the json document is valid. +- `@flatten`: Flattens an array. +- `@join`: Joins multiple objects into a single object. +- `@keys`: Returns an array of keys for an object. +- `@values`: Returns an array of values for an object. +- `@tostr`: Converts json to a string. Wraps a json string. +- `@fromstr`: Converts a string from json. Unwraps a json string. +- `@group`: Groups arrays of objects. See [e4fc67c](https://github.com/tidwall/gjson/commit/e4fc67c92aeebf2089fabc7872f010e340d105db). + +#### Modifier arguments + +A modifier may accept an optional argument. The argument can be a valid JSON payload or just characters. + +For example, the `@pretty` modifier takes a json object as its argument. + +``` +@pretty:{"sortKeys":true} +``` + +Which makes the json pretty and orders all of its keys. + +```json +{ + "age":37, + "children": ["Sara","Alex","Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + {"age": 44, "first": "Dale", "last": "Murphy"}, + {"age": 68, "first": "Roger", "last": "Craig"}, + {"age": 47, "first": "Jane", "last": "Murphy"} + ], + "name": {"first": "Tom", "last": "Anderson"} +} +``` + +*The full list of `@pretty` options are `sortKeys`, `indent`, `prefix`, and `width`. +Please see [Pretty Options](https://github.com/tidwall/pretty#customized-output) for more information.* + +#### Custom modifiers + +You can also add custom modifiers. + +For example, here we create a modifier which makes the entire JSON payload upper or lower case. + +```go +gjson.AddModifier("case", func(json, arg string) string { + if arg == "upper" { + return strings.ToUpper(json) + } + if arg == "lower" { + return strings.ToLower(json) + } + return json +}) +"children.@case:upper" ["SARA","ALEX","JACK"] +"children.@case:lower.@reverse" ["jack","alex","sara"] +``` + +*Note: Custom modifiers are not yet available in the Rust version* + +### Multipaths + +Starting with v1.3.0, GJSON added the ability to join multiple paths together +to form new documents. Wrapping comma-separated paths between `[...]` or +`{...}` will result in a new array or object, respectively. + +For example, using the given multipath: + +``` +{name.first,age,"the_murphys":friends.#(last="Murphy")#.first} +``` + +Here we selected the first name, age, and the first name for friends with the +last name "Murphy". + +You'll notice that an optional key can be provided, in this case +"the_murphys", to force assign a key to a value. Otherwise, the name of the +actual field will be used, in this case "first". If a name cannot be +determined, then "_" is used. + +This results in + +```json +{"first":"Tom","age":37,"the_murphys":["Dale","Jane"]} +``` + +### Literals + +Starting with v1.12.0, GJSON added support of json literals, which provides a way for constructing static blocks of json. This is can be particularly useful when constructing a new json document using [multipaths](#multipaths). + +A json literal begins with the '!' declaration character. + +For example, using the given multipath: + +``` +{name.first,age,"company":!"Happysoft","employed":!true} +``` + +Here we selected the first name and age. Then add two new fields, "company" and "employed". + +This results in + +```json +{"first":"Tom","age":37,"company":"Happysoft","employed":true} +``` + +*See issue [#249](https://github.com/tidwall/gjson/issues/249) for additional context on JSON Literals.* diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/gjson.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/gjson.go new file mode 100644 index 00000000..53cbd236 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/gjson.go @@ -0,0 +1,3359 @@ +// Package gjson provides searching for json strings. +package gjson + +import ( + "strconv" + "strings" + "time" + "unicode/utf16" + "unicode/utf8" + "unsafe" + + "github.com/tidwall/match" + "github.com/tidwall/pretty" +) + +// Type is Result type +type Type int + +const ( + // Null is a null json value + Null Type = iota + // False is a json false boolean + False + // Number is json number + Number + // String is a json string + String + // True is a json true boolean + True + // JSON is a raw block of JSON + JSON +) + +// String returns a string representation of the type. +func (t Type) String() string { + switch t { + default: + return "" + case Null: + return "Null" + case False: + return "False" + case Number: + return "Number" + case String: + return "String" + case True: + return "True" + case JSON: + return "JSON" + } +} + +// Result represents a json value that is returned from Get(). +type Result struct { + // Type is the json type + Type Type + // Raw is the raw json + Raw string + // Str is the json string + Str string + // Num is the json number + Num float64 + // Index of raw value in original json, zero means index unknown + Index int + // Indexes of all the elements that match on a path containing the '#' + // query character. + Indexes []int +} + +// String returns a string representation of the value. +func (t Result) String() string { + switch t.Type { + default: + return "" + case False: + return "false" + case Number: + if len(t.Raw) == 0 { + // calculated result + return strconv.FormatFloat(t.Num, 'f', -1, 64) + } + var i int + if t.Raw[0] == '-' { + i++ + } + for ; i < len(t.Raw); i++ { + if t.Raw[i] < '0' || t.Raw[i] > '9' { + return strconv.FormatFloat(t.Num, 'f', -1, 64) + } + } + return t.Raw + case String: + return t.Str + case JSON: + return t.Raw + case True: + return "true" + } +} + +// Bool returns an boolean representation. +func (t Result) Bool() bool { + switch t.Type { + default: + return false + case True: + return true + case String: + b, _ := strconv.ParseBool(strings.ToLower(t.Str)) + return b + case Number: + return t.Num != 0 + } +} + +// Int returns an integer representation. +func (t Result) Int() int64 { + switch t.Type { + default: + return 0 + case True: + return 1 + case String: + n, _ := parseInt(t.Str) + return n + case Number: + // try to directly convert the float64 to int64 + i, ok := safeInt(t.Num) + if ok { + return i + } + // now try to parse the raw string + i, ok = parseInt(t.Raw) + if ok { + return i + } + // fallback to a standard conversion + return int64(t.Num) + } +} + +// Uint returns an unsigned integer representation. +func (t Result) Uint() uint64 { + switch t.Type { + default: + return 0 + case True: + return 1 + case String: + n, _ := parseUint(t.Str) + return n + case Number: + // try to directly convert the float64 to uint64 + i, ok := safeInt(t.Num) + if ok && i >= 0 { + return uint64(i) + } + // now try to parse the raw string + u, ok := parseUint(t.Raw) + if ok { + return u + } + // fallback to a standard conversion + return uint64(t.Num) + } +} + +// Float returns an float64 representation. +func (t Result) Float() float64 { + switch t.Type { + default: + return 0 + case True: + return 1 + case String: + n, _ := strconv.ParseFloat(t.Str, 64) + return n + case Number: + return t.Num + } +} + +// Time returns a time.Time representation. +func (t Result) Time() time.Time { + res, _ := time.Parse(time.RFC3339, t.String()) + return res +} + +// Array returns back an array of values. +// If the result represents a null value or is non-existent, then an empty +// array will be returned. +// If the result is not a JSON array, the return value will be an +// array containing one result. +func (t Result) Array() []Result { + if t.Type == Null { + return []Result{} + } + if !t.IsArray() { + return []Result{t} + } + r := t.arrayOrMap('[', false) + return r.a +} + +// IsObject returns true if the result value is a JSON object. +func (t Result) IsObject() bool { + return t.Type == JSON && len(t.Raw) > 0 && t.Raw[0] == '{' +} + +// IsArray returns true if the result value is a JSON array. +func (t Result) IsArray() bool { + return t.Type == JSON && len(t.Raw) > 0 && t.Raw[0] == '[' +} + +// IsBool returns true if the result value is a JSON boolean. +func (t Result) IsBool() bool { + return t.Type == True || t.Type == False +} + +// ForEach iterates through values. +// If the result represents a non-existent value, then no values will be +// iterated. If the result is an Object, the iterator will pass the key and +// value of each item. If the result is an Array, the iterator will only pass +// the value of each item. If the result is not a JSON array or object, the +// iterator will pass back one value equal to the result. +func (t Result) ForEach(iterator func(key, value Result) bool) { + if !t.Exists() { + return + } + if t.Type != JSON { + iterator(Result{}, t) + return + } + json := t.Raw + var obj bool + var i int + var key, value Result + for ; i < len(json); i++ { + if json[i] == '{' { + i++ + key.Type = String + obj = true + break + } else if json[i] == '[' { + i++ + key.Type = Number + key.Num = -1 + break + } + if json[i] > ' ' { + return + } + } + var str string + var vesc bool + var ok bool + var idx int + for ; i < len(json); i++ { + if obj { + if json[i] != '"' { + continue + } + s := i + i, str, vesc, ok = parseString(json, i+1) + if !ok { + return + } + if vesc { + key.Str = unescape(str[1 : len(str)-1]) + } else { + key.Str = str[1 : len(str)-1] + } + key.Raw = str + key.Index = s + t.Index + } else { + key.Num += 1 + } + for ; i < len(json); i++ { + if json[i] <= ' ' || json[i] == ',' || json[i] == ':' { + continue + } + break + } + s := i + i, value, ok = parseAny(json, i, true) + if !ok { + return + } + if t.Indexes != nil { + if idx < len(t.Indexes) { + value.Index = t.Indexes[idx] + } + } else { + value.Index = s + t.Index + } + if !iterator(key, value) { + return + } + idx++ + } +} + +// Map returns back a map of values. The result should be a JSON object. +// If the result is not a JSON object, the return value will be an empty map. +func (t Result) Map() map[string]Result { + if t.Type != JSON { + return map[string]Result{} + } + r := t.arrayOrMap('{', false) + return r.o +} + +// Get searches result for the specified path. +// The result should be a JSON array or object. +func (t Result) Get(path string) Result { + r := Get(t.Raw, path) + if r.Indexes != nil { + for i := 0; i < len(r.Indexes); i++ { + r.Indexes[i] += t.Index + } + } else { + r.Index += t.Index + } + return r +} + +type arrayOrMapResult struct { + a []Result + ai []interface{} + o map[string]Result + oi map[string]interface{} + vc byte +} + +func (t Result) arrayOrMap(vc byte, valueize bool) (r arrayOrMapResult) { + var json = t.Raw + var i int + var value Result + var count int + var key Result + if vc == 0 { + for ; i < len(json); i++ { + if json[i] == '{' || json[i] == '[' { + r.vc = json[i] + i++ + break + } + if json[i] > ' ' { + goto end + } + } + } else { + for ; i < len(json); i++ { + if json[i] == vc { + i++ + break + } + if json[i] > ' ' { + goto end + } + } + r.vc = vc + } + if r.vc == '{' { + if valueize { + r.oi = make(map[string]interface{}) + } else { + r.o = make(map[string]Result) + } + } else { + if valueize { + r.ai = make([]interface{}, 0) + } else { + r.a = make([]Result, 0) + } + } + for ; i < len(json); i++ { + if json[i] <= ' ' { + continue + } + // get next value + if json[i] == ']' || json[i] == '}' { + break + } + switch json[i] { + default: + if (json[i] >= '0' && json[i] <= '9') || json[i] == '-' { + value.Type = Number + value.Raw, value.Num = tonum(json[i:]) + value.Str = "" + } else { + continue + } + case '{', '[': + value.Type = JSON + value.Raw = squash(json[i:]) + value.Str, value.Num = "", 0 + case 'n': + value.Type = Null + value.Raw = tolit(json[i:]) + value.Str, value.Num = "", 0 + case 't': + value.Type = True + value.Raw = tolit(json[i:]) + value.Str, value.Num = "", 0 + case 'f': + value.Type = False + value.Raw = tolit(json[i:]) + value.Str, value.Num = "", 0 + case '"': + value.Type = String + value.Raw, value.Str = tostr(json[i:]) + value.Num = 0 + } + value.Index = i + t.Index + + i += len(value.Raw) - 1 + + if r.vc == '{' { + if count%2 == 0 { + key = value + } else { + if valueize { + if _, ok := r.oi[key.Str]; !ok { + r.oi[key.Str] = value.Value() + } + } else { + if _, ok := r.o[key.Str]; !ok { + r.o[key.Str] = value + } + } + } + count++ + } else { + if valueize { + r.ai = append(r.ai, value.Value()) + } else { + r.a = append(r.a, value) + } + } + } +end: + if t.Indexes != nil { + if len(t.Indexes) != len(r.a) { + for i := 0; i < len(r.a); i++ { + r.a[i].Index = 0 + } + } else { + for i := 0; i < len(r.a); i++ { + r.a[i].Index = t.Indexes[i] + } + } + } + return +} + +// Parse parses the json and returns a result. +// +// This function expects that the json is well-formed, and does not validate. +// Invalid json will not panic, but it may return back unexpected results. +// If you are consuming JSON from an unpredictable source then you may want to +// use the Valid function first. +func Parse(json string) Result { + var value Result + i := 0 + for ; i < len(json); i++ { + if json[i] == '{' || json[i] == '[' { + value.Type = JSON + value.Raw = json[i:] // just take the entire raw + break + } + if json[i] <= ' ' { + continue + } + switch json[i] { + case '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'i', 'I', 'N': + value.Type = Number + value.Raw, value.Num = tonum(json[i:]) + case 'n': + if i+1 < len(json) && json[i+1] != 'u' { + // nan + value.Type = Number + value.Raw, value.Num = tonum(json[i:]) + } else { + // null + value.Type = Null + value.Raw = tolit(json[i:]) + } + case 't': + value.Type = True + value.Raw = tolit(json[i:]) + case 'f': + value.Type = False + value.Raw = tolit(json[i:]) + case '"': + value.Type = String + value.Raw, value.Str = tostr(json[i:]) + default: + return Result{} + } + break + } + if value.Exists() { + value.Index = i + } + return value +} + +// ParseBytes parses the json and returns a result. +// If working with bytes, this method preferred over Parse(string(data)) +func ParseBytes(json []byte) Result { + return Parse(string(json)) +} + +func squash(json string) string { + // expects that the lead character is a '[' or '{' or '(' or '"' + // squash the value, ignoring all nested arrays and objects. + var i, depth int + if json[0] != '"' { + i, depth = 1, 1 + } + for ; i < len(json); i++ { + if json[i] >= '"' && json[i] <= '}' { + switch json[i] { + case '"': + i++ + s2 := i + for ; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + // look for an escaped slash + if json[i-1] == '\\' { + n := 0 + for j := i - 2; j > s2-1; j-- { + if json[j] != '\\' { + break + } + n++ + } + if n%2 == 0 { + continue + } + } + break + } + } + if depth == 0 { + if i >= len(json) { + return json + } + return json[:i+1] + } + case '{', '[', '(': + depth++ + case '}', ']', ')': + depth-- + if depth == 0 { + return json[:i+1] + } + } + } + } + return json +} + +func tonum(json string) (raw string, num float64) { + for i := 1; i < len(json); i++ { + // less than dash might have valid characters + if json[i] <= '-' { + if json[i] <= ' ' || json[i] == ',' { + // break on whitespace and comma + raw = json[:i] + num, _ = strconv.ParseFloat(raw, 64) + return + } + // could be a '+' or '-'. let's assume so. + } else if json[i] == ']' || json[i] == '}' { + // break on ']' or '}' + raw = json[:i] + num, _ = strconv.ParseFloat(raw, 64) + return + } + } + raw = json + num, _ = strconv.ParseFloat(raw, 64) + return +} + +func tolit(json string) (raw string) { + for i := 1; i < len(json); i++ { + if json[i] < 'a' || json[i] > 'z' { + return json[:i] + } + } + return json +} + +func tostr(json string) (raw string, str string) { + // expects that the lead character is a '"' + for i := 1; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + return json[:i+1], json[1:i] + } + if json[i] == '\\' { + i++ + for ; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + // look for an escaped slash + if json[i-1] == '\\' { + n := 0 + for j := i - 2; j > 0; j-- { + if json[j] != '\\' { + break + } + n++ + } + if n%2 == 0 { + continue + } + } + return json[:i+1], unescape(json[1:i]) + } + } + var ret string + if i+1 < len(json) { + ret = json[:i+1] + } else { + ret = json[:i] + } + return ret, unescape(json[1:i]) + } + } + return json, json[1:] +} + +// Exists returns true if value exists. +// +// if gjson.Get(json, "name.last").Exists(){ +// println("value exists") +// } +func (t Result) Exists() bool { + return t.Type != Null || len(t.Raw) != 0 +} + +// Value returns one of these types: +// +// bool, for JSON booleans +// float64, for JSON numbers +// Number, for JSON numbers +// string, for JSON string literals +// nil, for JSON null +// map[string]interface{}, for JSON objects +// []interface{}, for JSON arrays +// +func (t Result) Value() interface{} { + if t.Type == String { + return t.Str + } + switch t.Type { + default: + return nil + case False: + return false + case Number: + return t.Num + case JSON: + r := t.arrayOrMap(0, true) + if r.vc == '{' { + return r.oi + } else if r.vc == '[' { + return r.ai + } + return nil + case True: + return true + } +} + +func parseString(json string, i int) (int, string, bool, bool) { + var s = i + for ; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + return i + 1, json[s-1 : i+1], false, true + } + if json[i] == '\\' { + i++ + for ; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + // look for an escaped slash + if json[i-1] == '\\' { + n := 0 + for j := i - 2; j > 0; j-- { + if json[j] != '\\' { + break + } + n++ + } + if n%2 == 0 { + continue + } + } + return i + 1, json[s-1 : i+1], true, true + } + } + break + } + } + return i, json[s-1:], false, false +} + +func parseNumber(json string, i int) (int, string) { + var s = i + i++ + for ; i < len(json); i++ { + if json[i] <= ' ' || json[i] == ',' || json[i] == ']' || + json[i] == '}' { + return i, json[s:i] + } + } + return i, json[s:] +} + +func parseLiteral(json string, i int) (int, string) { + var s = i + i++ + for ; i < len(json); i++ { + if json[i] < 'a' || json[i] > 'z' { + return i, json[s:i] + } + } + return i, json[s:] +} + +type arrayPathResult struct { + part string + path string + pipe string + piped bool + more bool + alogok bool + arrch bool + alogkey string + query struct { + on bool + all bool + path string + op string + value string + } +} + +func parseArrayPath(path string) (r arrayPathResult) { + for i := 0; i < len(path); i++ { + if path[i] == '|' { + r.part = path[:i] + r.pipe = path[i+1:] + r.piped = true + return + } + if path[i] == '.' { + r.part = path[:i] + if !r.arrch && i < len(path)-1 && isDotPiperChar(path[i+1:]) { + r.pipe = path[i+1:] + r.piped = true + } else { + r.path = path[i+1:] + r.more = true + } + return + } + if path[i] == '#' { + r.arrch = true + if i == 0 && len(path) > 1 { + if path[1] == '.' { + r.alogok = true + r.alogkey = path[2:] + r.path = path[:1] + } else if path[1] == '[' || path[1] == '(' { + // query + r.query.on = true + qpath, op, value, _, fi, vesc, ok := + parseQuery(path[i:]) + if !ok { + // bad query, end now + break + } + if len(value) >= 2 && value[0] == '"' && + value[len(value)-1] == '"' { + value = value[1 : len(value)-1] + if vesc { + value = unescape(value) + } + } + r.query.path = qpath + r.query.op = op + r.query.value = value + + i = fi - 1 + if i+1 < len(path) && path[i+1] == '#' { + r.query.all = true + } + } + } + continue + } + } + r.part = path + r.path = "" + return +} + +// splitQuery takes a query and splits it into three parts: +// path, op, middle, and right. +// So for this query: +// #(first_name=="Murphy").last +// Becomes +// first_name # path +// =="Murphy" # middle +// .last # right +// Or, +// #(service_roles.#(=="one")).cap +// Becomes +// service_roles.#(=="one") # path +// # middle +// .cap # right +func parseQuery(query string) ( + path, op, value, remain string, i int, vesc, ok bool, +) { + if len(query) < 2 || query[0] != '#' || + (query[1] != '(' && query[1] != '[') { + return "", "", "", "", i, false, false + } + i = 2 + j := 0 // start of value part + depth := 1 + for ; i < len(query); i++ { + if depth == 1 && j == 0 { + switch query[i] { + case '!', '=', '<', '>', '%': + // start of the value part + j = i + continue + } + } + if query[i] == '\\' { + i++ + } else if query[i] == '[' || query[i] == '(' { + depth++ + } else if query[i] == ']' || query[i] == ')' { + depth-- + if depth == 0 { + break + } + } else if query[i] == '"' { + // inside selector string, balance quotes + i++ + for ; i < len(query); i++ { + if query[i] == '\\' { + vesc = true + i++ + } else if query[i] == '"' { + break + } + } + } + } + if depth > 0 { + return "", "", "", "", i, false, false + } + if j > 0 { + path = trim(query[2:j]) + value = trim(query[j:i]) + remain = query[i+1:] + // parse the compare op from the value + var opsz int + switch { + case len(value) == 1: + opsz = 1 + case value[0] == '!' && value[1] == '=': + opsz = 2 + case value[0] == '!' && value[1] == '%': + opsz = 2 + case value[0] == '<' && value[1] == '=': + opsz = 2 + case value[0] == '>' && value[1] == '=': + opsz = 2 + case value[0] == '=' && value[1] == '=': + value = value[1:] + opsz = 1 + case value[0] == '<': + opsz = 1 + case value[0] == '>': + opsz = 1 + case value[0] == '=': + opsz = 1 + case value[0] == '%': + opsz = 1 + } + op = value[:opsz] + value = trim(value[opsz:]) + } else { + path = trim(query[2:i]) + remain = query[i+1:] + } + return path, op, value, remain, i + 1, vesc, true +} + +func trim(s string) string { +left: + if len(s) > 0 && s[0] <= ' ' { + s = s[1:] + goto left + } +right: + if len(s) > 0 && s[len(s)-1] <= ' ' { + s = s[:len(s)-1] + goto right + } + return s +} + +// peek at the next byte and see if it's a '@', '[', or '{'. +func isDotPiperChar(s string) bool { + if DisableModifiers { + return false + } + c := s[0] + if c == '@' { + // check that the next component is *not* a modifier. + i := 1 + for ; i < len(s); i++ { + if s[i] == '.' || s[i] == '|' || s[i] == ':' { + break + } + } + _, ok := modifiers[s[1:i]] + return ok + } + return c == '[' || c == '{' +} + +type objectPathResult struct { + part string + path string + pipe string + piped bool + wild bool + more bool +} + +func parseObjectPath(path string) (r objectPathResult) { + for i := 0; i < len(path); i++ { + if path[i] == '|' { + r.part = path[:i] + r.pipe = path[i+1:] + r.piped = true + return + } + if path[i] == '.' { + r.part = path[:i] + if i < len(path)-1 && isDotPiperChar(path[i+1:]) { + r.pipe = path[i+1:] + r.piped = true + } else { + r.path = path[i+1:] + r.more = true + } + return + } + if path[i] == '*' || path[i] == '?' { + r.wild = true + continue + } + if path[i] == '\\' { + // go into escape mode. this is a slower path that + // strips off the escape character from the part. + epart := []byte(path[:i]) + i++ + if i < len(path) { + epart = append(epart, path[i]) + i++ + for ; i < len(path); i++ { + if path[i] == '\\' { + i++ + if i < len(path) { + epart = append(epart, path[i]) + } + continue + } else if path[i] == '.' { + r.part = string(epart) + if i < len(path)-1 && isDotPiperChar(path[i+1:]) { + r.pipe = path[i+1:] + r.piped = true + } else { + r.path = path[i+1:] + r.more = true + } + return + } else if path[i] == '|' { + r.part = string(epart) + r.pipe = path[i+1:] + r.piped = true + return + } else if path[i] == '*' || path[i] == '?' { + r.wild = true + } + epart = append(epart, path[i]) + } + } + // append the last part + r.part = string(epart) + return + } + } + r.part = path + return +} + +func parseSquash(json string, i int) (int, string) { + // expects that the lead character is a '[' or '{' or '(' + // squash the value, ignoring all nested arrays and objects. + // the first '[' or '{' or '(' has already been read + s := i + i++ + depth := 1 + for ; i < len(json); i++ { + if json[i] >= '"' && json[i] <= '}' { + switch json[i] { + case '"': + i++ + s2 := i + for ; i < len(json); i++ { + if json[i] > '\\' { + continue + } + if json[i] == '"' { + // look for an escaped slash + if json[i-1] == '\\' { + n := 0 + for j := i - 2; j > s2-1; j-- { + if json[j] != '\\' { + break + } + n++ + } + if n%2 == 0 { + continue + } + } + break + } + } + case '{', '[', '(': + depth++ + case '}', ']', ')': + depth-- + if depth == 0 { + i++ + return i, json[s:i] + } + } + } + } + return i, json[s:] +} + +func parseObject(c *parseContext, i int, path string) (int, bool) { + var pmatch, kesc, vesc, ok, hit bool + var key, val string + rp := parseObjectPath(path) + if !rp.more && rp.piped { + c.pipe = rp.pipe + c.piped = true + } + for i < len(c.json) { + for ; i < len(c.json); i++ { + if c.json[i] == '"' { + // parse_key_string + // this is slightly different from getting s string value + // because we don't need the outer quotes. + i++ + var s = i + for ; i < len(c.json); i++ { + if c.json[i] > '\\' { + continue + } + if c.json[i] == '"' { + i, key, kesc, ok = i+1, c.json[s:i], false, true + goto parse_key_string_done + } + if c.json[i] == '\\' { + i++ + for ; i < len(c.json); i++ { + if c.json[i] > '\\' { + continue + } + if c.json[i] == '"' { + // look for an escaped slash + if c.json[i-1] == '\\' { + n := 0 + for j := i - 2; j > 0; j-- { + if c.json[j] != '\\' { + break + } + n++ + } + if n%2 == 0 { + continue + } + } + i, key, kesc, ok = i+1, c.json[s:i], true, true + goto parse_key_string_done + } + } + break + } + } + key, kesc, ok = c.json[s:], false, false + parse_key_string_done: + break + } + if c.json[i] == '}' { + return i + 1, false + } + } + if !ok { + return i, false + } + if rp.wild { + if kesc { + pmatch = matchLimit(unescape(key), rp.part) + } else { + pmatch = matchLimit(key, rp.part) + } + } else { + if kesc { + pmatch = rp.part == unescape(key) + } else { + pmatch = rp.part == key + } + } + hit = pmatch && !rp.more + for ; i < len(c.json); i++ { + var num bool + switch c.json[i] { + default: + continue + case '"': + i++ + i, val, vesc, ok = parseString(c.json, i) + if !ok { + return i, false + } + if hit { + if vesc { + c.value.Str = unescape(val[1 : len(val)-1]) + } else { + c.value.Str = val[1 : len(val)-1] + } + c.value.Raw = val + c.value.Type = String + return i, true + } + case '{': + if pmatch && !hit { + i, hit = parseObject(c, i+1, rp.path) + if hit { + return i, true + } + } else { + i, val = parseSquash(c.json, i) + if hit { + c.value.Raw = val + c.value.Type = JSON + return i, true + } + } + case '[': + if pmatch && !hit { + i, hit = parseArray(c, i+1, rp.path) + if hit { + return i, true + } + } else { + i, val = parseSquash(c.json, i) + if hit { + c.value.Raw = val + c.value.Type = JSON + return i, true + } + } + case 'n': + if i+1 < len(c.json) && c.json[i+1] != 'u' { + num = true + break + } + fallthrough + case 't', 'f': + vc := c.json[i] + i, val = parseLiteral(c.json, i) + if hit { + c.value.Raw = val + switch vc { + case 't': + c.value.Type = True + case 'f': + c.value.Type = False + } + return i, true + } + case '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'i', 'I', 'N': + num = true + } + if num { + i, val = parseNumber(c.json, i) + if hit { + c.value.Raw = val + c.value.Type = Number + c.value.Num, _ = strconv.ParseFloat(val, 64) + return i, true + } + } + break + } + } + return i, false +} + +// matchLimit will limit the complexity of the match operation to avoid ReDos +// attacks from arbritary inputs. +// See the github.com/tidwall/match.MatchLimit function for more information. +func matchLimit(str, pattern string) bool { + matched, _ := match.MatchLimit(str, pattern, 10000) + return matched +} + +func queryMatches(rp *arrayPathResult, value Result) bool { + rpv := rp.query.value + if len(rpv) > 0 && rpv[0] == '~' { + // convert to bool + rpv = rpv[1:] + if value.Bool() { + value = Result{Type: True} + } else { + value = Result{Type: False} + } + } + if !value.Exists() { + return false + } + if rp.query.op == "" { + // the query is only looking for existence, such as: + // friends.#(name) + // which makes sure that the array "friends" has an element of + // "name" that exists + return true + } + switch value.Type { + case String: + switch rp.query.op { + case "=": + return value.Str == rpv + case "!=": + return value.Str != rpv + case "<": + return value.Str < rpv + case "<=": + return value.Str <= rpv + case ">": + return value.Str > rpv + case ">=": + return value.Str >= rpv + case "%": + return matchLimit(value.Str, rpv) + case "!%": + return !matchLimit(value.Str, rpv) + } + case Number: + rpvn, _ := strconv.ParseFloat(rpv, 64) + switch rp.query.op { + case "=": + return value.Num == rpvn + case "!=": + return value.Num != rpvn + case "<": + return value.Num < rpvn + case "<=": + return value.Num <= rpvn + case ">": + return value.Num > rpvn + case ">=": + return value.Num >= rpvn + } + case True: + switch rp.query.op { + case "=": + return rpv == "true" + case "!=": + return rpv != "true" + case ">": + return rpv == "false" + case ">=": + return true + } + case False: + switch rp.query.op { + case "=": + return rpv == "false" + case "!=": + return rpv != "false" + case "<": + return rpv == "true" + case "<=": + return true + } + } + return false +} +func parseArray(c *parseContext, i int, path string) (int, bool) { + var pmatch, vesc, ok, hit bool + var val string + var h int + var alog []int + var partidx int + var multires []byte + var queryIndexes []int + rp := parseArrayPath(path) + if !rp.arrch { + n, ok := parseUint(rp.part) + if !ok { + partidx = -1 + } else { + partidx = int(n) + } + } + if !rp.more && rp.piped { + c.pipe = rp.pipe + c.piped = true + } + + procQuery := func(qval Result) bool { + if rp.query.all { + if len(multires) == 0 { + multires = append(multires, '[') + } + } + var tmp parseContext + tmp.value = qval + fillIndex(c.json, &tmp) + parentIndex := tmp.value.Index + var res Result + if qval.Type == JSON { + res = qval.Get(rp.query.path) + } else { + if rp.query.path != "" { + return false + } + res = qval + } + if queryMatches(&rp, res) { + if rp.more { + left, right, ok := splitPossiblePipe(rp.path) + if ok { + rp.path = left + c.pipe = right + c.piped = true + } + res = qval.Get(rp.path) + } else { + res = qval + } + if rp.query.all { + raw := res.Raw + if len(raw) == 0 { + raw = res.String() + } + if raw != "" { + if len(multires) > 1 { + multires = append(multires, ',') + } + multires = append(multires, raw...) + queryIndexes = append(queryIndexes, res.Index+parentIndex) + } + } else { + c.value = res + return true + } + } + return false + } + for i < len(c.json)+1 { + if !rp.arrch { + pmatch = partidx == h + hit = pmatch && !rp.more + } + h++ + if rp.alogok { + alog = append(alog, i) + } + for ; ; i++ { + var ch byte + if i > len(c.json) { + break + } else if i == len(c.json) { + ch = ']' + } else { + ch = c.json[i] + } + var num bool + switch ch { + default: + continue + case '"': + i++ + i, val, vesc, ok = parseString(c.json, i) + if !ok { + return i, false + } + if rp.query.on { + var qval Result + if vesc { + qval.Str = unescape(val[1 : len(val)-1]) + } else { + qval.Str = val[1 : len(val)-1] + } + qval.Raw = val + qval.Type = String + if procQuery(qval) { + return i, true + } + } else if hit { + if rp.alogok { + break + } + if vesc { + c.value.Str = unescape(val[1 : len(val)-1]) + } else { + c.value.Str = val[1 : len(val)-1] + } + c.value.Raw = val + c.value.Type = String + return i, true + } + case '{': + if pmatch && !hit { + i, hit = parseObject(c, i+1, rp.path) + if hit { + if rp.alogok { + break + } + return i, true + } + } else { + i, val = parseSquash(c.json, i) + if rp.query.on { + if procQuery(Result{Raw: val, Type: JSON}) { + return i, true + } + } else if hit { + if rp.alogok { + break + } + c.value.Raw = val + c.value.Type = JSON + return i, true + } + } + case '[': + if pmatch && !hit { + i, hit = parseArray(c, i+1, rp.path) + if hit { + if rp.alogok { + break + } + return i, true + } + } else { + i, val = parseSquash(c.json, i) + if rp.query.on { + if procQuery(Result{Raw: val, Type: JSON}) { + return i, true + } + } else if hit { + if rp.alogok { + break + } + c.value.Raw = val + c.value.Type = JSON + return i, true + } + } + case 'n': + if i+1 < len(c.json) && c.json[i+1] != 'u' { + num = true + break + } + fallthrough + case 't', 'f': + vc := c.json[i] + i, val = parseLiteral(c.json, i) + if rp.query.on { + var qval Result + qval.Raw = val + switch vc { + case 't': + qval.Type = True + case 'f': + qval.Type = False + } + if procQuery(qval) { + return i, true + } + } else if hit { + if rp.alogok { + break + } + c.value.Raw = val + switch vc { + case 't': + c.value.Type = True + case 'f': + c.value.Type = False + } + return i, true + } + case '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'i', 'I', 'N': + num = true + case ']': + if rp.arrch && rp.part == "#" { + if rp.alogok { + left, right, ok := splitPossiblePipe(rp.alogkey) + if ok { + rp.alogkey = left + c.pipe = right + c.piped = true + } + var indexes = make([]int, 0, 64) + var jsons = make([]byte, 0, 64) + jsons = append(jsons, '[') + for j, k := 0, 0; j < len(alog); j++ { + idx := alog[j] + for idx < len(c.json) { + switch c.json[idx] { + case ' ', '\t', '\r', '\n': + idx++ + continue + } + break + } + if idx < len(c.json) && c.json[idx] != ']' { + _, res, ok := parseAny(c.json, idx, true) + if ok { + res := res.Get(rp.alogkey) + if res.Exists() { + if k > 0 { + jsons = append(jsons, ',') + } + raw := res.Raw + if len(raw) == 0 { + raw = res.String() + } + jsons = append(jsons, []byte(raw)...) + indexes = append(indexes, res.Index) + k++ + } + } + } + } + jsons = append(jsons, ']') + c.value.Type = JSON + c.value.Raw = string(jsons) + c.value.Indexes = indexes + return i + 1, true + } + if rp.alogok { + break + } + + c.value.Type = Number + c.value.Num = float64(h - 1) + c.value.Raw = strconv.Itoa(h - 1) + c.calcd = true + return i + 1, true + } + if !c.value.Exists() { + if len(multires) > 0 { + c.value = Result{ + Raw: string(append(multires, ']')), + Type: JSON, + Indexes: queryIndexes, + } + } else if rp.query.all { + c.value = Result{ + Raw: "[]", + Type: JSON, + } + } + } + return i + 1, false + } + if num { + i, val = parseNumber(c.json, i) + if rp.query.on { + var qval Result + qval.Raw = val + qval.Type = Number + qval.Num, _ = strconv.ParseFloat(val, 64) + if procQuery(qval) { + return i, true + } + } else if hit { + if rp.alogok { + break + } + c.value.Raw = val + c.value.Type = Number + c.value.Num, _ = strconv.ParseFloat(val, 64) + return i, true + } + } + break + } + } + return i, false +} + +func splitPossiblePipe(path string) (left, right string, ok bool) { + // take a quick peek for the pipe character. If found we'll split the piped + // part of the path into the c.pipe field and shorten the rp. + var possible bool + for i := 0; i < len(path); i++ { + if path[i] == '|' { + possible = true + break + } + } + if !possible { + return + } + + if len(path) > 0 && path[0] == '{' { + squashed := squash(path[1:]) + if len(squashed) < len(path)-1 { + squashed = path[:len(squashed)+1] + remain := path[len(squashed):] + if remain[0] == '|' { + return squashed, remain[1:], true + } + } + return + } + + // split the left and right side of the path with the pipe character as + // the delimiter. This is a little tricky because we'll need to basically + // parse the entire path. + for i := 0; i < len(path); i++ { + if path[i] == '\\' { + i++ + } else if path[i] == '.' { + if i == len(path)-1 { + return + } + if path[i+1] == '#' { + i += 2 + if i == len(path) { + return + } + if path[i] == '[' || path[i] == '(' { + var start, end byte + if path[i] == '[' { + start, end = '[', ']' + } else { + start, end = '(', ')' + } + // inside selector, balance brackets + i++ + depth := 1 + for ; i < len(path); i++ { + if path[i] == '\\' { + i++ + } else if path[i] == start { + depth++ + } else if path[i] == end { + depth-- + if depth == 0 { + break + } + } else if path[i] == '"' { + // inside selector string, balance quotes + i++ + for ; i < len(path); i++ { + if path[i] == '\\' { + i++ + } else if path[i] == '"' { + break + } + } + } + } + } + } + } else if path[i] == '|' { + return path[:i], path[i+1:], true + } + } + return +} + +// ForEachLine iterates through lines of JSON as specified by the JSON Lines +// format (http://jsonlines.org/). +// Each line is returned as a GJSON Result. +func ForEachLine(json string, iterator func(line Result) bool) { + var res Result + var i int + for { + i, res, _ = parseAny(json, i, true) + if !res.Exists() { + break + } + if !iterator(res) { + return + } + } +} + +type subSelector struct { + name string + path string +} + +// parseSubSelectors returns the subselectors belonging to a '[path1,path2]' or +// '{"field1":path1,"field2":path2}' type subSelection. It's expected that the +// first character in path is either '[' or '{', and has already been checked +// prior to calling this function. +func parseSubSelectors(path string) (sels []subSelector, out string, ok bool) { + modifier := 0 + depth := 1 + colon := 0 + start := 1 + i := 1 + pushSel := func() { + var sel subSelector + if colon == 0 { + sel.path = path[start:i] + } else { + sel.name = path[start:colon] + sel.path = path[colon+1 : i] + } + sels = append(sels, sel) + colon = 0 + modifier = 0 + start = i + 1 + } + for ; i < len(path); i++ { + switch path[i] { + case '\\': + i++ + case '@': + if modifier == 0 && i > 0 && (path[i-1] == '.' || path[i-1] == '|') { + modifier = i + } + case ':': + if modifier == 0 && colon == 0 && depth == 1 { + colon = i + } + case ',': + if depth == 1 { + pushSel() + } + case '"': + i++ + loop: + for ; i < len(path); i++ { + switch path[i] { + case '\\': + i++ + case '"': + break loop + } + } + case '[', '(', '{': + depth++ + case ']', ')', '}': + depth-- + if depth == 0 { + pushSel() + path = path[i+1:] + return sels, path, true + } + } + } + return +} + +// nameOfLast returns the name of the last component +func nameOfLast(path string) string { + for i := len(path) - 1; i >= 0; i-- { + if path[i] == '|' || path[i] == '.' { + if i > 0 { + if path[i-1] == '\\' { + continue + } + } + return path[i+1:] + } + } + return path +} + +func isSimpleName(component string) bool { + for i := 0; i < len(component); i++ { + if component[i] < ' ' { + return false + } + switch component[i] { + case '[', ']', '{', '}', '(', ')', '#', '|', '!': + return false + } + } + return true +} + +var hexchars = [...]byte{ + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f', +} + +func appendHex16(dst []byte, x uint16) []byte { + return append(dst, + hexchars[x>>12&0xF], hexchars[x>>8&0xF], + hexchars[x>>4&0xF], hexchars[x>>0&0xF], + ) +} + +// AppendJSONString is a convenience function that converts the provided string +// to a valid JSON string and appends it to dst. +func AppendJSONString(dst []byte, s string) []byte { + dst = append(dst, make([]byte, len(s)+2)...) + dst = append(dst[:len(dst)-len(s)-2], '"') + for i := 0; i < len(s); i++ { + if s[i] < ' ' { + dst = append(dst, '\\') + switch s[i] { + case '\n': + dst = append(dst, 'n') + case '\r': + dst = append(dst, 'r') + case '\t': + dst = append(dst, 't') + default: + dst = append(dst, 'u') + dst = appendHex16(dst, uint16(s[i])) + } + } else if s[i] == '>' || s[i] == '<' || s[i] == '&' { + dst = append(dst, '\\', 'u') + dst = appendHex16(dst, uint16(s[i])) + } else if s[i] == '\\' { + dst = append(dst, '\\', '\\') + } else if s[i] == '"' { + dst = append(dst, '\\', '"') + } else if s[i] > 127 { + // read utf8 character + r, n := utf8.DecodeRuneInString(s[i:]) + if n == 0 { + break + } + if r == utf8.RuneError && n == 1 { + dst = append(dst, `\ufffd`...) + } else if r == '\u2028' || r == '\u2029' { + dst = append(dst, `\u202`...) + dst = append(dst, hexchars[r&0xF]) + } else { + dst = append(dst, s[i:i+n]...) + } + i = i + n - 1 + } else { + dst = append(dst, s[i]) + } + } + return append(dst, '"') +} + +type parseContext struct { + json string + value Result + pipe string + piped bool + calcd bool + lines bool +} + +// Get searches json for the specified path. +// A path is in dot syntax, such as "name.last" or "age". +// When the value is found it's returned immediately. +// +// A path is a series of keys separated by a dot. +// A key may contain special wildcard characters '*' and '?'. +// To access an array value use the index as the key. +// To get the number of elements in an array or to access a child path, use +// the '#' character. +// The dot and wildcard character can be escaped with '\'. +// +// { +// "name": {"first": "Tom", "last": "Anderson"}, +// "age":37, +// "children": ["Sara","Alex","Jack"], +// "friends": [ +// {"first": "James", "last": "Murphy"}, +// {"first": "Roger", "last": "Craig"} +// ] +// } +// "name.last" >> "Anderson" +// "age" >> 37 +// "children" >> ["Sara","Alex","Jack"] +// "children.#" >> 3 +// "children.1" >> "Alex" +// "child*.2" >> "Jack" +// "c?ildren.0" >> "Sara" +// "friends.#.first" >> ["James","Roger"] +// +// This function expects that the json is well-formed, and does not validate. +// Invalid json will not panic, but it may return back unexpected results. +// If you are consuming JSON from an unpredictable source then you may want to +// use the Valid function first. +func Get(json, path string) Result { + if len(path) > 1 { + if (path[0] == '@' && !DisableModifiers) || path[0] == '!' { + // possible modifier + var ok bool + var npath string + var rjson string + if path[0] == '@' && !DisableModifiers { + npath, rjson, ok = execModifier(json, path) + } else if path[0] == '!' { + npath, rjson, ok = execStatic(json, path) + } + if ok { + path = npath + if len(path) > 0 && (path[0] == '|' || path[0] == '.') { + res := Get(rjson, path[1:]) + res.Index = 0 + res.Indexes = nil + return res + } + return Parse(rjson) + } + } + if path[0] == '[' || path[0] == '{' { + // using a subselector path + kind := path[0] + var ok bool + var subs []subSelector + subs, path, ok = parseSubSelectors(path) + if ok { + if len(path) == 0 || (path[0] == '|' || path[0] == '.') { + var b []byte + b = append(b, kind) + var i int + for _, sub := range subs { + res := Get(json, sub.path) + if res.Exists() { + if i > 0 { + b = append(b, ',') + } + if kind == '{' { + if len(sub.name) > 0 { + if sub.name[0] == '"' && Valid(sub.name) { + b = append(b, sub.name...) + } else { + b = AppendJSONString(b, sub.name) + } + } else { + last := nameOfLast(sub.path) + if isSimpleName(last) { + b = AppendJSONString(b, last) + } else { + b = AppendJSONString(b, "_") + } + } + b = append(b, ':') + } + var raw string + if len(res.Raw) == 0 { + raw = res.String() + if len(raw) == 0 { + raw = "null" + } + } else { + raw = res.Raw + } + b = append(b, raw...) + i++ + } + } + b = append(b, kind+2) + var res Result + res.Raw = string(b) + res.Type = JSON + if len(path) > 0 { + res = res.Get(path[1:]) + } + res.Index = 0 + return res + } + } + } + } + var i int + var c = &parseContext{json: json} + if len(path) >= 2 && path[0] == '.' && path[1] == '.' { + c.lines = true + parseArray(c, 0, path[2:]) + } else { + for ; i < len(c.json); i++ { + if c.json[i] == '{' { + i++ + parseObject(c, i, path) + break + } + if c.json[i] == '[' { + i++ + parseArray(c, i, path) + break + } + } + } + if c.piped { + res := c.value.Get(c.pipe) + res.Index = 0 + return res + } + fillIndex(json, c) + return c.value +} + +// GetBytes searches json for the specified path. +// If working with bytes, this method preferred over Get(string(data), path) +func GetBytes(json []byte, path string) Result { + return getBytes(json, path) +} + +// runeit returns the rune from the the \uXXXX +func runeit(json string) rune { + n, _ := strconv.ParseUint(json[:4], 16, 64) + return rune(n) +} + +// unescape unescapes a string +func unescape(json string) string { + var str = make([]byte, 0, len(json)) + for i := 0; i < len(json); i++ { + switch { + default: + str = append(str, json[i]) + case json[i] < ' ': + return string(str) + case json[i] == '\\': + i++ + if i >= len(json) { + return string(str) + } + switch json[i] { + default: + return string(str) + case '\\': + str = append(str, '\\') + case '/': + str = append(str, '/') + case 'b': + str = append(str, '\b') + case 'f': + str = append(str, '\f') + case 'n': + str = append(str, '\n') + case 'r': + str = append(str, '\r') + case 't': + str = append(str, '\t') + case '"': + str = append(str, '"') + case 'u': + if i+5 > len(json) { + return string(str) + } + r := runeit(json[i+1:]) + i += 5 + if utf16.IsSurrogate(r) { + // need another code + if len(json[i:]) >= 6 && json[i] == '\\' && + json[i+1] == 'u' { + // we expect it to be correct so just consume it + r = utf16.DecodeRune(r, runeit(json[i+2:])) + i += 6 + } + } + // provide enough space to encode the largest utf8 possible + str = append(str, 0, 0, 0, 0, 0, 0, 0, 0) + n := utf8.EncodeRune(str[len(str)-8:], r) + str = str[:len(str)-8+n] + i-- // backtrack index by one + } + } + } + return string(str) +} + +// Less return true if a token is less than another token. +// The caseSensitive paramater is used when the tokens are Strings. +// The order when comparing two different type is: +// +// Null < False < Number < String < True < JSON +// +func (t Result) Less(token Result, caseSensitive bool) bool { + if t.Type < token.Type { + return true + } + if t.Type > token.Type { + return false + } + if t.Type == String { + if caseSensitive { + return t.Str < token.Str + } + return stringLessInsensitive(t.Str, token.Str) + } + if t.Type == Number { + return t.Num < token.Num + } + return t.Raw < token.Raw +} + +func stringLessInsensitive(a, b string) bool { + for i := 0; i < len(a) && i < len(b); i++ { + if a[i] >= 'A' && a[i] <= 'Z' { + if b[i] >= 'A' && b[i] <= 'Z' { + // both are uppercase, do nothing + if a[i] < b[i] { + return true + } else if a[i] > b[i] { + return false + } + } else { + // a is uppercase, convert a to lowercase + if a[i]+32 < b[i] { + return true + } else if a[i]+32 > b[i] { + return false + } + } + } else if b[i] >= 'A' && b[i] <= 'Z' { + // b is uppercase, convert b to lowercase + if a[i] < b[i]+32 { + return true + } else if a[i] > b[i]+32 { + return false + } + } else { + // neither are uppercase + if a[i] < b[i] { + return true + } else if a[i] > b[i] { + return false + } + } + } + return len(a) < len(b) +} + +// parseAny parses the next value from a json string. +// A Result is returned when the hit param is set. +// The return values are (i int, res Result, ok bool) +func parseAny(json string, i int, hit bool) (int, Result, bool) { + var res Result + var val string + for ; i < len(json); i++ { + if json[i] == '{' || json[i] == '[' { + i, val = parseSquash(json, i) + if hit { + res.Raw = val + res.Type = JSON + } + var tmp parseContext + tmp.value = res + fillIndex(json, &tmp) + return i, tmp.value, true + } + if json[i] <= ' ' { + continue + } + var num bool + switch json[i] { + case '"': + i++ + var vesc bool + var ok bool + i, val, vesc, ok = parseString(json, i) + if !ok { + return i, res, false + } + if hit { + res.Type = String + res.Raw = val + if vesc { + res.Str = unescape(val[1 : len(val)-1]) + } else { + res.Str = val[1 : len(val)-1] + } + } + return i, res, true + case 'n': + if i+1 < len(json) && json[i+1] != 'u' { + num = true + break + } + fallthrough + case 't', 'f': + vc := json[i] + i, val = parseLiteral(json, i) + if hit { + res.Raw = val + switch vc { + case 't': + res.Type = True + case 'f': + res.Type = False + } + return i, res, true + } + case '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'i', 'I', 'N': + num = true + } + if num { + i, val = parseNumber(json, i) + if hit { + res.Raw = val + res.Type = Number + res.Num, _ = strconv.ParseFloat(val, 64) + } + return i, res, true + } + + } + return i, res, false +} + +// GetMany searches json for the multiple paths. +// The return value is a Result array where the number of items +// will be equal to the number of input paths. +func GetMany(json string, path ...string) []Result { + res := make([]Result, len(path)) + for i, path := range path { + res[i] = Get(json, path) + } + return res +} + +// GetManyBytes searches json for the multiple paths. +// The return value is a Result array where the number of items +// will be equal to the number of input paths. +func GetManyBytes(json []byte, path ...string) []Result { + res := make([]Result, len(path)) + for i, path := range path { + res[i] = GetBytes(json, path) + } + return res +} + +func validpayload(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + i, ok = validany(data, i) + if !ok { + return i, false + } + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + } + } + return i, true + case ' ', '\t', '\n', '\r': + continue + } + } + return i, false +} +func validany(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + case '{': + return validobject(data, i+1) + case '[': + return validarray(data, i+1) + case '"': + return validstring(data, i+1) + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + return validnumber(data, i+1) + case 't': + return validtrue(data, i+1) + case 'f': + return validfalse(data, i+1) + case 'n': + return validnull(data, i+1) + } + } + return i, false +} +func validobject(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + case '}': + return i + 1, true + case '"': + key: + if i, ok = validstring(data, i+1); !ok { + return i, false + } + if i, ok = validcolon(data, i); !ok { + return i, false + } + if i, ok = validany(data, i); !ok { + return i, false + } + if i, ok = validcomma(data, i, '}'); !ok { + return i, false + } + if data[i] == '}' { + return i + 1, true + } + i++ + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + case '"': + goto key + } + } + return i, false + } + } + return i, false +} +func validcolon(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + case ':': + return i + 1, true + } + } + return i, false +} +func validcomma(data []byte, i int, end byte) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + return i, false + case ' ', '\t', '\n', '\r': + continue + case ',': + return i, true + case end: + return i, true + } + } + return i, false +} +func validarray(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + switch data[i] { + default: + for ; i < len(data); i++ { + if i, ok = validany(data, i); !ok { + return i, false + } + if i, ok = validcomma(data, i, ']'); !ok { + return i, false + } + if data[i] == ']' { + return i + 1, true + } + } + case ' ', '\t', '\n', '\r': + continue + case ']': + return i + 1, true + } + } + return i, false +} +func validstring(data []byte, i int) (outi int, ok bool) { + for ; i < len(data); i++ { + if data[i] < ' ' { + return i, false + } else if data[i] == '\\' { + i++ + if i == len(data) { + return i, false + } + switch data[i] { + default: + return i, false + case '"', '\\', '/', 'b', 'f', 'n', 'r', 't': + case 'u': + for j := 0; j < 4; j++ { + i++ + if i >= len(data) { + return i, false + } + if !((data[i] >= '0' && data[i] <= '9') || + (data[i] >= 'a' && data[i] <= 'f') || + (data[i] >= 'A' && data[i] <= 'F')) { + return i, false + } + } + } + } else if data[i] == '"' { + return i + 1, true + } + } + return i, false +} +func validnumber(data []byte, i int) (outi int, ok bool) { + i-- + // sign + if data[i] == '-' { + i++ + if i == len(data) { + return i, false + } + if data[i] < '0' || data[i] > '9' { + return i, false + } + } + // int + if i == len(data) { + return i, false + } + if data[i] == '0' { + i++ + } else { + for ; i < len(data); i++ { + if data[i] >= '0' && data[i] <= '9' { + continue + } + break + } + } + // frac + if i == len(data) { + return i, true + } + if data[i] == '.' { + i++ + if i == len(data) { + return i, false + } + if data[i] < '0' || data[i] > '9' { + return i, false + } + i++ + for ; i < len(data); i++ { + if data[i] >= '0' && data[i] <= '9' { + continue + } + break + } + } + // exp + if i == len(data) { + return i, true + } + if data[i] == 'e' || data[i] == 'E' { + i++ + if i == len(data) { + return i, false + } + if data[i] == '+' || data[i] == '-' { + i++ + } + if i == len(data) { + return i, false + } + if data[i] < '0' || data[i] > '9' { + return i, false + } + i++ + for ; i < len(data); i++ { + if data[i] >= '0' && data[i] <= '9' { + continue + } + break + } + } + return i, true +} + +func validtrue(data []byte, i int) (outi int, ok bool) { + if i+3 <= len(data) && data[i] == 'r' && data[i+1] == 'u' && + data[i+2] == 'e' { + return i + 3, true + } + return i, false +} +func validfalse(data []byte, i int) (outi int, ok bool) { + if i+4 <= len(data) && data[i] == 'a' && data[i+1] == 'l' && + data[i+2] == 's' && data[i+3] == 'e' { + return i + 4, true + } + return i, false +} +func validnull(data []byte, i int) (outi int, ok bool) { + if i+3 <= len(data) && data[i] == 'u' && data[i+1] == 'l' && + data[i+2] == 'l' { + return i + 3, true + } + return i, false +} + +// Valid returns true if the input is valid json. +// +// if !gjson.Valid(json) { +// return errors.New("invalid json") +// } +// value := gjson.Get(json, "name.last") +// +func Valid(json string) bool { + _, ok := validpayload(stringBytes(json), 0) + return ok +} + +// ValidBytes returns true if the input is valid json. +// +// if !gjson.Valid(json) { +// return errors.New("invalid json") +// } +// value := gjson.Get(json, "name.last") +// +// If working with bytes, this method preferred over ValidBytes(string(data)) +// +func ValidBytes(json []byte) bool { + _, ok := validpayload(json, 0) + return ok +} + +func parseUint(s string) (n uint64, ok bool) { + var i int + if i == len(s) { + return 0, false + } + for ; i < len(s); i++ { + if s[i] >= '0' && s[i] <= '9' { + n = n*10 + uint64(s[i]-'0') + } else { + return 0, false + } + } + return n, true +} + +func parseInt(s string) (n int64, ok bool) { + var i int + var sign bool + if len(s) > 0 && s[0] == '-' { + sign = true + i++ + } + if i == len(s) { + return 0, false + } + for ; i < len(s); i++ { + if s[i] >= '0' && s[i] <= '9' { + n = n*10 + int64(s[i]-'0') + } else { + return 0, false + } + } + if sign { + return n * -1, true + } + return n, true +} + +// safeInt validates a given JSON number +// ensures it lies within the minimum and maximum representable JSON numbers +func safeInt(f float64) (n int64, ok bool) { + // https://tc39.es/ecma262/#sec-number.min_safe_integer + // https://tc39.es/ecma262/#sec-number.max_safe_integer + if f < -9007199254740991 || f > 9007199254740991 { + return 0, false + } + return int64(f), true +} + +// execStatic parses the path to find a static value. +// The input expects that the path already starts with a '!' +func execStatic(json, path string) (pathOut, res string, ok bool) { + name := path[1:] + if len(name) > 0 { + switch name[0] { + case '{', '[', '"', '+', '-', '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9': + _, res = parseSquash(name, 0) + pathOut = name[len(res):] + return pathOut, res, true + } + } + for i := 1; i < len(path); i++ { + if path[i] == '|' { + pathOut = path[i:] + name = path[1:i] + break + } + if path[i] == '.' { + pathOut = path[i:] + name = path[1:i] + break + } + } + switch strings.ToLower(name) { + case "true", "false", "null", "nan", "inf": + return pathOut, name, true + } + return pathOut, res, false +} + +// execModifier parses the path to find a matching modifier function. +// The input expects that the path already starts with a '@' +func execModifier(json, path string) (pathOut, res string, ok bool) { + name := path[1:] + var hasArgs bool + for i := 1; i < len(path); i++ { + if path[i] == ':' { + pathOut = path[i+1:] + name = path[1:i] + hasArgs = len(pathOut) > 0 + break + } + if path[i] == '|' { + pathOut = path[i:] + name = path[1:i] + break + } + if path[i] == '.' { + pathOut = path[i:] + name = path[1:i] + break + } + } + if fn, ok := modifiers[name]; ok { + var args string + if hasArgs { + var parsedArgs bool + switch pathOut[0] { + case '{', '[', '"': + res := Parse(pathOut) + if res.Exists() { + args = squash(pathOut) + pathOut = pathOut[len(args):] + parsedArgs = true + } + } + if !parsedArgs { + idx := strings.IndexByte(pathOut, '|') + if idx == -1 { + args = pathOut + pathOut = "" + } else { + args = pathOut[:idx] + pathOut = pathOut[idx:] + } + } + } + return pathOut, fn(json, args), true + } + return pathOut, res, false +} + +// unwrap removes the '[]' or '{}' characters around json +func unwrap(json string) string { + json = trim(json) + if len(json) >= 2 && (json[0] == '[' || json[0] == '{') { + json = json[1 : len(json)-1] + } + return json +} + +// DisableModifiers will disable the modifier syntax +var DisableModifiers = false + +var modifiers = map[string]func(json, arg string) string{ + "pretty": modPretty, + "ugly": modUgly, + "reverse": modReverse, + "this": modThis, + "flatten": modFlatten, + "join": modJoin, + "valid": modValid, + "keys": modKeys, + "values": modValues, + "tostr": modToStr, + "fromstr": modFromStr, + "group": modGroup, +} + +// AddModifier binds a custom modifier command to the GJSON syntax. +// This operation is not thread safe and should be executed prior to +// using all other gjson function. +func AddModifier(name string, fn func(json, arg string) string) { + modifiers[name] = fn +} + +// ModifierExists returns true when the specified modifier exists. +func ModifierExists(name string, fn func(json, arg string) string) bool { + _, ok := modifiers[name] + return ok +} + +// cleanWS remove any non-whitespace from string +func cleanWS(s string) string { + for i := 0; i < len(s); i++ { + switch s[i] { + case ' ', '\t', '\n', '\r': + continue + default: + var s2 []byte + for i := 0; i < len(s); i++ { + switch s[i] { + case ' ', '\t', '\n', '\r': + s2 = append(s2, s[i]) + } + } + return string(s2) + } + } + return s +} + +// @pretty modifier makes the json look nice. +func modPretty(json, arg string) string { + if len(arg) > 0 { + opts := *pretty.DefaultOptions + Parse(arg).ForEach(func(key, value Result) bool { + switch key.String() { + case "sortKeys": + opts.SortKeys = value.Bool() + case "indent": + opts.Indent = cleanWS(value.String()) + case "prefix": + opts.Prefix = cleanWS(value.String()) + case "width": + opts.Width = int(value.Int()) + } + return true + }) + return bytesString(pretty.PrettyOptions(stringBytes(json), &opts)) + } + return bytesString(pretty.Pretty(stringBytes(json))) +} + +// @this returns the current element. Can be used to retrieve the root element. +func modThis(json, arg string) string { + return json +} + +// @ugly modifier removes all whitespace. +func modUgly(json, arg string) string { + return bytesString(pretty.Ugly(stringBytes(json))) +} + +// @reverse reverses array elements or root object members. +func modReverse(json, arg string) string { + res := Parse(json) + if res.IsArray() { + var values []Result + res.ForEach(func(_, value Result) bool { + values = append(values, value) + return true + }) + out := make([]byte, 0, len(json)) + out = append(out, '[') + for i, j := len(values)-1, 0; i >= 0; i, j = i-1, j+1 { + if j > 0 { + out = append(out, ',') + } + out = append(out, values[i].Raw...) + } + out = append(out, ']') + return bytesString(out) + } + if res.IsObject() { + var keyValues []Result + res.ForEach(func(key, value Result) bool { + keyValues = append(keyValues, key, value) + return true + }) + out := make([]byte, 0, len(json)) + out = append(out, '{') + for i, j := len(keyValues)-2, 0; i >= 0; i, j = i-2, j+1 { + if j > 0 { + out = append(out, ',') + } + out = append(out, keyValues[i+0].Raw...) + out = append(out, ':') + out = append(out, keyValues[i+1].Raw...) + } + out = append(out, '}') + return bytesString(out) + } + return json +} + +// @flatten an array with child arrays. +// [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,[6,7]] +// The {"deep":true} arg can be provide for deep flattening. +// [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,6,7] +// The original json is returned when the json is not an array. +func modFlatten(json, arg string) string { + res := Parse(json) + if !res.IsArray() { + return json + } + var deep bool + if arg != "" { + Parse(arg).ForEach(func(key, value Result) bool { + if key.String() == "deep" { + deep = value.Bool() + } + return true + }) + } + var out []byte + out = append(out, '[') + var idx int + res.ForEach(func(_, value Result) bool { + var raw string + if value.IsArray() { + if deep { + raw = unwrap(modFlatten(value.Raw, arg)) + } else { + raw = unwrap(value.Raw) + } + } else { + raw = value.Raw + } + raw = strings.TrimSpace(raw) + if len(raw) > 0 { + if idx > 0 { + out = append(out, ',') + } + out = append(out, raw...) + idx++ + } + return true + }) + out = append(out, ']') + return bytesString(out) +} + +// @keys extracts the keys from an object. +// {"first":"Tom","last":"Smith"} -> ["first","last"] +func modKeys(json, arg string) string { + v := Parse(json) + if !v.Exists() { + return "[]" + } + obj := v.IsObject() + var out strings.Builder + out.WriteByte('[') + var i int + v.ForEach(func(key, _ Result) bool { + if i > 0 { + out.WriteByte(',') + } + if obj { + out.WriteString(key.Raw) + } else { + out.WriteString("null") + } + i++ + return true + }) + out.WriteByte(']') + return out.String() +} + +// @values extracts the values from an object. +// {"first":"Tom","last":"Smith"} -> ["Tom","Smith"] +func modValues(json, arg string) string { + v := Parse(json) + if !v.Exists() { + return "[]" + } + if v.IsArray() { + return json + } + var out strings.Builder + out.WriteByte('[') + var i int + v.ForEach(func(_, value Result) bool { + if i > 0 { + out.WriteByte(',') + } + out.WriteString(value.Raw) + i++ + return true + }) + out.WriteByte(']') + return out.String() +} + +// @join multiple objects into a single object. +// [{"first":"Tom"},{"last":"Smith"}] -> {"first","Tom","last":"Smith"} +// The arg can be "true" to specify that duplicate keys should be preserved. +// [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":37,"age":41} +// Without preserved keys: +// [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":41} +// The original json is returned when the json is not an object. +func modJoin(json, arg string) string { + res := Parse(json) + if !res.IsArray() { + return json + } + var preserve bool + if arg != "" { + Parse(arg).ForEach(func(key, value Result) bool { + if key.String() == "preserve" { + preserve = value.Bool() + } + return true + }) + } + var out []byte + out = append(out, '{') + if preserve { + // Preserve duplicate keys. + var idx int + res.ForEach(func(_, value Result) bool { + if !value.IsObject() { + return true + } + if idx > 0 { + out = append(out, ',') + } + out = append(out, unwrap(value.Raw)...) + idx++ + return true + }) + } else { + // Deduplicate keys and generate an object with stable ordering. + var keys []Result + kvals := make(map[string]Result) + res.ForEach(func(_, value Result) bool { + if !value.IsObject() { + return true + } + value.ForEach(func(key, value Result) bool { + k := key.String() + if _, ok := kvals[k]; !ok { + keys = append(keys, key) + } + kvals[k] = value + return true + }) + return true + }) + for i := 0; i < len(keys); i++ { + if i > 0 { + out = append(out, ',') + } + out = append(out, keys[i].Raw...) + out = append(out, ':') + out = append(out, kvals[keys[i].String()].Raw...) + } + } + out = append(out, '}') + return bytesString(out) +} + +// @valid ensures that the json is valid before moving on. An empty string is +// returned when the json is not valid, otherwise it returns the original json. +func modValid(json, arg string) string { + if !Valid(json) { + return "" + } + return json +} + +// @fromstr converts a string to json +// "{\"id\":1023,\"name\":\"alert\"}" -> {"id":1023,"name":"alert"} +func modFromStr(json, arg string) string { + if !Valid(json) { + return "" + } + return Parse(json).String() +} + +// @tostr converts a string to json +// {"id":1023,"name":"alert"} -> "{\"id\":1023,\"name\":\"alert\"}" +func modToStr(str, arg string) string { + return string(AppendJSONString(nil, str)) +} + +func modGroup(json, arg string) string { + res := Parse(json) + if !res.IsObject() { + return "" + } + var all [][]byte + res.ForEach(func(key, value Result) bool { + if !value.IsArray() { + return true + } + var idx int + value.ForEach(func(_, value Result) bool { + if idx == len(all) { + all = append(all, []byte{}) + } + all[idx] = append(all[idx], ("," + key.Raw + ":" + value.Raw)...) + idx++ + return true + }) + return true + }) + var data []byte + data = append(data, '[') + for i, item := range all { + if i > 0 { + data = append(data, ',') + } + data = append(data, '{') + data = append(data, item[1:]...) + data = append(data, '}') + } + data = append(data, ']') + return string(data) +} + +// stringHeader instead of reflect.StringHeader +type stringHeader struct { + data unsafe.Pointer + len int +} + +// sliceHeader instead of reflect.SliceHeader +type sliceHeader struct { + data unsafe.Pointer + len int + cap int +} + +// getBytes casts the input json bytes to a string and safely returns the +// results as uniquely allocated data. This operation is intended to minimize +// copies and allocations for the large json string->[]byte. +func getBytes(json []byte, path string) Result { + var result Result + if json != nil { + // unsafe cast to string + result = Get(*(*string)(unsafe.Pointer(&json)), path) + // safely get the string headers + rawhi := *(*stringHeader)(unsafe.Pointer(&result.Raw)) + strhi := *(*stringHeader)(unsafe.Pointer(&result.Str)) + // create byte slice headers + rawh := sliceHeader{data: rawhi.data, len: rawhi.len, cap: rawhi.len} + strh := sliceHeader{data: strhi.data, len: strhi.len, cap: rawhi.len} + if strh.data == nil { + // str is nil + if rawh.data == nil { + // raw is nil + result.Raw = "" + } else { + // raw has data, safely copy the slice header to a string + result.Raw = string(*(*[]byte)(unsafe.Pointer(&rawh))) + } + result.Str = "" + } else if rawh.data == nil { + // raw is nil + result.Raw = "" + // str has data, safely copy the slice header to a string + result.Str = string(*(*[]byte)(unsafe.Pointer(&strh))) + } else if uintptr(strh.data) >= uintptr(rawh.data) && + uintptr(strh.data)+uintptr(strh.len) <= + uintptr(rawh.data)+uintptr(rawh.len) { + // Str is a substring of Raw. + start := uintptr(strh.data) - uintptr(rawh.data) + // safely copy the raw slice header + result.Raw = string(*(*[]byte)(unsafe.Pointer(&rawh))) + // substring the raw + result.Str = result.Raw[start : start+uintptr(strh.len)] + } else { + // safely copy both the raw and str slice headers to strings + result.Raw = string(*(*[]byte)(unsafe.Pointer(&rawh))) + result.Str = string(*(*[]byte)(unsafe.Pointer(&strh))) + } + } + return result +} + +// fillIndex finds the position of Raw data and assigns it to the Index field +// of the resulting value. If the position cannot be found then Index zero is +// used instead. +func fillIndex(json string, c *parseContext) { + if len(c.value.Raw) > 0 && !c.calcd { + jhdr := *(*stringHeader)(unsafe.Pointer(&json)) + rhdr := *(*stringHeader)(unsafe.Pointer(&(c.value.Raw))) + c.value.Index = int(uintptr(rhdr.data) - uintptr(jhdr.data)) + if c.value.Index < 0 || c.value.Index >= len(json) { + c.value.Index = 0 + } + } +} + +func stringBytes(s string) []byte { + return *(*[]byte)(unsafe.Pointer(&sliceHeader{ + data: (*stringHeader)(unsafe.Pointer(&s)).data, + len: len(s), + cap: len(s), + })) +} + +func bytesString(b []byte) string { + return *(*string)(unsafe.Pointer(&b)) +} + +func revSquash(json string) string { + // reverse squash + // expects that the tail character is a ']' or '}' or ')' or '"' + // squash the value, ignoring all nested arrays and objects. + i := len(json) - 1 + var depth int + if json[i] != '"' { + depth++ + } + if json[i] == '}' || json[i] == ']' || json[i] == ')' { + i-- + } + for ; i >= 0; i-- { + switch json[i] { + case '"': + i-- + for ; i >= 0; i-- { + if json[i] == '"' { + esc := 0 + for i > 0 && json[i-1] == '\\' { + i-- + esc++ + } + if esc%2 == 1 { + continue + } + i += esc + break + } + } + if depth == 0 { + if i < 0 { + i = 0 + } + return json[i:] + } + case '}', ']', ')': + depth++ + case '{', '[', '(': + depth-- + if depth == 0 { + return json[i:] + } + } + } + return json +} + +// Paths returns the original GJSON paths for a Result where the Result came +// from a simple query path that returns an array, like: +// +// gjson.Get(json, "friends.#.first") +// +// The returned value will be in the form of a JSON array: +// +// ["friends.0.first","friends.1.first","friends.2.first"] +// +// The param 'json' must be the original JSON used when calling Get. +// +// Returns an empty string if the paths cannot be determined, which can happen +// when the Result came from a path that contained a multipath, modifier, +// or a nested query. +func (t Result) Paths(json string) []string { + if t.Indexes == nil { + return nil + } + paths := make([]string, 0, len(t.Indexes)) + t.ForEach(func(_, value Result) bool { + paths = append(paths, value.Path(json)) + return true + }) + if len(paths) != len(t.Indexes) { + return nil + } + return paths +} + +// Path returns the original GJSON path for a Result where the Result came +// from a simple path that returns a single value, like: +// +// gjson.Get(json, "friends.#(last=Murphy)") +// +// The returned value will be in the form of a JSON string: +// +// "friends.0" +// +// The param 'json' must be the original JSON used when calling Get. +// +// Returns an empty string if the paths cannot be determined, which can happen +// when the Result came from a path that contained a multipath, modifier, +// or a nested query. +func (t Result) Path(json string) string { + var path []byte + var comps []string // raw components + i := t.Index - 1 + if t.Index+len(t.Raw) > len(json) { + // JSON cannot safely contain Result. + goto fail + } + if !strings.HasPrefix(json[t.Index:], t.Raw) { + // Result is not at the JSON index as exepcted. + goto fail + } + for ; i >= 0; i-- { + if json[i] <= ' ' { + continue + } + if json[i] == ':' { + // inside of object, get the key + for ; i >= 0; i-- { + if json[i] != '"' { + continue + } + break + } + raw := revSquash(json[:i+1]) + i = i - len(raw) + comps = append(comps, raw) + // key gotten, now squash the rest + raw = revSquash(json[:i+1]) + i = i - len(raw) + i++ // increment the index for next loop step + } else if json[i] == '{' { + // Encountered an open object. The original result was probably an + // object key. + goto fail + } else if json[i] == ',' || json[i] == '[' { + // inside of an array, count the position + var arrIdx int + if json[i] == ',' { + arrIdx++ + i-- + } + for ; i >= 0; i-- { + if json[i] == ':' { + // Encountered an unexpected colon. The original result was + // probably an object key. + goto fail + } else if json[i] == ',' { + arrIdx++ + } else if json[i] == '[' { + comps = append(comps, strconv.Itoa(arrIdx)) + break + } else if json[i] == ']' || json[i] == '}' || json[i] == '"' { + raw := revSquash(json[:i+1]) + i = i - len(raw) + 1 + } + } + } + } + if len(comps) == 0 { + if DisableModifiers { + goto fail + } + return "@this" + } + for i := len(comps) - 1; i >= 0; i-- { + rcomp := Parse(comps[i]) + if !rcomp.Exists() { + goto fail + } + comp := escapeComp(rcomp.String()) + path = append(path, '.') + path = append(path, comp...) + } + if len(path) > 0 { + path = path[1:] + } + return string(path) +fail: + return "" +} + +// isSafePathKeyChar returns true if the input character is safe for not +// needing escaping. +func isSafePathKeyChar(c byte) bool { + return c <= ' ' || c > '~' || c == '_' || c == '-' || c == ':' || + (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') +} + +// escapeComp escaped a path compontent, making it safe for generating a +// path for later use. +func escapeComp(comp string) string { + for i := 0; i < len(comp); i++ { + if !isSafePathKeyChar(comp[i]) { + ncomp := []byte(comp[:i]) + for ; i < len(comp); i++ { + if !isSafePathKeyChar(comp[i]) { + ncomp = append(ncomp, '\\') + } + ncomp = append(ncomp, comp[i]) + } + return string(ncomp) + } + } + return comp +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/logo.png b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/gjson/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..17a8bbe9d651e5d79cbd59a3645a152443440ad6 GIT binary patch literal 15936 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

Bg_)L$48&o}ack zt!HAQladuqH6nxcdZjxF6vTK*7%AV0IOX}JZ^u_OkMumMel#gIzv1VJUb|?$j71?Q zE%B-a&vFk0&Z20HLn$L5hH9dQ4Ef5bKHOX_RfA5_`gJvR%bW4}0DCGg0Va&YC>upU z1&8GC>xLY}LkxejF;yq2sOY~5Cqo4UPpDVfIk~O=P(Gb%k`up^XsPRv9)fXL9y}y5 z_nYE{jUJUly7pJ?$r_eiajL0B@N?t6efF1pS9lk2UGDMWIj>@eS3OH*kme)>qMs4c zXm_q!8hu`I8Dhv5J1?UvlYLJ*X6D(~=y^sb&mT@}>JxIp-$sTvzSdP`p2 zJSTpI%GX_eG4+h<`8LXOC{XRWB^Zd0<_&>b2eoF`!(!~j1?f~Xrey`D;63!OSo@1j zhVkNITfkbp3}EkdgcmMq1ZjCrPrG8@X$!y3nZFDG<8?k82gdmVJ<<=koN(R0uQJ&q&;Hm9we)+ z>EiW_<2L!S=W{bXQR{t-Xk&^=i3!xJ1GH*$ft^*`kFY2U5$7}?R(xpv1OE!wXhM-U z{|-m&g!{Wci5J~AR7xhAcz2%T1X}X;Lm5kqn$n>CdZG%!jlgyEgu}8cSE=Tna>KaW zE{i{1$MRasX61aWzh$Kz+gg_XXfmLI)gJjN8%-etjvKrZa0TIVu@FNzi_DBbgG}?X zc%`<^VRHLdaERnl?k6tkmy~V-6wDDz--2n{wg8GA9pEX|*>WDA)uFS%@&MN%-fruuv;9cz5hkb^M5ny{e|a>hsQrwX-D^ zNBO*f*^1b~?2NHQ2g~@Hiq$_V;Z8|Q@sz(OJ-_;@xOeF3^57a-&;bjXTR0^(9&O1`Qs5mDXKaZ{gYh~^a4>N0el@Q8ji@;G0VwtnJC=gh zkvhS5%hY0~-FeS=8*`P?hYjBB(TJ(h3vvLJ;q{z?7Jf~hQZOlh z8(M!wZ6}#fur(A{mkQvWp^(z{kJ9Qcf&hRH6HK!c5b1?W28wck^aQ{Ju^0{PD&(m< zLbu{`I17`!l>tz)uDi~j;Q*7#M!X;*rP#E#K`0MHVO=C_Y>Kpq3I%tz)KS21z(70w zu+S+efLBlwQ<3knLW3-aM&dW%uuv1r?kQqDWsn|wHc35K!jBl%t~9oLn(8w!(iF2Y zj)Ca3zC|-dT69O*c44Drzb zTWRcGB4pjuzq;tNLKJ7H7&3CTH`^5&fs^&Csh+4TdNT~n>o18P123FK1<6Ap7>9OE zH?~wjjt8TicxY-E;Ld@{^P%j9BpeC^HJlw8iW2I<*Vc#1VH5Y&k@$T23>riN5a^fE z1xtK3We+L~pTm`C@mKj&g@flbKtRjuc?i2+3nW^d516YT2Qx*|&}0%IIZ{BK)n@-A z7W$f>T8g%2qR?15Ezb7#Al1jSng=Um;<;^4CZ)UF4*B#s16}WxXDR&e;IFDemyJBP zQD>pCTMx2W)Iwg$ckc4ElkYeRp?hVt(&_O^6u-=WO4y!T>T70vx)M)1f17nmsqw{$ zZhYP=C<2j}m^Lg-ex&8RKf~0WrfrL!~NLQ^Xk?)No>Z1xiNn~MBa)Y#@)-369lm6 zDH#U3Pv&kw{mt3+_t3uW8=*{`^%?Rl0~ff@XZrjZDZCjasI5PtLP6)zBrRO$pYlfV z4DCdS&(8)uR*23AuP?jhTi@#6yL=G*b~7!5d3?2d_2DzzR3V+SVCZe@ULo|*Qz`CV z*j}+=>D|^uy$<{s0tgCLYba;t*4jWsj}CfRI?T4cS90us!fy8Lz;(qp7V}H&`+loKEpPZr6wt`2EqWMWj z6-EjjNWU@D@IQdNmlvT5>qUq{`9m maxcomp*len(str). +func MatchLimit(str, pattern string, maxcomp int) (matched, stopped bool) { + if pattern == "*" { + return true, false + } + counter := 0 + r := match(str, pattern, len(str), &counter, maxcomp) + if r == rStop { + return false, true + } + return r == rMatch, false +} + +type result int + +const ( + rNoMatch result = iota + rMatch + rStop +) + +func match(str, pat string, slen int, counter *int, maxcomp int) result { + // check complexity limit + if maxcomp > -1 { + if *counter > slen*maxcomp { + return rStop + } + *counter++ + } + + for len(pat) > 0 { + var wild bool + pc, ps := rune(pat[0]), 1 + if pc > 0x7f { + pc, ps = utf8.DecodeRuneInString(pat) + } + var sc rune + var ss int + if len(str) > 0 { + sc, ss = rune(str[0]), 1 + if sc > 0x7f { + sc, ss = utf8.DecodeRuneInString(str) + } + } + switch pc { + case '?': + if ss == 0 { + return rNoMatch + } + case '*': + // Ignore repeating stars. + for len(pat) > 1 && pat[1] == '*' { + pat = pat[1:] + } + + // If this star is the last character then it must be a match. + if len(pat) == 1 { + return rMatch + } + + // Match and trim any non-wildcard suffix characters. + var ok bool + str, pat, ok = matchTrimSuffix(str, pat) + if !ok { + return rNoMatch + } + + // Check for single star again. + if len(pat) == 1 { + return rMatch + } + + // Perform recursive wildcard search. + r := match(str, pat[1:], slen, counter, maxcomp) + if r != rNoMatch { + return r + } + if len(str) == 0 { + return rNoMatch + } + wild = true + default: + if ss == 0 { + return rNoMatch + } + if pc == '\\' { + pat = pat[ps:] + pc, ps = utf8.DecodeRuneInString(pat) + if ps == 0 { + return rNoMatch + } + } + if sc != pc { + return rNoMatch + } + } + str = str[ss:] + if !wild { + pat = pat[ps:] + } + } + if len(str) == 0 { + return rMatch + } + return rNoMatch +} + +// matchTrimSuffix matches and trims any non-wildcard suffix characters. +// Returns the trimed string and pattern. +// +// This is called because the pattern contains extra data after the wildcard +// star. Here we compare any suffix characters in the pattern to the suffix of +// the target string. Basically a reverse match that stops when a wildcard +// character is reached. This is a little trickier than a forward match because +// we need to evaluate an escaped character in reverse. +// +// Any matched characters will be trimmed from both the target +// string and the pattern. +func matchTrimSuffix(str, pat string) (string, string, bool) { + // It's expected that the pattern has at least two bytes and the first byte + // is a wildcard star '*' + match := true + for len(str) > 0 && len(pat) > 1 { + pc, ps := utf8.DecodeLastRuneInString(pat) + var esc bool + for i := 0; ; i++ { + if pat[len(pat)-ps-i-1] != '\\' { + if i&1 == 1 { + esc = true + ps++ + } + break + } + } + if pc == '*' && !esc { + match = true + break + } + sc, ss := utf8.DecodeLastRuneInString(str) + if !((pc == '?' && !esc) || pc == sc) { + match = false + break + } + str = str[:len(str)-ss] + pat = pat[:len(pat)-ps] + } + return str, pat, match +} + +var maxRuneBytes = [...]byte{244, 143, 191, 191} + +// Allowable parses the pattern and determines the minimum and maximum allowable +// values that the pattern can represent. +// When the max cannot be determined, 'true' will be returned +// for infinite. +func Allowable(pattern string) (min, max string) { + if pattern == "" || pattern[0] == '*' { + return "", "" + } + + minb := make([]byte, 0, len(pattern)) + maxb := make([]byte, 0, len(pattern)) + var wild bool + for i := 0; i < len(pattern); i++ { + if pattern[i] == '*' { + wild = true + break + } + if pattern[i] == '?' { + minb = append(minb, 0) + maxb = append(maxb, maxRuneBytes[:]...) + } else { + minb = append(minb, pattern[i]) + maxb = append(maxb, pattern[i]) + } + } + if wild { + r, n := utf8.DecodeLastRune(maxb) + if r != utf8.RuneError { + if r < utf8.MaxRune { + r++ + if r > 0x7f { + b := make([]byte, 4) + nn := utf8.EncodeRune(b, r) + maxb = append(maxb[:len(maxb)-n], b[:nn]...) + } else { + maxb = append(maxb[:len(maxb)-n], byte(r)) + } + } + } + } + return string(minb), string(maxb) +} + +// IsPattern returns true if the string is a pattern. +func IsPattern(str string) bool { + for i := 0; i < len(str); i++ { + if str[i] == '*' || str[i] == '?' { + return true + } + } + return false +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/LICENSE b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/LICENSE new file mode 100644 index 00000000..993b83f2 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2017 Josh Baker + +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. diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/README.md b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/README.md new file mode 100644 index 00000000..76c06a5e --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/README.md @@ -0,0 +1,122 @@ +# Pretty + +[![GoDoc](https://img.shields.io/badge/api-reference-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/tidwall/pretty) + +Pretty is a Go package that provides [fast](#performance) methods for formatting JSON for human readability, or to compact JSON for smaller payloads. + +Getting Started +=============== + +## Installing + +To start using Pretty, install Go and run `go get`: + +```sh +$ go get -u github.com/tidwall/pretty +``` + +This will retrieve the library. + +## Pretty + +Using this example: + +```json +{"name": {"first":"Tom","last":"Anderson"}, "age":37, +"children": ["Sara","Alex","Jack"], +"fav.movie": "Deer Hunter", "friends": [ + {"first": "Janet", "last": "Murphy", "age": 44} + ]} +``` + +The following code: +```go +result = pretty.Pretty(example) +``` + +Will format the json to: + +```json +{ + "name": { + "first": "Tom", + "last": "Anderson" + }, + "age": 37, + "children": ["Sara", "Alex", "Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + { + "first": "Janet", + "last": "Murphy", + "age": 44 + } + ] +} +``` + +## Color + +Color will colorize the json for outputing to the screen. + +```go +result = pretty.Color(json, nil) +``` + +Will add color to the result for printing to the terminal. +The second param is used for a customizing the style, and passing nil will use the default `pretty.TerminalStyle`. + +## Ugly + +The following code: +```go +result = pretty.Ugly(example) +``` + +Will format the json to: + +```json +{"name":{"first":"Tom","last":"Anderson"},"age":37,"children":["Sara","Alex","Jack"],"fav.movie":"Deer Hunter","friends":[{"first":"Janet","last":"Murphy","age":44}]}``` +``` + +## Customized output + +There's a `PrettyOptions(json, opts)` function which allows for customizing the output with the following options: + +```go +type Options struct { + // Width is an max column width for single line arrays + // Default is 80 + Width int + // Prefix is a prefix for all lines + // Default is an empty string + Prefix string + // Indent is the nested indentation + // Default is two spaces + Indent string + // SortKeys will sort the keys alphabetically + // Default is false + SortKeys bool +} +``` +## Performance + +Benchmarks of Pretty alongside the builtin `encoding/json` Indent/Compact methods. +``` +BenchmarkPretty-16 1000000 1034 ns/op 720 B/op 2 allocs/op +BenchmarkPrettySortKeys-16 586797 1983 ns/op 2848 B/op 14 allocs/op +BenchmarkUgly-16 4652365 254 ns/op 240 B/op 1 allocs/op +BenchmarkUglyInPlace-16 6481233 183 ns/op 0 B/op 0 allocs/op +BenchmarkJSONIndent-16 450654 2687 ns/op 1221 B/op 0 allocs/op +BenchmarkJSONCompact-16 685111 1699 ns/op 442 B/op 0 allocs/op +``` + +*These benchmarks were run on a MacBook Pro 2.4 GHz 8-Core Intel Core i9.* + +## Contact +Josh Baker [@tidwall](http://twitter.com/tidwall) + +## License + +Pretty source code is available under the MIT [License](/LICENSE). + diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/pretty.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/pretty.go new file mode 100644 index 00000000..d705f9cd --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/pretty/pretty.go @@ -0,0 +1,682 @@ +package pretty + +import ( + "bytes" + "encoding/json" + "sort" + "strconv" +) + +// Options is Pretty options +type Options struct { + // Width is an max column width for single line arrays + // Default is 80 + Width int + // Prefix is a prefix for all lines + // Default is an empty string + Prefix string + // Indent is the nested indentation + // Default is two spaces + Indent string + // SortKeys will sort the keys alphabetically + // Default is false + SortKeys bool +} + +// DefaultOptions is the default options for pretty formats. +var DefaultOptions = &Options{Width: 80, Prefix: "", Indent: " ", SortKeys: false} + +// Pretty converts the input json into a more human readable format where each +// element is on it's own line with clear indentation. +func Pretty(json []byte) []byte { return PrettyOptions(json, nil) } + +// PrettyOptions is like Pretty but with customized options. +func PrettyOptions(json []byte, opts *Options) []byte { + if opts == nil { + opts = DefaultOptions + } + buf := make([]byte, 0, len(json)) + if len(opts.Prefix) != 0 { + buf = append(buf, opts.Prefix...) + } + buf, _, _, _ = appendPrettyAny(buf, json, 0, true, + opts.Width, opts.Prefix, opts.Indent, opts.SortKeys, + 0, 0, -1) + if len(buf) > 0 { + buf = append(buf, '\n') + } + return buf +} + +// Ugly removes insignificant space characters from the input json byte slice +// and returns the compacted result. +func Ugly(json []byte) []byte { + buf := make([]byte, 0, len(json)) + return ugly(buf, json) +} + +// UglyInPlace removes insignificant space characters from the input json +// byte slice and returns the compacted result. This method reuses the +// input json buffer to avoid allocations. Do not use the original bytes +// slice upon return. +func UglyInPlace(json []byte) []byte { return ugly(json, json) } + +func ugly(dst, src []byte) []byte { + dst = dst[:0] + for i := 0; i < len(src); i++ { + if src[i] > ' ' { + dst = append(dst, src[i]) + if src[i] == '"' { + for i = i + 1; i < len(src); i++ { + dst = append(dst, src[i]) + if src[i] == '"' { + j := i - 1 + for ; ; j-- { + if src[j] != '\\' { + break + } + } + if (j-i)%2 != 0 { + break + } + } + } + } + } + } + return dst +} + +func isNaNOrInf(src []byte) bool { + return src[0] == 'i' || //Inf + src[0] == 'I' || // inf + src[0] == '+' || // +Inf + src[0] == 'N' || // Nan + (src[0] == 'n' && len(src) > 1 && src[1] != 'u') // nan +} + +func appendPrettyAny(buf, json []byte, i int, pretty bool, width int, prefix, indent string, sortkeys bool, tabs, nl, max int) ([]byte, int, int, bool) { + for ; i < len(json); i++ { + if json[i] <= ' ' { + continue + } + if json[i] == '"' { + return appendPrettyString(buf, json, i, nl) + } + + if (json[i] >= '0' && json[i] <= '9') || json[i] == '-' || isNaNOrInf(json[i:]) { + return appendPrettyNumber(buf, json, i, nl) + } + if json[i] == '{' { + return appendPrettyObject(buf, json, i, '{', '}', pretty, width, prefix, indent, sortkeys, tabs, nl, max) + } + if json[i] == '[' { + return appendPrettyObject(buf, json, i, '[', ']', pretty, width, prefix, indent, sortkeys, tabs, nl, max) + } + switch json[i] { + case 't': + return append(buf, 't', 'r', 'u', 'e'), i + 4, nl, true + case 'f': + return append(buf, 'f', 'a', 'l', 's', 'e'), i + 5, nl, true + case 'n': + return append(buf, 'n', 'u', 'l', 'l'), i + 4, nl, true + } + } + return buf, i, nl, true +} + +type pair struct { + kstart, kend int + vstart, vend int +} + +type byKeyVal struct { + sorted bool + json []byte + buf []byte + pairs []pair +} + +func (arr *byKeyVal) Len() int { + return len(arr.pairs) +} +func (arr *byKeyVal) Less(i, j int) bool { + if arr.isLess(i, j, byKey) { + return true + } + if arr.isLess(j, i, byKey) { + return false + } + return arr.isLess(i, j, byVal) +} +func (arr *byKeyVal) Swap(i, j int) { + arr.pairs[i], arr.pairs[j] = arr.pairs[j], arr.pairs[i] + arr.sorted = true +} + +type byKind int + +const ( + byKey byKind = 0 + byVal byKind = 1 +) + +type jtype int + +const ( + jnull jtype = iota + jfalse + jnumber + jstring + jtrue + jjson +) + +func getjtype(v []byte) jtype { + if len(v) == 0 { + return jnull + } + switch v[0] { + case '"': + return jstring + case 'f': + return jfalse + case 't': + return jtrue + case 'n': + return jnull + case '[', '{': + return jjson + default: + return jnumber + } +} + +func (arr *byKeyVal) isLess(i, j int, kind byKind) bool { + k1 := arr.json[arr.pairs[i].kstart:arr.pairs[i].kend] + k2 := arr.json[arr.pairs[j].kstart:arr.pairs[j].kend] + var v1, v2 []byte + if kind == byKey { + v1 = k1 + v2 = k2 + } else { + v1 = bytes.TrimSpace(arr.buf[arr.pairs[i].vstart:arr.pairs[i].vend]) + v2 = bytes.TrimSpace(arr.buf[arr.pairs[j].vstart:arr.pairs[j].vend]) + if len(v1) >= len(k1)+1 { + v1 = bytes.TrimSpace(v1[len(k1)+1:]) + } + if len(v2) >= len(k2)+1 { + v2 = bytes.TrimSpace(v2[len(k2)+1:]) + } + } + t1 := getjtype(v1) + t2 := getjtype(v2) + if t1 < t2 { + return true + } + if t1 > t2 { + return false + } + if t1 == jstring { + s1 := parsestr(v1) + s2 := parsestr(v2) + return string(s1) < string(s2) + } + if t1 == jnumber { + n1, _ := strconv.ParseFloat(string(v1), 64) + n2, _ := strconv.ParseFloat(string(v2), 64) + return n1 < n2 + } + return string(v1) < string(v2) + +} + +func parsestr(s []byte) []byte { + for i := 1; i < len(s); i++ { + if s[i] == '\\' { + var str string + json.Unmarshal(s, &str) + return []byte(str) + } + if s[i] == '"' { + return s[1:i] + } + } + return nil +} + +func appendPrettyObject(buf, json []byte, i int, open, close byte, pretty bool, width int, prefix, indent string, sortkeys bool, tabs, nl, max int) ([]byte, int, int, bool) { + var ok bool + if width > 0 { + if pretty && open == '[' && max == -1 { + // here we try to create a single line array + max := width - (len(buf) - nl) + if max > 3 { + s1, s2 := len(buf), i + buf, i, _, ok = appendPrettyObject(buf, json, i, '[', ']', false, width, prefix, "", sortkeys, 0, 0, max) + if ok && len(buf)-s1 <= max { + return buf, i, nl, true + } + buf = buf[:s1] + i = s2 + } + } else if max != -1 && open == '{' { + return buf, i, nl, false + } + } + buf = append(buf, open) + i++ + var pairs []pair + if open == '{' && sortkeys { + pairs = make([]pair, 0, 8) + } + var n int + for ; i < len(json); i++ { + if json[i] <= ' ' { + continue + } + if json[i] == close { + if pretty { + if open == '{' && sortkeys { + buf = sortPairs(json, buf, pairs) + } + if n > 0 { + nl = len(buf) + if buf[nl-1] == ' ' { + buf[nl-1] = '\n' + } else { + buf = append(buf, '\n') + } + } + if buf[len(buf)-1] != open { + buf = appendTabs(buf, prefix, indent, tabs) + } + } + buf = append(buf, close) + return buf, i + 1, nl, open != '{' + } + if open == '[' || json[i] == '"' { + if n > 0 { + buf = append(buf, ',') + if width != -1 && open == '[' { + buf = append(buf, ' ') + } + } + var p pair + if pretty { + nl = len(buf) + if buf[nl-1] == ' ' { + buf[nl-1] = '\n' + } else { + buf = append(buf, '\n') + } + if open == '{' && sortkeys { + p.kstart = i + p.vstart = len(buf) + } + buf = appendTabs(buf, prefix, indent, tabs+1) + } + if open == '{' { + buf, i, nl, _ = appendPrettyString(buf, json, i, nl) + if sortkeys { + p.kend = i + } + buf = append(buf, ':') + if pretty { + buf = append(buf, ' ') + } + } + buf, i, nl, ok = appendPrettyAny(buf, json, i, pretty, width, prefix, indent, sortkeys, tabs+1, nl, max) + if max != -1 && !ok { + return buf, i, nl, false + } + if pretty && open == '{' && sortkeys { + p.vend = len(buf) + if p.kstart > p.kend || p.vstart > p.vend { + // bad data. disable sorting + sortkeys = false + } else { + pairs = append(pairs, p) + } + } + i-- + n++ + } + } + return buf, i, nl, open != '{' +} +func sortPairs(json, buf []byte, pairs []pair) []byte { + if len(pairs) == 0 { + return buf + } + vstart := pairs[0].vstart + vend := pairs[len(pairs)-1].vend + arr := byKeyVal{false, json, buf, pairs} + sort.Stable(&arr) + if !arr.sorted { + return buf + } + nbuf := make([]byte, 0, vend-vstart) + for i, p := range pairs { + nbuf = append(nbuf, buf[p.vstart:p.vend]...) + if i < len(pairs)-1 { + nbuf = append(nbuf, ',') + nbuf = append(nbuf, '\n') + } + } + return append(buf[:vstart], nbuf...) +} + +func appendPrettyString(buf, json []byte, i, nl int) ([]byte, int, int, bool) { + s := i + i++ + for ; i < len(json); i++ { + if json[i] == '"' { + var sc int + for j := i - 1; j > s; j-- { + if json[j] == '\\' { + sc++ + } else { + break + } + } + if sc%2 == 1 { + continue + } + i++ + break + } + } + return append(buf, json[s:i]...), i, nl, true +} + +func appendPrettyNumber(buf, json []byte, i, nl int) ([]byte, int, int, bool) { + s := i + i++ + for ; i < len(json); i++ { + if json[i] <= ' ' || json[i] == ',' || json[i] == ':' || json[i] == ']' || json[i] == '}' { + break + } + } + return append(buf, json[s:i]...), i, nl, true +} + +func appendTabs(buf []byte, prefix, indent string, tabs int) []byte { + if len(prefix) != 0 { + buf = append(buf, prefix...) + } + if len(indent) == 2 && indent[0] == ' ' && indent[1] == ' ' { + for i := 0; i < tabs; i++ { + buf = append(buf, ' ', ' ') + } + } else { + for i := 0; i < tabs; i++ { + buf = append(buf, indent...) + } + } + return buf +} + +// Style is the color style +type Style struct { + Key, String, Number [2]string + True, False, Null [2]string + Escape [2]string + Brackets [2]string + Append func(dst []byte, c byte) []byte +} + +func hexp(p byte) byte { + switch { + case p < 10: + return p + '0' + default: + return (p - 10) + 'a' + } +} + +// TerminalStyle is for terminals +var TerminalStyle *Style + +func init() { + TerminalStyle = &Style{ + Key: [2]string{"\x1B[1m\x1B[94m", "\x1B[0m"}, + String: [2]string{"\x1B[32m", "\x1B[0m"}, + Number: [2]string{"\x1B[33m", "\x1B[0m"}, + True: [2]string{"\x1B[36m", "\x1B[0m"}, + False: [2]string{"\x1B[36m", "\x1B[0m"}, + Null: [2]string{"\x1B[2m", "\x1B[0m"}, + Escape: [2]string{"\x1B[35m", "\x1B[0m"}, + Brackets: [2]string{"\x1B[1m", "\x1B[0m"}, + Append: func(dst []byte, c byte) []byte { + if c < ' ' && (c != '\r' && c != '\n' && c != '\t' && c != '\v') { + dst = append(dst, "\\u00"...) + dst = append(dst, hexp((c>>4)&0xF)) + return append(dst, hexp((c)&0xF)) + } + return append(dst, c) + }, + } +} + +// Color will colorize the json. The style parma is used for customizing +// the colors. Passing nil to the style param will use the default +// TerminalStyle. +func Color(src []byte, style *Style) []byte { + if style == nil { + style = TerminalStyle + } + apnd := style.Append + if apnd == nil { + apnd = func(dst []byte, c byte) []byte { + return append(dst, c) + } + } + type stackt struct { + kind byte + key bool + } + var dst []byte + var stack []stackt + for i := 0; i < len(src); i++ { + if src[i] == '"' { + key := len(stack) > 0 && stack[len(stack)-1].key + if key { + dst = append(dst, style.Key[0]...) + } else { + dst = append(dst, style.String[0]...) + } + dst = apnd(dst, '"') + esc := false + uesc := 0 + for i = i + 1; i < len(src); i++ { + if src[i] == '\\' { + if key { + dst = append(dst, style.Key[1]...) + } else { + dst = append(dst, style.String[1]...) + } + dst = append(dst, style.Escape[0]...) + dst = apnd(dst, src[i]) + esc = true + if i+1 < len(src) && src[i+1] == 'u' { + uesc = 5 + } else { + uesc = 1 + } + } else if esc { + dst = apnd(dst, src[i]) + if uesc == 1 { + esc = false + dst = append(dst, style.Escape[1]...) + if key { + dst = append(dst, style.Key[0]...) + } else { + dst = append(dst, style.String[0]...) + } + } else { + uesc-- + } + } else { + dst = apnd(dst, src[i]) + } + if src[i] == '"' { + j := i - 1 + for ; ; j-- { + if src[j] != '\\' { + break + } + } + if (j-i)%2 != 0 { + break + } + } + } + if esc { + dst = append(dst, style.Escape[1]...) + } else if key { + dst = append(dst, style.Key[1]...) + } else { + dst = append(dst, style.String[1]...) + } + } else if src[i] == '{' || src[i] == '[' { + stack = append(stack, stackt{src[i], src[i] == '{'}) + dst = append(dst, style.Brackets[0]...) + dst = apnd(dst, src[i]) + dst = append(dst, style.Brackets[1]...) + } else if (src[i] == '}' || src[i] == ']') && len(stack) > 0 { + stack = stack[:len(stack)-1] + dst = append(dst, style.Brackets[0]...) + dst = apnd(dst, src[i]) + dst = append(dst, style.Brackets[1]...) + } else if (src[i] == ':' || src[i] == ',') && len(stack) > 0 && stack[len(stack)-1].kind == '{' { + stack[len(stack)-1].key = !stack[len(stack)-1].key + dst = append(dst, style.Brackets[0]...) + dst = apnd(dst, src[i]) + dst = append(dst, style.Brackets[1]...) + } else { + var kind byte + if (src[i] >= '0' && src[i] <= '9') || src[i] == '-' || isNaNOrInf(src[i:]) { + kind = '0' + dst = append(dst, style.Number[0]...) + } else if src[i] == 't' { + kind = 't' + dst = append(dst, style.True[0]...) + } else if src[i] == 'f' { + kind = 'f' + dst = append(dst, style.False[0]...) + } else if src[i] == 'n' { + kind = 'n' + dst = append(dst, style.Null[0]...) + } else { + dst = apnd(dst, src[i]) + } + if kind != 0 { + for ; i < len(src); i++ { + if src[i] <= ' ' || src[i] == ',' || src[i] == ':' || src[i] == ']' || src[i] == '}' { + i-- + break + } + dst = apnd(dst, src[i]) + } + if kind == '0' { + dst = append(dst, style.Number[1]...) + } else if kind == 't' { + dst = append(dst, style.True[1]...) + } else if kind == 'f' { + dst = append(dst, style.False[1]...) + } else if kind == 'n' { + dst = append(dst, style.Null[1]...) + } + } + } + } + return dst +} + +// Spec strips out comments and trailing commas and convert the input to a +// valid JSON per the official spec: https://tools.ietf.org/html/rfc8259 +// +// The resulting JSON will always be the same length as the input and it will +// include all of the same line breaks at matching offsets. This is to ensure +// the result can be later processed by a external parser and that that +// parser will report messages or errors with the correct offsets. +func Spec(src []byte) []byte { + return spec(src, nil) +} + +// SpecInPlace is the same as Spec, but this method reuses the input json +// buffer to avoid allocations. Do not use the original bytes slice upon return. +func SpecInPlace(src []byte) []byte { + return spec(src, src) +} + +func spec(src, dst []byte) []byte { + dst = dst[:0] + for i := 0; i < len(src); i++ { + if src[i] == '/' { + if i < len(src)-1 { + if src[i+1] == '/' { + dst = append(dst, ' ', ' ') + i += 2 + for ; i < len(src); i++ { + if src[i] == '\n' { + dst = append(dst, '\n') + break + } else if src[i] == '\t' || src[i] == '\r' { + dst = append(dst, src[i]) + } else { + dst = append(dst, ' ') + } + } + continue + } + if src[i+1] == '*' { + dst = append(dst, ' ', ' ') + i += 2 + for ; i < len(src)-1; i++ { + if src[i] == '*' && src[i+1] == '/' { + dst = append(dst, ' ', ' ') + i++ + break + } else if src[i] == '\n' || src[i] == '\t' || + src[i] == '\r' { + dst = append(dst, src[i]) + } else { + dst = append(dst, ' ') + } + } + continue + } + } + } + dst = append(dst, src[i]) + if src[i] == '"' { + for i = i + 1; i < len(src); i++ { + dst = append(dst, src[i]) + if src[i] == '"' { + j := i - 1 + for ; ; j-- { + if src[j] != '\\' { + break + } + } + if (j-i)%2 != 0 { + break + } + } + } + } else if src[i] == '}' || src[i] == ']' { + for j := len(dst) - 2; j >= 0; j-- { + if dst[j] <= ' ' { + continue + } + if dst[j] == ',' { + dst[j] = ' ' + } + break + } + } + } + return dst +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/LICENSE b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/LICENSE new file mode 100644 index 00000000..89593c7c --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Josh Baker + +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. + diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/README.md b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/README.md new file mode 100644 index 00000000..4598424e --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/README.md @@ -0,0 +1,278 @@ +

+SJSON +
+GoDoc +

+ +

set a json value quickly

+ +SJSON is a Go package that provides a [very fast](#performance) and simple way to set a value in a json document. +For quickly retrieving json values check out [GJSON](https://github.com/tidwall/gjson). + +For a command line interface check out [JJ](https://github.com/tidwall/jj). + +Getting Started +=============== + +Installing +---------- + +To start using SJSON, install Go and run `go get`: + +```sh +$ go get -u github.com/tidwall/sjson +``` + +This will retrieve the library. + +Set a value +----------- +Set sets the value for the specified path. +A path is in dot syntax, such as "name.last" or "age". +This function expects that the json is well-formed and validated. +Invalid json will not panic, but it may return back unexpected results. +Invalid paths may return an error. + +```go +package main + +import "github.com/tidwall/sjson" + +const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}` + +func main() { + value, _ := sjson.Set(json, "name.last", "Anderson") + println(value) +} +``` + +This will print: + +```json +{"name":{"first":"Janet","last":"Anderson"},"age":47} +``` + +Path syntax +----------- + +A path is a series of keys separated by a dot. +The dot and colon characters can be escaped with ``\``. + +```json +{ + "name": {"first": "Tom", "last": "Anderson"}, + "age":37, + "children": ["Sara","Alex","Jack"], + "fav.movie": "Deer Hunter", + "friends": [ + {"first": "James", "last": "Murphy"}, + {"first": "Roger", "last": "Craig"} + ] +} +``` +``` +"name.last" >> "Anderson" +"age" >> 37 +"children.1" >> "Alex" +"friends.1.last" >> "Craig" +``` + +The `-1` key can be used to append a value to an existing array: + +``` +"children.-1" >> appends a new value to the end of the children array +``` + +Normally number keys are used to modify arrays, but it's possible to force a numeric object key by using the colon character: + +```json +{ + "users":{ + "2313":{"name":"Sara"}, + "7839":{"name":"Andy"} + } +} +``` + +A colon path would look like: + +``` +"users.:2313.name" >> "Sara" +``` + +Supported types +--------------- + +Pretty much any type is supported: + +```go +sjson.Set(`{"key":true}`, "key", nil) +sjson.Set(`{"key":true}`, "key", false) +sjson.Set(`{"key":true}`, "key", 1) +sjson.Set(`{"key":true}`, "key", 10.5) +sjson.Set(`{"key":true}`, "key", "hello") +sjson.Set(`{"key":true}`, "key", []string{"hello", "world"}) +sjson.Set(`{"key":true}`, "key", map[string]interface{}{"hello":"world"}) +``` + +When a type is not recognized, SJSON will fallback to the `encoding/json` Marshaller. + + +Examples +-------- + +Set a value from empty document: +```go +value, _ := sjson.Set("", "name", "Tom") +println(value) + +// Output: +// {"name":"Tom"} +``` + +Set a nested value from empty document: +```go +value, _ := sjson.Set("", "name.last", "Anderson") +println(value) + +// Output: +// {"name":{"last":"Anderson"}} +``` + +Set a new value: +```go +value, _ := sjson.Set(`{"name":{"last":"Anderson"}}`, "name.first", "Sara") +println(value) + +// Output: +// {"name":{"first":"Sara","last":"Anderson"}} +``` + +Update an existing value: +```go +value, _ := sjson.Set(`{"name":{"last":"Anderson"}}`, "name.last", "Smith") +println(value) + +// Output: +// {"name":{"last":"Smith"}} +``` + +Set a new array value: +```go +value, _ := sjson.Set(`{"friends":["Andy","Carol"]}`, "friends.2", "Sara") +println(value) + +// Output: +// {"friends":["Andy","Carol","Sara"] +``` + +Append an array value by using the `-1` key in a path: +```go +value, _ := sjson.Set(`{"friends":["Andy","Carol"]}`, "friends.-1", "Sara") +println(value) + +// Output: +// {"friends":["Andy","Carol","Sara"] +``` + +Append an array value that is past the end: +```go +value, _ := sjson.Set(`{"friends":["Andy","Carol"]}`, "friends.4", "Sara") +println(value) + +// Output: +// {"friends":["Andy","Carol",null,null,"Sara"] +``` + +Delete a value: +```go +value, _ := sjson.Delete(`{"name":{"first":"Sara","last":"Anderson"}}`, "name.first") +println(value) + +// Output: +// {"name":{"last":"Anderson"}} +``` + +Delete an array value: +```go +value, _ := sjson.Delete(`{"friends":["Andy","Carol"]}`, "friends.1") +println(value) + +// Output: +// {"friends":["Andy"]} +``` + +Delete the last array value: +```go +value, _ := sjson.Delete(`{"friends":["Andy","Carol"]}`, "friends.-1") +println(value) + +// Output: +// {"friends":["Andy"]} +``` + +## Performance + +Benchmarks of SJSON alongside [encoding/json](https://golang.org/pkg/encoding/json/), +[ffjson](https://github.com/pquerna/ffjson), +[EasyJSON](https://github.com/mailru/easyjson), +and [Gabs](https://github.com/Jeffail/gabs) + +``` +Benchmark_SJSON-8 3000000 805 ns/op 1077 B/op 3 allocs/op +Benchmark_SJSON_ReplaceInPlace-8 3000000 449 ns/op 0 B/op 0 allocs/op +Benchmark_JSON_Map-8 300000 21236 ns/op 6392 B/op 150 allocs/op +Benchmark_JSON_Struct-8 300000 14691 ns/op 1789 B/op 24 allocs/op +Benchmark_Gabs-8 300000 21311 ns/op 6752 B/op 150 allocs/op +Benchmark_FFJSON-8 300000 17673 ns/op 3589 B/op 47 allocs/op +Benchmark_EasyJSON-8 1500000 3119 ns/op 1061 B/op 13 allocs/op +``` + +JSON document used: + +```json +{ + "widget": { + "debug": "on", + "window": { + "title": "Sample Konfabulator Widget", + "name": "main_window", + "width": 500, + "height": 500 + }, + "image": { + "src": "Images/Sun.png", + "hOffset": 250, + "vOffset": 250, + "alignment": "center" + }, + "text": { + "data": "Click Here", + "size": 36, + "style": "bold", + "vOffset": 100, + "alignment": "center", + "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" + } + } +} +``` + +Each operation was rotated though one of the following search paths: + +``` +widget.window.name +widget.image.hOffset +widget.text.onMouseUp +``` + +*These benchmarks were run on a MacBook Pro 15" 2.8 GHz Intel Core i7 using Go 1.7 and can be be found [here](https://github.com/tidwall/sjson-benchmarks)*. + +## Contact +Josh Baker [@tidwall](http://twitter.com/tidwall) + +## License + +SJSON source code is available under the MIT [License](/LICENSE). diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/logo.png b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5aa257b6b5a72bf7d759c23d94c5928cd8eb318 GIT binary patch literal 16874 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 literal 0 HcmV?d00001 diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/sjson.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/sjson.go new file mode 100644 index 00000000..a55eef3f --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/tidwall/sjson/sjson.go @@ -0,0 +1,737 @@ +// Package sjson provides setting json values. +package sjson + +import ( + jsongo "encoding/json" + "sort" + "strconv" + "unsafe" + + "github.com/tidwall/gjson" +) + +type errorType struct { + msg string +} + +func (err *errorType) Error() string { + return err.msg +} + +// Options represents additional options for the Set and Delete functions. +type Options struct { + // Optimistic is a hint that the value likely exists which + // allows for the sjson to perform a fast-track search and replace. + Optimistic bool + // ReplaceInPlace is a hint to replace the input json rather than + // allocate a new json byte slice. When this field is specified + // the input json will not longer be valid and it should not be used + // In the case when the destination slice doesn't have enough free + // bytes to replace the data in place, a new bytes slice will be + // created under the hood. + // The Optimistic flag must be set to true and the input must be a + // byte slice in order to use this field. + ReplaceInPlace bool +} + +type pathResult struct { + part string // current key part + gpart string // gjson get part + path string // remaining path + force bool // force a string key + more bool // there is more path to parse +} + +func isSimpleChar(ch byte) bool { + switch ch { + case '|', '#', '@', '*', '?': + return false + default: + return true + } +} + +func parsePath(path string) (res pathResult, simple bool) { + var r pathResult + if len(path) > 0 && path[0] == ':' { + r.force = true + path = path[1:] + } + for i := 0; i < len(path); i++ { + if path[i] == '.' { + r.part = path[:i] + r.gpart = path[:i] + r.path = path[i+1:] + r.more = true + return r, true + } + if !isSimpleChar(path[i]) { + return r, false + } + if path[i] == '\\' { + // go into escape mode. this is a slower path that + // strips off the escape character from the part. + epart := []byte(path[:i]) + gpart := []byte(path[:i+1]) + i++ + if i < len(path) { + epart = append(epart, path[i]) + gpart = append(gpart, path[i]) + i++ + for ; i < len(path); i++ { + if path[i] == '\\' { + gpart = append(gpart, '\\') + i++ + if i < len(path) { + epart = append(epart, path[i]) + gpart = append(gpart, path[i]) + } + continue + } else if path[i] == '.' { + r.part = string(epart) + r.gpart = string(gpart) + r.path = path[i+1:] + r.more = true + return r, true + } else if !isSimpleChar(path[i]) { + return r, false + } + epart = append(epart, path[i]) + gpart = append(gpart, path[i]) + } + } + // append the last part + r.part = string(epart) + r.gpart = string(gpart) + return r, true + } + } + r.part = path + r.gpart = path + return r, true +} + +func mustMarshalString(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] < ' ' || s[i] > 0x7f || s[i] == '"' || s[i] == '\\' { + return true + } + } + return false +} + +// appendStringify makes a json string and appends to buf. +func appendStringify(buf []byte, s string) []byte { + if mustMarshalString(s) { + b, _ := jsongo.Marshal(s) + return append(buf, b...) + } + buf = append(buf, '"') + buf = append(buf, s...) + buf = append(buf, '"') + return buf +} + +// appendBuild builds a json block from a json path. +func appendBuild(buf []byte, array bool, paths []pathResult, raw string, + stringify bool) []byte { + if !array { + buf = appendStringify(buf, paths[0].part) + buf = append(buf, ':') + } + if len(paths) > 1 { + n, numeric := atoui(paths[1]) + if numeric || (!paths[1].force && paths[1].part == "-1") { + buf = append(buf, '[') + buf = appendRepeat(buf, "null,", n) + buf = appendBuild(buf, true, paths[1:], raw, stringify) + buf = append(buf, ']') + } else { + buf = append(buf, '{') + buf = appendBuild(buf, false, paths[1:], raw, stringify) + buf = append(buf, '}') + } + } else { + if stringify { + buf = appendStringify(buf, raw) + } else { + buf = append(buf, raw...) + } + } + return buf +} + +// atoui does a rip conversion of string -> unigned int. +func atoui(r pathResult) (n int, ok bool) { + if r.force { + return 0, false + } + for i := 0; i < len(r.part); i++ { + if r.part[i] < '0' || r.part[i] > '9' { + return 0, false + } + n = n*10 + int(r.part[i]-'0') + } + return n, true +} + +// appendRepeat repeats string "n" times and appends to buf. +func appendRepeat(buf []byte, s string, n int) []byte { + for i := 0; i < n; i++ { + buf = append(buf, s...) + } + return buf +} + +// trim does a rip trim +func trim(s string) string { + for len(s) > 0 { + if s[0] <= ' ' { + s = s[1:] + continue + } + break + } + for len(s) > 0 { + if s[len(s)-1] <= ' ' { + s = s[:len(s)-1] + continue + } + break + } + return s +} + +// deleteTailItem deletes the previous key or comma. +func deleteTailItem(buf []byte) ([]byte, bool) { +loop: + for i := len(buf) - 1; i >= 0; i-- { + // look for either a ',',':','[' + switch buf[i] { + case '[': + return buf, true + case ',': + return buf[:i], false + case ':': + // delete tail string + i-- + for ; i >= 0; i-- { + if buf[i] == '"' { + i-- + for ; i >= 0; i-- { + if buf[i] == '"' { + i-- + if i >= 0 && buf[i] == '\\' { + i-- + continue + } + for ; i >= 0; i-- { + // look for either a ',','{' + switch buf[i] { + case '{': + return buf[:i+1], true + case ',': + return buf[:i], false + } + } + } + } + break + } + } + break loop + } + } + return buf, false +} + +var errNoChange = &errorType{"no change"} + +func appendRawPaths(buf []byte, jstr string, paths []pathResult, raw string, + stringify, del bool) ([]byte, error) { + var err error + var res gjson.Result + var found bool + if del { + if paths[0].part == "-1" && !paths[0].force { + res = gjson.Get(jstr, "#") + if res.Int() > 0 { + res = gjson.Get(jstr, strconv.FormatInt(int64(res.Int()-1), 10)) + found = true + } + } + } + if !found { + res = gjson.Get(jstr, paths[0].gpart) + } + if res.Index > 0 { + if len(paths) > 1 { + buf = append(buf, jstr[:res.Index]...) + buf, err = appendRawPaths(buf, res.Raw, paths[1:], raw, + stringify, del) + if err != nil { + return nil, err + } + buf = append(buf, jstr[res.Index+len(res.Raw):]...) + return buf, nil + } + buf = append(buf, jstr[:res.Index]...) + var exidx int // additional forward stripping + if del { + var delNextComma bool + buf, delNextComma = deleteTailItem(buf) + if delNextComma { + i, j := res.Index+len(res.Raw), 0 + for ; i < len(jstr); i, j = i+1, j+1 { + if jstr[i] <= ' ' { + continue + } + if jstr[i] == ',' { + exidx = j + 1 + } + break + } + } + } else { + if stringify { + buf = appendStringify(buf, raw) + } else { + buf = append(buf, raw...) + } + } + buf = append(buf, jstr[res.Index+len(res.Raw)+exidx:]...) + return buf, nil + } + if del { + return nil, errNoChange + } + n, numeric := atoui(paths[0]) + isempty := true + for i := 0; i < len(jstr); i++ { + if jstr[i] > ' ' { + isempty = false + break + } + } + if isempty { + if numeric { + jstr = "[]" + } else { + jstr = "{}" + } + } + jsres := gjson.Parse(jstr) + if jsres.Type != gjson.JSON { + if numeric { + jstr = "[]" + } else { + jstr = "{}" + } + jsres = gjson.Parse(jstr) + } + var comma bool + for i := 1; i < len(jsres.Raw); i++ { + if jsres.Raw[i] <= ' ' { + continue + } + if jsres.Raw[i] == '}' || jsres.Raw[i] == ']' { + break + } + comma = true + break + } + switch jsres.Raw[0] { + default: + return nil, &errorType{"json must be an object or array"} + case '{': + end := len(jsres.Raw) - 1 + for ; end > 0; end-- { + if jsres.Raw[end] == '}' { + break + } + } + buf = append(buf, jsres.Raw[:end]...) + if comma { + buf = append(buf, ',') + } + buf = appendBuild(buf, false, paths, raw, stringify) + buf = append(buf, '}') + return buf, nil + case '[': + var appendit bool + if !numeric { + if paths[0].part == "-1" && !paths[0].force { + appendit = true + } else { + return nil, &errorType{ + "cannot set array element for non-numeric key '" + + paths[0].part + "'"} + } + } + if appendit { + njson := trim(jsres.Raw) + if njson[len(njson)-1] == ']' { + njson = njson[:len(njson)-1] + } + buf = append(buf, njson...) + if comma { + buf = append(buf, ',') + } + + buf = appendBuild(buf, true, paths, raw, stringify) + buf = append(buf, ']') + return buf, nil + } + buf = append(buf, '[') + ress := jsres.Array() + for i := 0; i < len(ress); i++ { + if i > 0 { + buf = append(buf, ',') + } + buf = append(buf, ress[i].Raw...) + } + if len(ress) == 0 { + buf = appendRepeat(buf, "null,", n-len(ress)) + } else { + buf = appendRepeat(buf, ",null", n-len(ress)) + if comma { + buf = append(buf, ',') + } + } + buf = appendBuild(buf, true, paths, raw, stringify) + buf = append(buf, ']') + return buf, nil + } +} + +func isOptimisticPath(path string) bool { + for i := 0; i < len(path); i++ { + if path[i] < '.' || path[i] > 'z' { + return false + } + if path[i] > '9' && path[i] < 'A' { + return false + } + if path[i] > 'z' { + return false + } + } + return true +} + +// Set sets a json value for the specified path. +// A path is in dot syntax, such as "name.last" or "age". +// This function expects that the json is well-formed, and does not validate. +// Invalid json will not panic, but it may return back unexpected results. +// An error is returned if the path is not valid. +// +// A path is a series of keys separated by a dot. +// +// { +// "name": {"first": "Tom", "last": "Anderson"}, +// "age":37, +// "children": ["Sara","Alex","Jack"], +// "friends": [ +// {"first": "James", "last": "Murphy"}, +// {"first": "Roger", "last": "Craig"} +// ] +// } +// "name.last" >> "Anderson" +// "age" >> 37 +// "children.1" >> "Alex" +// +func Set(json, path string, value interface{}) (string, error) { + return SetOptions(json, path, value, nil) +} + +// SetBytes sets a json value for the specified path. +// If working with bytes, this method preferred over +// Set(string(data), path, value) +func SetBytes(json []byte, path string, value interface{}) ([]byte, error) { + return SetBytesOptions(json, path, value, nil) +} + +// SetRaw sets a raw json value for the specified path. +// This function works the same as Set except that the value is set as a +// raw block of json. This allows for setting premarshalled json objects. +func SetRaw(json, path, value string) (string, error) { + return SetRawOptions(json, path, value, nil) +} + +// SetRawOptions sets a raw json value for the specified path with options. +// This furnction works the same as SetOptions except that the value is set +// as a raw block of json. This allows for setting premarshalled json objects. +func SetRawOptions(json, path, value string, opts *Options) (string, error) { + var optimistic bool + if opts != nil { + optimistic = opts.Optimistic + } + res, err := set(json, path, value, false, false, optimistic, false) + if err == errNoChange { + return json, nil + } + return string(res), err +} + +// SetRawBytes sets a raw json value for the specified path. +// If working with bytes, this method preferred over +// SetRaw(string(data), path, value) +func SetRawBytes(json []byte, path string, value []byte) ([]byte, error) { + return SetRawBytesOptions(json, path, value, nil) +} + +type dtype struct{} + +// Delete deletes a value from json for the specified path. +func Delete(json, path string) (string, error) { + return Set(json, path, dtype{}) +} + +// DeleteBytes deletes a value from json for the specified path. +func DeleteBytes(json []byte, path string) ([]byte, error) { + return SetBytes(json, path, dtype{}) +} + +type stringHeader struct { + data unsafe.Pointer + len int +} + +type sliceHeader struct { + data unsafe.Pointer + len int + cap int +} + +func set(jstr, path, raw string, + stringify, del, optimistic, inplace bool) ([]byte, error) { + if path == "" { + return []byte(jstr), &errorType{"path cannot be empty"} + } + if !del && optimistic && isOptimisticPath(path) { + res := gjson.Get(jstr, path) + if res.Exists() && res.Index > 0 { + sz := len(jstr) - len(res.Raw) + len(raw) + if stringify { + sz += 2 + } + if inplace && sz <= len(jstr) { + if !stringify || !mustMarshalString(raw) { + jsonh := *(*stringHeader)(unsafe.Pointer(&jstr)) + jsonbh := sliceHeader{ + data: jsonh.data, len: jsonh.len, cap: jsonh.len} + jbytes := *(*[]byte)(unsafe.Pointer(&jsonbh)) + if stringify { + jbytes[res.Index] = '"' + copy(jbytes[res.Index+1:], []byte(raw)) + jbytes[res.Index+1+len(raw)] = '"' + copy(jbytes[res.Index+1+len(raw)+1:], + jbytes[res.Index+len(res.Raw):]) + } else { + copy(jbytes[res.Index:], []byte(raw)) + copy(jbytes[res.Index+len(raw):], + jbytes[res.Index+len(res.Raw):]) + } + return jbytes[:sz], nil + } + return []byte(jstr), nil + } + buf := make([]byte, 0, sz) + buf = append(buf, jstr[:res.Index]...) + if stringify { + buf = appendStringify(buf, raw) + } else { + buf = append(buf, raw...) + } + buf = append(buf, jstr[res.Index+len(res.Raw):]...) + return buf, nil + } + } + var paths []pathResult + r, simple := parsePath(path) + if simple { + paths = append(paths, r) + for r.more { + r, simple = parsePath(r.path) + if !simple { + break + } + paths = append(paths, r) + } + } + if !simple { + if del { + return []byte(jstr), + &errorType{"cannot delete value from a complex path"} + } + return setComplexPath(jstr, path, raw, stringify) + } + njson, err := appendRawPaths(nil, jstr, paths, raw, stringify, del) + if err != nil { + return []byte(jstr), err + } + return njson, nil +} + +func setComplexPath(jstr, path, raw string, stringify bool) ([]byte, error) { + res := gjson.Get(jstr, path) + if !res.Exists() || !(res.Index != 0 || len(res.Indexes) != 0) { + return []byte(jstr), errNoChange + } + if res.Index != 0 { + njson := []byte(jstr[:res.Index]) + if stringify { + njson = appendStringify(njson, raw) + } else { + njson = append(njson, raw...) + } + njson = append(njson, jstr[res.Index+len(res.Raw):]...) + jstr = string(njson) + } + if len(res.Indexes) > 0 { + type val struct { + index int + res gjson.Result + } + vals := make([]val, 0, len(res.Indexes)) + res.ForEach(func(_, vres gjson.Result) bool { + vals = append(vals, val{res: vres}) + return true + }) + if len(res.Indexes) != len(vals) { + return []byte(jstr), errNoChange + } + for i := 0; i < len(res.Indexes); i++ { + vals[i].index = res.Indexes[i] + } + sort.SliceStable(vals, func(i, j int) bool { + return vals[i].index > vals[j].index + }) + for _, val := range vals { + vres := val.res + index := val.index + njson := []byte(jstr[:index]) + if stringify { + njson = appendStringify(njson, raw) + } else { + njson = append(njson, raw...) + } + njson = append(njson, jstr[index+len(vres.Raw):]...) + jstr = string(njson) + } + } + return []byte(jstr), nil +} + +// SetOptions sets a json value for the specified path with options. +// A path is in dot syntax, such as "name.last" or "age". +// This function expects that the json is well-formed, and does not validate. +// Invalid json will not panic, but it may return back unexpected results. +// An error is returned if the path is not valid. +func SetOptions(json, path string, value interface{}, + opts *Options) (string, error) { + if opts != nil { + if opts.ReplaceInPlace { + // it's not safe to replace bytes in-place for strings + // copy the Options and set options.ReplaceInPlace to false. + nopts := *opts + opts = &nopts + opts.ReplaceInPlace = false + } + } + jsonh := *(*stringHeader)(unsafe.Pointer(&json)) + jsonbh := sliceHeader{data: jsonh.data, len: jsonh.len, cap: jsonh.len} + jsonb := *(*[]byte)(unsafe.Pointer(&jsonbh)) + res, err := SetBytesOptions(jsonb, path, value, opts) + return string(res), err +} + +// SetBytesOptions sets a json value for the specified path with options. +// If working with bytes, this method preferred over +// SetOptions(string(data), path, value) +func SetBytesOptions(json []byte, path string, value interface{}, + opts *Options) ([]byte, error) { + var optimistic, inplace bool + if opts != nil { + optimistic = opts.Optimistic + inplace = opts.ReplaceInPlace + } + jstr := *(*string)(unsafe.Pointer(&json)) + var res []byte + var err error + switch v := value.(type) { + default: + b, merr := jsongo.Marshal(value) + if merr != nil { + return nil, merr + } + raw := *(*string)(unsafe.Pointer(&b)) + res, err = set(jstr, path, raw, false, false, optimistic, inplace) + case dtype: + res, err = set(jstr, path, "", false, true, optimistic, inplace) + case string: + res, err = set(jstr, path, v, true, false, optimistic, inplace) + case []byte: + raw := *(*string)(unsafe.Pointer(&v)) + res, err = set(jstr, path, raw, true, false, optimistic, inplace) + case bool: + if v { + res, err = set(jstr, path, "true", false, false, optimistic, inplace) + } else { + res, err = set(jstr, path, "false", false, false, optimistic, inplace) + } + case int8: + res, err = set(jstr, path, strconv.FormatInt(int64(v), 10), + false, false, optimistic, inplace) + case int16: + res, err = set(jstr, path, strconv.FormatInt(int64(v), 10), + false, false, optimistic, inplace) + case int32: + res, err = set(jstr, path, strconv.FormatInt(int64(v), 10), + false, false, optimistic, inplace) + case int64: + res, err = set(jstr, path, strconv.FormatInt(int64(v), 10), + false, false, optimistic, inplace) + case uint8: + res, err = set(jstr, path, strconv.FormatUint(uint64(v), 10), + false, false, optimistic, inplace) + case uint16: + res, err = set(jstr, path, strconv.FormatUint(uint64(v), 10), + false, false, optimistic, inplace) + case uint32: + res, err = set(jstr, path, strconv.FormatUint(uint64(v), 10), + false, false, optimistic, inplace) + case uint64: + res, err = set(jstr, path, strconv.FormatUint(uint64(v), 10), + false, false, optimistic, inplace) + case float32: + res, err = set(jstr, path, strconv.FormatFloat(float64(v), 'f', -1, 64), + false, false, optimistic, inplace) + case float64: + res, err = set(jstr, path, strconv.FormatFloat(float64(v), 'f', -1, 64), + false, false, optimistic, inplace) + } + if err == errNoChange { + return json, nil + } + return res, err +} + +// SetRawBytesOptions sets a raw json value for the specified path with options. +// If working with bytes, this method preferred over +// SetRawOptions(string(data), path, value, opts) +func SetRawBytesOptions(json []byte, path string, value []byte, + opts *Options) ([]byte, error) { + jstr := *(*string)(unsafe.Pointer(&json)) + vstr := *(*string)(unsafe.Pointer(&value)) + var optimistic, inplace bool + if opts != nil { + optimistic = opts.Optimistic + inplace = opts.ReplaceInPlace + } + res, err := set(jstr, path, vstr, false, false, optimistic, inplace) + if err == errNoChange { + return json, nil + } + return res, err +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/LICENSE b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/LICENSE new file mode 100644 index 00000000..cd6e5328 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/LICENSE @@ -0,0 +1,199 @@ +Apache License + +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or management +of such entity, whether by contract or otherwise, or (ii) ownership +of fifty percent (50%) or more of the outstanding shares, or (iii) +beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled +object code, generated documentation, and conversions to other media +types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this +License, Derivative Works shall not include works that remain separable +from, or merely link (or bind by name) to the interfaces of, the Work +and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the copyright +owner. For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or its +representatives, including but not limited to communication on electronic +mailing lists, source code control systems, and issue tracking systems +that are managed by, or on behalf of, the Licensor for the purpose of +discussing and improving the Work, but excluding communication that is +conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. +Subject to the terms and conditions of this License, each Contributor +hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty-free, irrevocable copyright license to reproduce, prepare +Derivative Works of, publicly display, publicly perform, sublicense, and +distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. +Subject to the terms and conditions of this License, each Contributor +hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty- free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and +otherwise transfer the Work, where such license applies only to those +patent claims licensable by such Contributor that are necessarily +infringed by their Contribution(s) alone or by combination of +their Contribution(s) with the Work to which such Contribution(s) +was submitted. If You institute patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Work or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses granted +to You under this License for that Work shall terminate as of the date +such litigation is filed. + +4. Redistribution. +You may reproduce and distribute copies of the Work or Derivative Works +thereof in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + a. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + + b. You must cause any modified files to carry prominent notices stating + that You changed the files; and + + c. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + d. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as part + of the Derivative Works; within the Source form or documentation, + if provided along with the Derivative Works; or, within a display + generated by the Derivative Works, if and wherever such third-party + notices normally appear. The contents of the NOTICE file are for + informational purposes only and do not modify the License. You + may add Your own attribution notices within Derivative Works that + You distribute, alongside or as an addendum to the NOTICE text + from the Work, provided that such additional attribution notices + cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional + or different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of the + Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. +Unless You explicitly state otherwise, any Contribution intentionally +submitted for inclusion in the Work by You to the Licensor shall be +under the terms and conditions of this License, without any additional +terms or conditions. Notwithstanding the above, nothing herein shall +supersede or modify the terms of any separate license agreement you may +have executed with Licensor regarding such Contributions. + +6. Trademarks. +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. +Unless required by applicable law or agreed to in writing, Licensor +provides the Work (and each Contributor provides its Contributions) on +an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +express or implied, including, without limitation, any warranties or +conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR +A PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. +In no event and under no legal theory, whether in tort (including +negligence), contract, or otherwise, unless required by applicable law +(such as deliberate and grossly negligent acts) or agreed to in writing, +shall any Contributor be liable to You for damages, including any direct, +indirect, special, incidental, or consequential damages of any character +arising as a result of this License or out of the use or inability to +use the Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all other +commercial damages or losses), even if such Contributor has been advised +of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. +While redistributing the Work or Derivative Works thereof, You may +choose to offer, and charge a fee for, acceptance of support, warranty, +indemnity, or other liability obligations and/or rights consistent with +this License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf of +any other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or claims +asserted against, such Contributor by reason of your accepting any such +warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2022 VMware, Inc + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/NOTICE b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/NOTICE new file mode 100644 index 00000000..482e2cbe --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/NOTICE @@ -0,0 +1,5 @@ +Copyright 2022 VMware, Inc. + +This product is licensed to you under the Apache License, V2.0 (the "License"). You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file. \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/README.md b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/README.md new file mode 100644 index 00000000..cd4ea43d --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/README.md @@ -0,0 +1,61 @@ +# Go kit + +This folder contains the Go kit or SDK for Wasm Workers Server. Currently, it uses the regular STDIN / STDOUT approach to receive the request and provide the response. In the latest version we introduced the new HTTP bindings to send HTTP requests from inside the worker. + +## Bindings + +Wasm Workers Server is on the road to adopt Wasm components, but it's not there yet. However, we started adopting WIT to generate the bindings for the different languages. + +The host (Wasm Workers Server) and other languages like Rust and JavaScript rely on [wit-bindgen v0.2](https://github.com/bytecodealliance/wit-bindgen/tree/v0.2.0). However, the Go bindings were not available on that version so it caused some extra work to generate the Go bindings. + +These are the steps to recreate the current Go bindings: + +- Clone the wit-binding repository and checkout to the [35cb45f2](https://github.com/bytecodealliance/wit-bindgen/commit/35cb45f25eb113b54406f269778d46a37716a7c5) commit (between v0.6 - v0.7). This commit produces compatible binding identifiers and fixes an error with the types on the generated C / Go code: + + ```shell-session + git clone https://github.com/bytecodealliance/wit-bindgen/tree/main && \ + git checkout 35cb45f25eb113b54406f269778d46a37716a7c5 + ``` + +- Compile the project: + + ```shell-session + cargo build --release + ``` + +- Change your current directory to `wasm-workers-server/kits/go/worker/bindings`. +- Now, you need to use the compiled `wit-bindgen`: + + ```shell-session + ~/YOUR_LOCATION/wit-bindgen/target/release/wit-bindgen tiny-go ../../../../wit/go-ephemeral/ + ``` + +- Just note that we're using a specific `wit` folder for Go. The reason is that the syntax changed from v0.3. We will consolidate it once we adopt components. +- Edit the `bindings.c` file to define the `canonical_abi_realloc` and `canonical_abi_free`. wit-bindgen v0.2 expects these methods to be exported. However, the first method was renamed to `cabi_realloc` and the second was removed on v3.0. To fix it, locate the `__attribute__((__weak__, __export_name__("cabi_realloc")))` and replace it with the following two methods: + + ```c + __attribute__((__weak__, __export_name__("canonical_abi_realloc"))) void *cabi_realloc(void *ptr, size_t old_size, size_t align, size_t new_size) + { + if (new_size == 0) + return (void *)align; + void *ret = realloc(ptr, new_size); + if (!ret) + abort(); + return ret; + } + + __attribute__((weak, export_name("canonical_abi_free"))) void canonical_abi_free( + void *ptr, + size_t size, + size_t align) + { + free(ptr); + } + ``` + +- Done! + +## References + +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go Support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.c b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.c new file mode 100644 index 00000000..7060edf6 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.c @@ -0,0 +1,223 @@ +// Generated by `wit-bindgen` 0.6.0. DO NOT EDIT! +#include "bindings.h" + +__attribute__((__import_module__("http"), __import_name__("send-http-request"))) void __wasm_import_http_send_http_request(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); + +__attribute__((__weak__, __export_name__("canonical_abi_realloc"))) void *cabi_realloc(void *ptr, size_t old_size, size_t align, size_t new_size) +{ + if (new_size == 0) + return (void *)align; + void *ret = realloc(ptr, new_size); + if (!ret) + abort(); + return ret; +} + +__attribute__((weak, export_name("canonical_abi_free"))) void canonical_abi_free( + void *ptr, + size_t size, + size_t align) +{ + free(ptr); +} + +// Helper Functions + +void http_types_uri_free(http_types_uri_t *ptr) +{ + bindings_string_free(ptr); +} + +void http_types_http_param_free(http_types_http_param_t *ptr) +{ + bindings_string_free(&ptr->f0); + bindings_string_free(&ptr->f1); +} + +void http_types_http_params_free(http_types_http_params_t *ptr) +{ + for (size_t i = 0; i < ptr->len; i++) + { + http_types_http_param_free(&ptr->ptr[i]); + } + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void http_types_http_header_free(http_types_http_header_t *ptr) +{ + bindings_string_free(&ptr->f0); + bindings_string_free(&ptr->f1); +} + +void http_types_http_headers_free(http_types_http_headers_t *ptr) +{ + for (size_t i = 0; i < ptr->len; i++) + { + http_types_http_header_free(&ptr->ptr[i]); + } + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void http_types_http_request_error_free(http_types_http_request_error_t *ptr) +{ + bindings_string_free(&ptr->message); +} + +void http_types_http_body_free(http_types_http_body_t *ptr) +{ + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void bindings_option_http_body_free(bindings_option_http_body_t *ptr) +{ + if (ptr->is_some) + { + http_types_http_body_free(&ptr->val); + } +} + +void http_types_http_response_free(http_types_http_response_t *ptr) +{ + bindings_option_http_body_free(&ptr->body); + http_types_http_headers_free(&ptr->headers); +} + +void http_types_http_request_free(http_types_http_request_t *ptr) +{ + bindings_option_http_body_free(&ptr->body); + http_types_http_headers_free(&ptr->headers); + http_types_http_params_free(&ptr->params); + http_types_uri_free(&ptr->uri); +} + +void http_interface_http_request_free(http_interface_http_request_t *ptr) +{ + http_types_http_request_free(ptr); +} + +void http_interface_http_response_free(http_interface_http_response_t *ptr) +{ + http_types_http_response_free(ptr); +} + +void http_interface_http_request_error_free(http_interface_http_request_error_t *ptr) +{ + http_types_http_request_error_free(ptr); +} + +void bindings_result_http_response_http_request_error_free(bindings_result_http_response_http_request_error_t *ptr) +{ + if (!ptr->is_err) + { + http_interface_http_response_free(&ptr->val.ok); + } + else + { + http_interface_http_request_error_free(&ptr->val.err); + } +} + +void bindings_string_set(bindings_string_t *ret, const char *s) +{ + ret->ptr = (char *)s; + ret->len = strlen(s); +} + +void bindings_string_dup(bindings_string_t *ret, const char *s) +{ + ret->len = strlen(s); + ret->ptr = cabi_realloc(NULL, 0, 1, ret->len * 1); + memcpy(ret->ptr, s, ret->len * 1); +} + +void bindings_string_free(bindings_string_t *ret) +{ + if (ret->len > 0) + { + free(ret->ptr); + } + ret->ptr = NULL; + ret->len = 0; +} + +// Component Adapters + +void http_send_http_request(http_interface_http_request_t *request, bindings_result_http_response_http_request_error_t *ret) +{ + __attribute__((__aligned__(4))) + uint8_t ret_area[28]; + int32_t option; + int32_t option1; + int32_t option2; + if (((*request).body).is_some) + { + const http_types_http_body_t *payload0 = &((*request).body).val; + option = 1; + option1 = (int32_t)(*payload0).ptr; + option2 = (int32_t)(*payload0).len; + } + else + { + option = 0; + option1 = 0; + option2 = 0; + } + + int32_t ptr = (int32_t)&ret_area; + __wasm_import_http_send_http_request(option, option1, option2, (int32_t)((*request).headers).ptr, (int32_t)((*request).headers).len, (int32_t)(*request).method, (int32_t)((*request).params).ptr, (int32_t)((*request).params).len, (int32_t)((*request).uri).ptr, (int32_t)((*request).uri).len, ptr); + bindings_result_http_response_http_request_error_t result; + switch ((int32_t)(*((uint8_t *)(ptr + 0)))) + { + case 0: + { + result.is_err = false; + bindings_option_http_body_t option3; + switch ((int32_t)(*((uint8_t *)(ptr + 4)))) + { + case 0: + { + option3.is_some = false; + break; + } + case 1: + { + option3.is_some = true; + option3.val = (http_types_http_body_t){(uint8_t *)(*((int32_t *)(ptr + 8))), (size_t)(*((int32_t *)(ptr + 12)))}; + break; + } + } + + result.val.ok = (http_types_http_response_t){ + option3, + (http_types_http_headers_t){(http_types_http_header_t *)(*((int32_t *)(ptr + 16))), (size_t)(*((int32_t *)(ptr + 20)))}, + (uint16_t)((int32_t)(*((uint16_t *)(ptr + 24)))), + }; + break; + } + case 1: + { + result.is_err = true; + result.val.err = (http_types_http_request_error_t){ + (int32_t)(*((uint8_t *)(ptr + 4))), + (bindings_string_t){(char *)(*((int32_t *)(ptr + 8))), (size_t)(*((int32_t *)(ptr + 12)))}, + }; + break; + } + } + *ret = result; +} + +extern void __component_type_object_force_link_bindings(void); +void __component_type_object_force_link_bindings_public_use_in_this_compilation_unit(void) +{ + __component_type_object_force_link_bindings(); +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.go new file mode 100644 index 00000000..3d10f5fd --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.go @@ -0,0 +1,337 @@ +package bindings + +// #include "bindings.h" +import "C" + +import "unsafe" + +// http-types +type HttpTypesUri = string +type HttpTypesHttpStatus = uint16 +type HttpTypesHttpParam struct { + F0 string + F1 string +} + +type HttpTypesHttpParams = HttpTypesHttpParam +type HttpTypesHttpMethodKind int + +const ( +HttpTypesHttpMethodKindGet HttpTypesHttpMethodKind = iota +HttpTypesHttpMethodKindPost +HttpTypesHttpMethodKindPut +HttpTypesHttpMethodKindPatch +HttpTypesHttpMethodKindDelete +HttpTypesHttpMethodKindOptions +HttpTypesHttpMethodKindHead +) + +type HttpTypesHttpMethod struct { + kind HttpTypesHttpMethodKind +} + +func (n HttpTypesHttpMethod) Kind() HttpTypesHttpMethodKind { + return n.kind +} + +func HttpTypesHttpMethodGet() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindGet} +} + +func HttpTypesHttpMethodPost() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPost} +} + +func HttpTypesHttpMethodPut() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPut} +} + +func HttpTypesHttpMethodPatch() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPatch} +} + +func HttpTypesHttpMethodDelete() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindDelete} +} + +func HttpTypesHttpMethodOptions() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindOptions} +} + +func HttpTypesHttpMethodHead() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindHead} +} + +type HttpTypesHttpHeader struct { + F0 string + F1 string +} + +type HttpTypesHttpHeaders = HttpTypesHttpHeader +type HttpTypesHttpErrorKind int + +const ( +HttpTypesHttpErrorKindInvalidRequest HttpTypesHttpErrorKind = iota +HttpTypesHttpErrorKindInvalidRequestBody +HttpTypesHttpErrorKindInvalidResponseBody +HttpTypesHttpErrorKindNotAllowed +HttpTypesHttpErrorKindInternalError +HttpTypesHttpErrorKindTimeout +HttpTypesHttpErrorKindRedirectLoop +) + +type HttpTypesHttpError struct { + kind HttpTypesHttpErrorKind +} + +func (n HttpTypesHttpError) Kind() HttpTypesHttpErrorKind { + return n.kind +} + +func HttpTypesHttpErrorInvalidRequest() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidRequest} +} + +func HttpTypesHttpErrorInvalidRequestBody() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidRequestBody} +} + +func HttpTypesHttpErrorInvalidResponseBody() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidResponseBody} +} + +func HttpTypesHttpErrorNotAllowed() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindNotAllowed} +} + +func HttpTypesHttpErrorInternalError() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInternalError} +} + +func HttpTypesHttpErrorTimeout() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindTimeout} +} + +func HttpTypesHttpErrorRedirectLoop() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindRedirectLoop} +} + +type HttpTypesHttpRequestError struct { + Error HttpTypesHttpError + Message string +} + +type HttpTypesHttpBody = uint8 +type HttpTypesHttpResponse struct { + Body Option[[]uint8] + Headers []HttpTypesHttpHeader + Status uint16 +} + +type HttpTypesHttpRequest struct { + Body Option[[]uint8] + Headers []HttpTypesHttpHeader + Method HttpTypesHttpMethod + Params []HttpTypesHttpParam + Uri string +} + +// http +type HttpHttpRequest = HttpTypesHttpRequest +type HttpHttpResponse = HttpTypesHttpResponse +type HttpHttpRequestError = HttpTypesHttpRequestError +func HttpSendHttpRequest(request HttpTypesHttpRequest) Result[HttpTypesHttpResponse, HttpTypesHttpRequestError] { + var lower_request C.http_types_http_request_t + var lower_request_val C.http_types_http_request_t + var lower_request_val_body C.bindings_option_http_body_t + if request.Body.IsSome() { + var lower_request_val_body_val C.http_types_http_body_t + if len(request.Body.Unwrap()) == 0 { + lower_request_val_body_val.ptr = nil + lower_request_val_body_val.len = 0 + } else { + var empty_lower_request_val_body_val C.uint8_t + lower_request_val_body_val.ptr = (*C.uint8_t)(C.malloc(C.size_t(len(request.Body.Unwrap())) * C.size_t(unsafe.Sizeof(empty_lower_request_val_body_val)))) + lower_request_val_body_val.len = C.size_t(len(request.Body.Unwrap())) + for lower_request_val_body_val_i := range request.Body.Unwrap() { + lower_request_val_body_val_ptr := (*C.uint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_body_val.ptr)) + + uintptr(lower_request_val_body_val_i)*unsafe.Sizeof(empty_lower_request_val_body_val))) + lower_request_val_body_val_ptr_value := C.uint8_t(request.Body.Unwrap()[lower_request_val_body_val_i]) + *lower_request_val_body_val_ptr = lower_request_val_body_val_ptr_value + } + } + lower_request_val_body.val = lower_request_val_body_val + lower_request_val_body.is_some = true + } + lower_request_val.body = lower_request_val_body + var lower_request_val_headers C.http_types_http_headers_t + if len(request.Headers) == 0 { + lower_request_val_headers.ptr = nil + lower_request_val_headers.len = 0 + } else { + var empty_lower_request_val_headers C.http_types_http_header_t + lower_request_val_headers.ptr = (*C.http_types_http_header_t)(C.malloc(C.size_t(len(request.Headers)) * C.size_t(unsafe.Sizeof(empty_lower_request_val_headers)))) + lower_request_val_headers.len = C.size_t(len(request.Headers)) + for lower_request_val_headers_i := range request.Headers { + lower_request_val_headers_ptr := (*C.http_types_http_header_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_headers.ptr)) + + uintptr(lower_request_val_headers_i)*unsafe.Sizeof(empty_lower_request_val_headers))) + var lower_request_val_headers_ptr_value C.http_types_http_header_t + var lower_request_val_headers_ptr_value_f0 C.bindings_string_t + + lower_request_val_headers_ptr_value_f0.ptr = C.CString(request.Headers[lower_request_val_headers_i].F0) + lower_request_val_headers_ptr_value_f0.len = C.size_t(len(request.Headers[lower_request_val_headers_i].F0)) + lower_request_val_headers_ptr_value.f0 = lower_request_val_headers_ptr_value_f0 + var lower_request_val_headers_ptr_value_f1 C.bindings_string_t + + lower_request_val_headers_ptr_value_f1.ptr = C.CString(request.Headers[lower_request_val_headers_i].F1) + lower_request_val_headers_ptr_value_f1.len = C.size_t(len(request.Headers[lower_request_val_headers_i].F1)) + lower_request_val_headers_ptr_value.f1 = lower_request_val_headers_ptr_value_f1 + *lower_request_val_headers_ptr = lower_request_val_headers_ptr_value + } + } + lower_request_val.headers = lower_request_val_headers + var lower_request_val_method C.http_types_http_method_t + if request.Method.Kind() == HttpTypesHttpMethodKindGet { + lower_request_val_method = 0 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPost { + lower_request_val_method = 1 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPut { + lower_request_val_method = 2 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPatch { + lower_request_val_method = 3 + } + if request.Method.Kind() == HttpTypesHttpMethodKindDelete { + lower_request_val_method = 4 + } + if request.Method.Kind() == HttpTypesHttpMethodKindOptions { + lower_request_val_method = 5 + } + if request.Method.Kind() == HttpTypesHttpMethodKindHead { + lower_request_val_method = 6 + } + lower_request_val.method = lower_request_val_method + var lower_request_val_params C.http_types_http_params_t + if len(request.Params) == 0 { + lower_request_val_params.ptr = nil + lower_request_val_params.len = 0 + } else { + var empty_lower_request_val_params C.http_types_http_param_t + lower_request_val_params.ptr = (*C.http_types_http_param_t)(C.malloc(C.size_t(len(request.Params)) * C.size_t(unsafe.Sizeof(empty_lower_request_val_params)))) + lower_request_val_params.len = C.size_t(len(request.Params)) + for lower_request_val_params_i := range request.Params { + lower_request_val_params_ptr := (*C.http_types_http_param_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_params.ptr)) + + uintptr(lower_request_val_params_i)*unsafe.Sizeof(empty_lower_request_val_params))) + var lower_request_val_params_ptr_value C.http_types_http_param_t + var lower_request_val_params_ptr_value_f0 C.bindings_string_t + + lower_request_val_params_ptr_value_f0.ptr = C.CString(request.Params[lower_request_val_params_i].F0) + lower_request_val_params_ptr_value_f0.len = C.size_t(len(request.Params[lower_request_val_params_i].F0)) + lower_request_val_params_ptr_value.f0 = lower_request_val_params_ptr_value_f0 + var lower_request_val_params_ptr_value_f1 C.bindings_string_t + + lower_request_val_params_ptr_value_f1.ptr = C.CString(request.Params[lower_request_val_params_i].F1) + lower_request_val_params_ptr_value_f1.len = C.size_t(len(request.Params[lower_request_val_params_i].F1)) + lower_request_val_params_ptr_value.f1 = lower_request_val_params_ptr_value_f1 + *lower_request_val_params_ptr = lower_request_val_params_ptr_value + } + } + lower_request_val.params = lower_request_val_params + var lower_request_val_uri C.bindings_string_t + var lower_request_val_uri_val C.bindings_string_t + + lower_request_val_uri_val.ptr = C.CString(request.Uri) + lower_request_val_uri_val.len = C.size_t(len(request.Uri)) + lower_request_val_uri = lower_request_val_uri_val + lower_request_val.uri = lower_request_val_uri + lower_request = lower_request_val + defer C.http_interface_http_request_free(&lower_request) + var ret C.bindings_result_http_response_http_request_error_t + C.http_send_http_request(&lower_request, &ret) + var lift_ret Result[HttpTypesHttpResponse, HttpTypesHttpRequestError] + if ret.is_err { + lift_ret_ptr := *(*C.http_interface_http_request_error_t)(unsafe.Pointer(&ret.val)) + var lift_ret_val HttpTypesHttpRequestError + var lift_ret_val_val HttpTypesHttpRequestError + var lift_ret_val_val_Error HttpTypesHttpError + if lift_ret_ptr.error == 0 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidRequest() + } + if lift_ret_ptr.error == 1 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidRequestBody() + } + if lift_ret_ptr.error == 2 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidResponseBody() + } + if lift_ret_ptr.error == 3 { + lift_ret_val_val_Error = HttpTypesHttpErrorNotAllowed() + } + if lift_ret_ptr.error == 4 { + lift_ret_val_val_Error = HttpTypesHttpErrorInternalError() + } + if lift_ret_ptr.error == 5 { + lift_ret_val_val_Error = HttpTypesHttpErrorTimeout() + } + if lift_ret_ptr.error == 6 { + lift_ret_val_val_Error = HttpTypesHttpErrorRedirectLoop() + } + lift_ret_val_val.Error = lift_ret_val_val_Error + var lift_ret_val_val_Message string + lift_ret_val_val_Message = C.GoStringN(lift_ret_ptr.message.ptr, C.int(lift_ret_ptr.message.len)) + lift_ret_val_val.Message = lift_ret_val_val_Message + lift_ret_val = lift_ret_val_val + lift_ret.SetErr(lift_ret_val) + } else { + lift_ret_ptr := *(*C.http_interface_http_response_t)(unsafe.Pointer(&ret.val)) + var lift_ret_val HttpTypesHttpResponse + var lift_ret_val_val HttpTypesHttpResponse + var lift_ret_val_val_Body Option[[]uint8] + if lift_ret_ptr.body.is_some { + var lift_ret_val_val_Body_val []uint8 + lift_ret_val_val_Body_val = make([]uint8, lift_ret_ptr.body.val.len) + if lift_ret_ptr.body.val.len > 0 { + for lift_ret_val_val_Body_val_i := 0; lift_ret_val_val_Body_val_i < int(lift_ret_ptr.body.val.len); lift_ret_val_val_Body_val_i++ { + var empty_lift_ret_val_val_Body_val C.uint8_t + lift_ret_val_val_Body_val_ptr := *(*C.uint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lift_ret_ptr.body.val.ptr)) + + uintptr(lift_ret_val_val_Body_val_i)*unsafe.Sizeof(empty_lift_ret_val_val_Body_val))) + var list_lift_ret_val_val_Body_val uint8 + list_lift_ret_val_val_Body_val = uint8(lift_ret_val_val_Body_val_ptr) + lift_ret_val_val_Body_val[lift_ret_val_val_Body_val_i] = list_lift_ret_val_val_Body_val + } + } + lift_ret_val_val_Body.Set(lift_ret_val_val_Body_val) + } else { + lift_ret_val_val_Body.Unset() + } + lift_ret_val_val.Body = lift_ret_val_val_Body + var lift_ret_val_val_Headers []HttpTypesHttpHeader + lift_ret_val_val_Headers = make([]HttpTypesHttpHeader, lift_ret_ptr.headers.len) + if lift_ret_ptr.headers.len > 0 { + for lift_ret_val_val_Headers_i := 0; lift_ret_val_val_Headers_i < int(lift_ret_ptr.headers.len); lift_ret_val_val_Headers_i++ { + var empty_lift_ret_val_val_Headers C.http_types_http_header_t + lift_ret_val_val_Headers_ptr := *(*C.http_types_http_header_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lift_ret_ptr.headers.ptr)) + + uintptr(lift_ret_val_val_Headers_i)*unsafe.Sizeof(empty_lift_ret_val_val_Headers))) + var list_lift_ret_val_val_Headers HttpTypesHttpHeader + var list_lift_ret_val_val_Headers_F0 string + list_lift_ret_val_val_Headers_F0 = C.GoStringN(lift_ret_val_val_Headers_ptr.f0.ptr, C.int(lift_ret_val_val_Headers_ptr.f0.len)) + list_lift_ret_val_val_Headers.F0 = list_lift_ret_val_val_Headers_F0 + var list_lift_ret_val_val_Headers_F1 string + list_lift_ret_val_val_Headers_F1 = C.GoStringN(lift_ret_val_val_Headers_ptr.f1.ptr, C.int(lift_ret_val_val_Headers_ptr.f1.len)) + list_lift_ret_val_val_Headers.F1 = list_lift_ret_val_val_Headers_F1 + lift_ret_val_val_Headers[lift_ret_val_val_Headers_i] = list_lift_ret_val_val_Headers + } + } + lift_ret_val_val.Headers = lift_ret_val_val_Headers + var lift_ret_val_val_Status uint16 + var lift_ret_val_val_Status_val uint16 + lift_ret_val_val_Status_val = uint16(lift_ret_ptr.status) + lift_ret_val_val_Status = lift_ret_val_val_Status_val + lift_ret_val_val.Status = lift_ret_val_val_Status + lift_ret_val = lift_ret_val_val + lift_ret.Set(lift_ret_val) + } + return lift_ret +} + diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.h b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.h new file mode 100644 index 00000000..4952b434 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings.h @@ -0,0 +1,131 @@ +// Generated by `wit-bindgen` 0.6.0. DO NOT EDIT! +#ifndef __BINDINGS_BINDINGS_H +#define __BINDINGS_BINDINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include + +typedef struct { + char*ptr; + size_t len; +} bindings_string_t; + +typedef bindings_string_t http_types_uri_t; + +typedef uint16_t http_types_http_status_t; + +typedef struct { + bindings_string_t f0; + bindings_string_t f1; +} http_types_http_param_t; + +typedef struct { + http_types_http_param_t *ptr; + size_t len; +} http_types_http_params_t; + +typedef uint8_t http_types_http_method_t; + +#define HTTP_TYPES_HTTP_METHOD_GET 0 +#define HTTP_TYPES_HTTP_METHOD_POST 1 +#define HTTP_TYPES_HTTP_METHOD_PUT 2 +#define HTTP_TYPES_HTTP_METHOD_PATCH 3 +#define HTTP_TYPES_HTTP_METHOD_DELETE 4 +#define HTTP_TYPES_HTTP_METHOD_OPTIONS 5 +#define HTTP_TYPES_HTTP_METHOD_HEAD 6 + +typedef struct { + bindings_string_t f0; + bindings_string_t f1; +} http_types_http_header_t; + +typedef struct { + http_types_http_header_t *ptr; + size_t len; +} http_types_http_headers_t; + +typedef uint8_t http_types_http_error_t; + +#define HTTP_TYPES_HTTP_ERROR_INVALID_REQUEST 0 +#define HTTP_TYPES_HTTP_ERROR_INVALID_REQUEST_BODY 1 +#define HTTP_TYPES_HTTP_ERROR_INVALID_RESPONSE_BODY 2 +#define HTTP_TYPES_HTTP_ERROR_NOT_ALLOWED 3 +#define HTTP_TYPES_HTTP_ERROR_INTERNAL_ERROR 4 +#define HTTP_TYPES_HTTP_ERROR_TIMEOUT 5 +#define HTTP_TYPES_HTTP_ERROR_REDIRECT_LOOP 6 + +typedef struct { + http_types_http_error_t error; + bindings_string_t message; +} http_types_http_request_error_t; + +typedef struct { + uint8_t *ptr; + size_t len; +} http_types_http_body_t; + +typedef struct { + bool is_some; + http_types_http_body_t val; +} bindings_option_http_body_t; + +typedef struct { + bindings_option_http_body_t body; + http_types_http_headers_t headers; + http_types_http_status_t status; +} http_types_http_response_t; + +typedef struct { + bindings_option_http_body_t body; + http_types_http_headers_t headers; + http_types_http_method_t method; + http_types_http_params_t params; + http_types_uri_t uri; +} http_types_http_request_t; + +typedef http_types_http_request_t http_interface_http_request_t; + +typedef http_types_http_response_t http_interface_http_response_t; + +typedef http_types_http_request_error_t http_interface_http_request_error_t; + +typedef struct { + bool is_err; + union { + http_interface_http_response_t ok; + http_interface_http_request_error_t err; + } val; +} bindings_result_http_response_http_request_error_t; + +// Imported Functions from `http` +void http_send_http_request(http_interface_http_request_t *request, bindings_result_http_response_http_request_error_t *ret); + +// Helper Functions + +void http_types_uri_free(http_types_uri_t *ptr); +void http_types_http_param_free(http_types_http_param_t *ptr); +void http_types_http_params_free(http_types_http_params_t *ptr); +void http_types_http_header_free(http_types_http_header_t *ptr); +void http_types_http_headers_free(http_types_http_headers_t *ptr); +void http_types_http_request_error_free(http_types_http_request_error_t *ptr); +void http_types_http_body_free(http_types_http_body_t *ptr); +void bindings_option_http_body_free(bindings_option_http_body_t *ptr); +void http_types_http_response_free(http_types_http_response_t *ptr); +void http_types_http_request_free(http_types_http_request_t *ptr); +void http_interface_http_request_free(http_interface_http_request_t *ptr); +void http_interface_http_response_free(http_interface_http_response_t *ptr); +void http_interface_http_request_error_free(http_interface_http_request_error_t *ptr); +void bindings_result_http_response_http_request_error_free(bindings_result_http_response_http_request_error_t *ptr); +void bindings_string_set(bindings_string_t *ret, const char*s); +void bindings_string_dup(bindings_string_t *ret, const char*s); +void bindings_string_free(bindings_string_t *ret); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings_types.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings_types.go new file mode 100644 index 00000000..3d923fc8 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings/bindings_types.go @@ -0,0 +1,108 @@ +package bindings + +// inspired from https://github.com/moznion/go-optional + +type optionKind int + +const ( +none optionKind = iota +some +) + +type Option[T any] struct { + kind optionKind + val T +} + +// IsNone returns true if the option is None. +func (o Option[T]) IsNone() bool { + return o.kind == none +} + +// IsSome returns true if the option is Some. +func (o Option[T]) IsSome() bool { + return o.kind == some +} + +// Unwrap returns the value if the option is Some. +func (o Option[T]) Unwrap() T { + if o.kind != some { + panic("Option is None") + } + return o.val +} + +// Set sets the value and returns it. +func (o *Option[T]) Set(val T) T { + o.kind = some + o.val = val + return val +} + +// Unset sets the value to None. +func (o *Option[T]) Unset() { + o.kind = none +} + +// Some is a constructor for Option[T] which represents Some. +func Some[T any](v T) Option[T] { + return Option[T]{ + kind: some, + val: v, + } +} + +// None is a constructor for Option[T] which represents None. +func None[T any]() Option[T] { + return Option[T]{ + kind: none, + } +} + +type ResultKind int + +const ( +Ok ResultKind = iota +Err +) + +type Result[T any, E any] struct { + Kind ResultKind + Val T + Err E +} + +func (r Result[T, E]) IsOk() bool { + return r.Kind == Ok +} + +func (r Result[T, E]) IsErr() bool { + return r.Kind == Err +} + +func (r Result[T, E]) Unwrap() T { + if r.Kind != Ok { + panic("Result is Err") + } + return r.Val +} + +func (r Result[T, E]) UnwrapErr() E { + if r.Kind != Err { + panic("Result is Ok") + } + return r.Err +} + +func (r *Result[T, E]) Set(val T) T { + r.Kind = Ok + r.Val = val + return val +} + +func (r *Result[T, E]) SetErr(err E) E { + r.Kind = Err + r.Err = err + return err +} + diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/doc.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/doc.go new file mode 100644 index 00000000..2f1fbafb --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/doc.go @@ -0,0 +1,13 @@ +/** + * + * === Go support for WASM Workers Server === + * + * This package provides a simple way to write WASM workers in Go. It uses the gjson, sjson libraries instead + * of Go's standard encoding/json package due to the following reasons: + * -- as of writing this file, the default Go compiler does not support the WASI backend, + * -- TinyGo (which does support WASI) does not support reflection and hence, we need to rely on a JSON library + * that does not use reflection + * + */ + +package worker diff --git a/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/worker.go b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/worker.go new file mode 100644 index 00000000..ddb4fcae --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/github.com/vmware-labs/wasm-workers-server/kits/go/worker/worker.go @@ -0,0 +1,267 @@ +package worker + +import ( + "bytes" + "context" + "encoding/base64" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + "strings" + "unicode/utf8" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings" + + "github.com/tidwall/gjson" + "github.com/tidwall/sjson" +) + +type ContextKey string + +const ( + CacheKey ContextKey = "CACHE" + ParamsKey ContextKey = "PARAMS" +) + +type input struct { + Url string + Method string + Headers map[string]string + Body string +} + +type output struct { + Data string + Headers map[string]string + Status uint16 + Base64 bool + + httpHeader http.Header +} + +var ( + cache map[string]string + params map[string]string +) + +func init() { + cache = make(map[string]string) + params = make(map[string]string) +} + +// output implements the http.ResponseWriter interface + +func (o *output) Header() http.Header { + if o.httpHeader == nil { + o.httpHeader = http.Header{} + } + + return o.httpHeader +} + +func (o *output) Write(data []byte) (int, error) { + if utf8.Valid(data) { + o.Data = string(data) + } else { + o.Base64 = true + o.Data = base64.StdEncoding.EncodeToString(data) + } + + if o.Status == 0 { + o.Status = 200 + } + + for k, v := range o.httpHeader { + o.Headers[k] = v[0] + } + + out, _ := sjson.Set("", "data", o.Data) + out, _ = sjson.Set(out, "status", o.Status) + out, _ = sjson.Set(out, "base64", o.Base64) + out, _ = sjson.SetRaw(out, "headers", "{}") + out, _ = sjson.SetRaw(out, "kv", "{}") + + for k, v := range o.Headers { + out, _ = sjson.Set(out, fmt.Sprintf("headers.%s", k), v) + } + + for k, v := range cache { + out, _ = sjson.Set(out, fmt.Sprintf("kv.%s", k), v) + } + + fmt.Println(out) + + return len(o.Data), nil +} + +func (o *output) WriteHeader(statusCode int) { + o.Status = uint16(statusCode) +} + +func readInput() (*input, error) { + stdin, err := io.ReadAll(os.Stdin) + if err != nil { + return nil, err + } + + in := &input{ + Url: gjson.GetBytes(stdin, "url").String(), + Method: gjson.GetBytes(stdin, "method").String(), + Body: gjson.GetBytes(stdin, "body").String(), + Headers: make(map[string]string), + } + + if gjson.GetBytes(stdin, "headers").Exists() { + gjson.GetBytes(stdin, "headers").ForEach(func(key, value gjson.Result) bool { + in.Headers[key.String()] = value.String() + return true + }) + } + + if gjson.GetBytes(stdin, "kv").Exists() { + gjson.GetBytes(stdin, "kv").ForEach(func(key, value gjson.Result) bool { + cache[key.String()] = value.String() + return true + }) + } + + if gjson.GetBytes(stdin, "params").Exists() { + gjson.GetBytes(stdin, "params").ForEach(func(key, value gjson.Result) bool { + params[key.String()] = value.String() + return true + }) + } + + return in, nil +} + +func createRequest(in *input) (*http.Request, error) { + req, err := http.NewRequest(in.Method, in.Url, strings.NewReader(in.Body)) + if err != nil { + return nil, err + } + + for k, v := range in.Headers { + req.Header.Set(k, v) + } + + req = req.WithContext(context.WithValue(req.Context(), CacheKey, cache)) + req = req.WithContext(context.WithValue(req.Context(), ParamsKey, params)) + + return req, nil +} + +func getWriterRequest() (*output, *http.Request) { + in, err := readInput() + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + + req, err := createRequest(in) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + + w := &output{ + Headers: make(map[string]string), + } + + return w, req +} + +func Serve(handler http.Handler) { + handler.ServeHTTP(getWriterRequest()) +} + +func ServeFunc(handler http.HandlerFunc) { + handler(getWriterRequest()) +} + +func SendHttpRequest(req *http.Request) (*http.Response, error) { + var method bindings.HttpTypesHttpMethod + switch req.Method { + case "GET": + method = bindings.HttpTypesHttpMethodGet() + case "POST": + method = bindings.HttpTypesHttpMethodPost() + case "PUT": + method = bindings.HttpTypesHttpMethodPut() + case "PATCH": + method = bindings.HttpTypesHttpMethodPatch() + case "DELETE": + method = bindings.HttpTypesHttpMethodDelete() + case "OPTIONS": + method = bindings.HttpTypesHttpMethodOptions() + case "HEAD": + method = bindings.HttpTypesHttpMethodHead() + default: + method = bindings.HttpTypesHttpMethodGet() + } + + // Iterate to get the headers + headers := make([]bindings.HttpTypesHttpHeader, 0, len(req.Header)) + for key, values := range req.Header { + for _, value := range values { + header := bindings.HttpTypesHttpHeader{F0: key, F1: value} + headers = append(headers, header) + } + } + + // Read the body request and convert it + body := []uint8{} + + if req.Body != nil { + readBody, err := ioutil.ReadAll(req.Body) + if err != nil { + return nil, err + } + defer req.Body.Close() + + body = readBody + } + + + // Convert body to []uint8 + bodyBytes := []uint8(body) + + bRequest := bindings.HttpTypesHttpRequest { + Body: bindings.Some(bodyBytes), + // Body: bindings.Some([]uint8{}), + Headers: headers, + Method: method, + Params: []bindings.HttpTypesHttpParam{}, + Uri: req.URL.String(), + } + + result := bindings.HttpSendHttpRequest(bRequest) + + if result.IsOk() { + response := result.Unwrap() + + // Create a new http.Response + httpResponse := &http.Response{} + httpResponse.StatusCode = int(response.Status) + + if response.Body.IsSome() { + body := response.Body.Unwrap() + httpResponse.Body = ioutil.NopCloser(bytes.NewReader(body)) + } + + // Set the headers + httpResponse.Header = make(http.Header) + for _, header := range response.Headers { + httpResponse.Header.Add(header.F0, header.F1) + } + + return httpResponse, nil + } else { + err := result.UnwrapErr() + + return nil, errors.New(err.Message) + } +} diff --git a/examples/containers/apps-src/user-generation-go/vendor/modules.txt b/examples/containers/apps-src/user-generation-go/vendor/modules.txt new file mode 100644 index 00000000..0dadb3a7 --- /dev/null +++ b/examples/containers/apps-src/user-generation-go/vendor/modules.txt @@ -0,0 +1,16 @@ +# github.com/tidwall/gjson v1.14.4 +## explicit; go 1.12 +github.com/tidwall/gjson +# github.com/tidwall/match v1.1.1 +## explicit; go 1.15 +github.com/tidwall/match +# github.com/tidwall/pretty v1.2.1 +## explicit; go 1.16 +github.com/tidwall/pretty +# github.com/tidwall/sjson v1.2.5 +## explicit; go 1.14 +github.com/tidwall/sjson +# github.com/vmware-labs/wasm-workers-server v1.4.0 +## explicit; go 1.20 +github.com/vmware-labs/wasm-workers-server/kits/go/worker +github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings diff --git a/examples/containers/apps-src/user-generation-js/user-generation-js.js b/examples/containers/apps-src/user-generation-js/user-generation-js.js new file mode 100644 index 00000000..0cd29d76 --- /dev/null +++ b/examples/containers/apps-src/user-generation-js/user-generation-js.js @@ -0,0 +1,41 @@ +const setCache = (key, data) => Cache.set(key, data); +const getCache = key => Cache.get(key); + +const reply = async (request) => { + try { + let res = await fetch("https://random-data-api.com/api/v2/users"); + let res_json = await res.json(); + + let generated_users_counter = getCache("generated_users_counter"); + if (!generated_users_counter) { + generated_users_counter = 1; + } else { + generated_users_counter = parseInt(generated_users_counter, 10) + 1; + } + setCache("generated_users_counter", generated_users_counter.toString()); + + return new Response( + JSON.stringify({ + "user": { + "first_name": res_json.first_name, + "last_name": res_json.last_name, + "username": res_json.username, + "email": res_json.email + }, + "generated_users": generated_users_counter + }), + { + "headers": { + "x-generated-by": "wasm-workers-server" + } + } + ); + } catch (e) { + return new Response(JSON.stringify({ "error": e.toString() }), { "status": 500 }); + } +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/apps-src/user-generation-js/user-generation-js.toml b/examples/containers/apps-src/user-generation-js/user-generation-js.toml new file mode 100644 index 00000000..2ce902ec --- /dev/null +++ b/examples/containers/apps-src/user-generation-js/user-generation-js.toml @@ -0,0 +1,14 @@ +name = "user-generation-js" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] diff --git a/examples/containers/apps-src/user-generation-python/index.py b/examples/containers/apps-src/user-generation-python/index.py new file mode 100644 index 00000000..c5433e7d --- /dev/null +++ b/examples/containers/apps-src/user-generation-python/index.py @@ -0,0 +1,29 @@ +import json +from collections import namedtuple + +class User: + def __init__(self, first_name, last_name, username, email): + self.first_name, self.last_name, self.username, self.email = first_name, last_name, username, email + + @staticmethod + def from_json(dict): + return User(dict['first_name'], + dict['last_name'], + dict['username'], + dict['email']) + +def worker(request): + sample_json = """{ + "first_name": "Tracie", + "last_name": "Schroeder", + "username": "tracie.schroeder", + "email": "tracie.schroeder@email.com", + "password": "secret" + }""" + user = json.loads(sample_json, object_hook=User.from_json) + return Response( + json.dumps({ + "user": user.__dict__, + "some_file_contents": open("/tmp/file.txt").read(), + }, separators=(',', ':')) + ) diff --git a/examples/containers/apps-src/user-generation-python/index.toml b/examples/containers/apps-src/user-generation-python/index.toml new file mode 100644 index 00000000..e3e76103 --- /dev/null +++ b/examples/containers/apps-src/user-generation-python/index.toml @@ -0,0 +1,6 @@ +name = "user-generation-python" +version = "1" + +[[folders]] +from = "./tmp" +to = "/tmp" \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-python/tmp b/examples/containers/apps-src/user-generation-python/tmp new file mode 120000 index 00000000..b684689e --- /dev/null +++ b/examples/containers/apps-src/user-generation-python/tmp @@ -0,0 +1 @@ +../tmp/ \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-ruby/index.rb b/examples/containers/apps-src/user-generation-ruby/index.rb new file mode 100644 index 00000000..c56248da --- /dev/null +++ b/examples/containers/apps-src/user-generation-ruby/index.rb @@ -0,0 +1,31 @@ +require 'json' + +def allowed_attributes + [:first_name, :last_name, :username, :email] +end + +def worker(req) + sampleJson = <<-JSON + { + "first_name": "Tracie", + "last_name": "Schroeder", + "username": "tracie.schroeder", + "email": "tracie.schroeder@email.com", + "password": "secret" + } + JSON + + user = JSON.parse sampleJson, symbolize_names: true + + user_response = Hash.new + allowed_attributes.each do |attribute| + user_response[attribute] = user[attribute] + end + + res = Response.new({ + "user": user_response, + "some_file_contents": File.read("/tmp/file.txt") + }.to_json) + res.headers["x-generated-by"] = "wasm-workers-server" + res +end diff --git a/examples/containers/apps-src/user-generation-ruby/index.toml b/examples/containers/apps-src/user-generation-ruby/index.toml new file mode 100644 index 00000000..6387e4b9 --- /dev/null +++ b/examples/containers/apps-src/user-generation-ruby/index.toml @@ -0,0 +1,6 @@ +name = "user-generation-ruby" +version = "1" + +[[folders]] +from = "./tmp" +to = "/tmp" \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-ruby/tmp b/examples/containers/apps-src/user-generation-ruby/tmp new file mode 120000 index 00000000..b684689e --- /dev/null +++ b/examples/containers/apps-src/user-generation-ruby/tmp @@ -0,0 +1 @@ +../tmp/ \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-rust/.cargo/config.toml b/examples/containers/apps-src/user-generation-rust/.cargo/config.toml new file mode 100644 index 00000000..c410192d --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/.cargo/config.toml @@ -0,0 +1,3 @@ +[build] +target = "wasm32-wasi" +rustflags = ["-Cstrip=symbols", "-Copt-level=z", "-Cpanic=abort", "-Cdebuginfo=none"] \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-rust/.gitignore b/examples/containers/apps-src/user-generation-rust/.gitignore new file mode 100644 index 00000000..ea8c4bf7 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/.gitignore @@ -0,0 +1 @@ +/target diff --git a/examples/containers/apps-src/user-generation-rust/Cargo.lock b/examples/containers/apps-src/user-generation-rust/Cargo.lock new file mode 100644 index 00000000..b1b8c151 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/Cargo.lock @@ -0,0 +1,332 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "async-trait" +version = "0.1.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "base64" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "memchr" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" + +[[package]] +name = "proc-macro2" +version = "1.0.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pulldown-cmark" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "serde" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + +[[package]] +name = "serde_json" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "user-generation-rust" +version = "0.1.0" +dependencies = [ + "anyhow", + "serde", + "serde_json", + "wasm-workers-rs", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-workers-rs" +version = "1.4.0" +source = "git+https://github.com/vmware-labs/wasm-workers-server/?tag=v1.4.0#0f5404b445e2ffef282a6f7d4a29693f33b31e6b" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "wit-bindgen-rust", + "worker", +] + +[[package]] +name = "wit-bindgen-gen-core" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-gen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", +] + +[[package]] +name = "wit-bindgen-gen-rust-wasm" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "async-trait", + "bitflags", + "wit-bindgen-rust-impl", +] + +[[package]] +name = "wit-bindgen-rust-impl" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust-wasm", +] + +[[package]] +name = "wit-parser" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "id-arena", + "pulldown-cmark", + "unicode-normalization", + "unicode-xid", +] + +[[package]] +name = "worker" +version = "1.4.0" +source = "git+https://github.com/vmware-labs/wasm-workers-server/?tag=v1.4.0#0f5404b445e2ffef282a6f7d4a29693f33b31e6b" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn 1.0.109", + "wasi", +] diff --git a/examples/containers/apps-src/user-generation-rust/Cargo.toml b/examples/containers/apps-src/user-generation-rust/Cargo.toml new file mode 100644 index 00000000..83ebef51 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "user-generation-rust" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.85" +wasm-workers-rs = { git = "https://github.com/vmware-labs/wasm-workers-server/", tag = "v1.4.0" } \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-rust/rust-toolchain.toml b/examples/containers/apps-src/user-generation-rust/rust-toolchain.toml new file mode 100644 index 00000000..b6582546 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +targets = ["wasm32-wasi"] \ No newline at end of file diff --git a/examples/containers/apps-src/user-generation-rust/src/main.rs b/examples/containers/apps-src/user-generation-rust/src/main.rs new file mode 100644 index 00000000..649a20c3 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/src/main.rs @@ -0,0 +1,61 @@ +use anyhow::{anyhow, Result}; +use serde::{Deserialize, Serialize}; +use std::fs::read_to_string; + +use wasm_workers_rs::{ + bindings, + http::{Request, Response}, + worker, Cache, Content, +}; + +#[derive(Deserialize, Serialize)] +struct User { + first_name: String, + last_name: String, + username: String, + email: String, +} + +#[derive(Deserialize, Serialize)] +struct ResponseData { + user: User, + some_file_contents: String, + generated_users: u32, +} + +const GENERATED_USERS_COUNTER: &str = "generated_users_counter"; + +#[worker(cache)] +fn reply(_req: Request, cache: &mut Cache) -> Result> { + let external_request = Request::builder() + .uri("https://random-data-api.com/api/v2/users") + .body(String::new()) + .map_err(|err| anyhow!("could not build request: {:?}", err))?; + let response = bindings::send_http_request(external_request) + .map_err(|err| anyhow!("could not fetch data from remote service: {:?}", err))?; + let user: User = serde_json::from_slice(response.body()) + .map_err(|err| anyhow!("invalid data returned by remote service: {:?}", err))?; + + let generated_users_counter = match cache.get(GENERATED_USERS_COUNTER) { + Some(counter) => counter.parse::().unwrap_or(0), + None => 0, + } + 1; + + cache.insert(GENERATED_USERS_COUNTER.to_string(), generated_users_counter.to_string()); + + let response = ResponseData { + user, + some_file_contents: read_to_string("/tmp/file.txt")?, + generated_users: generated_users_counter, + }; + + Ok(Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body( + serde_json::to_string(&response) + .map_err(|err| anyhow!("could not marshal result: {:?}", err))? + .into(), + ) + .map_err(|err| anyhow!("could not retrieve remote service result: {:?}", err))?) +} diff --git a/examples/containers/apps-src/user-generation-rust/user-generation-rust.toml b/examples/containers/apps-src/user-generation-rust/user-generation-rust.toml new file mode 100644 index 00000000..63dc8671 --- /dev/null +++ b/examples/containers/apps-src/user-generation-rust/user-generation-rust.toml @@ -0,0 +1,14 @@ +name = "user-generation-rust" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] diff --git a/examples/containers/apps/root/.wws.toml b/examples/containers/apps/root/.wws.toml new file mode 100644 index 00000000..16c478cf --- /dev/null +++ b/examples/containers/apps/root/.wws.toml @@ -0,0 +1,83 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217-1" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "74d10132b0577a39e4ea30002d4605b7cdfb8f39abca327a45c8b313de7ea304" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" + +[[repositories.runtimes]] +name = "ruby" +version = "3.2.0+20230215-1" +tags = [ + "latest", + "3.2", + "3.2.0", +] +status = "active" +extensions = ["rb"] +args = [ + "--", + "/src/index.rb", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm" +filename = "ruby.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/poly.rb" +filename = "poly.rb" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "449855a5d315879ab0ad830aa6a3f689e68fed4490617ea03efc77c9da64f630" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" \ No newline at end of file diff --git a/examples/containers/apps/root/user-generation-go.toml b/examples/containers/apps/root/user-generation-go.toml new file mode 100644 index 00000000..d8c05b5b --- /dev/null +++ b/examples/containers/apps/root/user-generation-go.toml @@ -0,0 +1,14 @@ +name = "user-generation-go" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] \ No newline at end of file diff --git a/examples/containers/apps/root/user-generation-js.js b/examples/containers/apps/root/user-generation-js.js new file mode 100644 index 00000000..0cd29d76 --- /dev/null +++ b/examples/containers/apps/root/user-generation-js.js @@ -0,0 +1,41 @@ +const setCache = (key, data) => Cache.set(key, data); +const getCache = key => Cache.get(key); + +const reply = async (request) => { + try { + let res = await fetch("https://random-data-api.com/api/v2/users"); + let res_json = await res.json(); + + let generated_users_counter = getCache("generated_users_counter"); + if (!generated_users_counter) { + generated_users_counter = 1; + } else { + generated_users_counter = parseInt(generated_users_counter, 10) + 1; + } + setCache("generated_users_counter", generated_users_counter.toString()); + + return new Response( + JSON.stringify({ + "user": { + "first_name": res_json.first_name, + "last_name": res_json.last_name, + "username": res_json.username, + "email": res_json.email + }, + "generated_users": generated_users_counter + }), + { + "headers": { + "x-generated-by": "wasm-workers-server" + } + } + ); + } catch (e) { + return new Response(JSON.stringify({ "error": e.toString() }), { "status": 500 }); + } +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/apps/root/user-generation-js.toml b/examples/containers/apps/root/user-generation-js.toml new file mode 100644 index 00000000..2ce902ec --- /dev/null +++ b/examples/containers/apps/root/user-generation-js.toml @@ -0,0 +1,14 @@ +name = "user-generation-js" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] diff --git a/examples/containers/apps/root/user-generation-python/index.py b/examples/containers/apps/root/user-generation-python/index.py new file mode 100644 index 00000000..c5433e7d --- /dev/null +++ b/examples/containers/apps/root/user-generation-python/index.py @@ -0,0 +1,29 @@ +import json +from collections import namedtuple + +class User: + def __init__(self, first_name, last_name, username, email): + self.first_name, self.last_name, self.username, self.email = first_name, last_name, username, email + + @staticmethod + def from_json(dict): + return User(dict['first_name'], + dict['last_name'], + dict['username'], + dict['email']) + +def worker(request): + sample_json = """{ + "first_name": "Tracie", + "last_name": "Schroeder", + "username": "tracie.schroeder", + "email": "tracie.schroeder@email.com", + "password": "secret" + }""" + user = json.loads(sample_json, object_hook=User.from_json) + return Response( + json.dumps({ + "user": user.__dict__, + "some_file_contents": open("/tmp/file.txt").read(), + }, separators=(',', ':')) + ) diff --git a/examples/containers/apps/root/user-generation-python/index.toml b/examples/containers/apps/root/user-generation-python/index.toml new file mode 100644 index 00000000..e3e76103 --- /dev/null +++ b/examples/containers/apps/root/user-generation-python/index.toml @@ -0,0 +1,6 @@ +name = "user-generation-python" +version = "1" + +[[folders]] +from = "./tmp" +to = "/tmp" \ No newline at end of file diff --git a/examples/containers/apps/root/user-generation-python/tmp/file.txt b/examples/containers/apps/root/user-generation-python/tmp/file.txt new file mode 100644 index 00000000..0ee38955 --- /dev/null +++ b/examples/containers/apps/root/user-generation-python/tmp/file.txt @@ -0,0 +1 @@ +Some content diff --git a/examples/containers/apps/root/user-generation-ruby/index.rb b/examples/containers/apps/root/user-generation-ruby/index.rb new file mode 100644 index 00000000..c56248da --- /dev/null +++ b/examples/containers/apps/root/user-generation-ruby/index.rb @@ -0,0 +1,31 @@ +require 'json' + +def allowed_attributes + [:first_name, :last_name, :username, :email] +end + +def worker(req) + sampleJson = <<-JSON + { + "first_name": "Tracie", + "last_name": "Schroeder", + "username": "tracie.schroeder", + "email": "tracie.schroeder@email.com", + "password": "secret" + } + JSON + + user = JSON.parse sampleJson, symbolize_names: true + + user_response = Hash.new + allowed_attributes.each do |attribute| + user_response[attribute] = user[attribute] + end + + res = Response.new({ + "user": user_response, + "some_file_contents": File.read("/tmp/file.txt") + }.to_json) + res.headers["x-generated-by"] = "wasm-workers-server" + res +end diff --git a/examples/containers/apps/root/user-generation-ruby/index.toml b/examples/containers/apps/root/user-generation-ruby/index.toml new file mode 100644 index 00000000..6387e4b9 --- /dev/null +++ b/examples/containers/apps/root/user-generation-ruby/index.toml @@ -0,0 +1,6 @@ +name = "user-generation-ruby" +version = "1" + +[[folders]] +from = "./tmp" +to = "/tmp" \ No newline at end of file diff --git a/examples/containers/apps/root/user-generation-ruby/tmp/file.txt b/examples/containers/apps/root/user-generation-ruby/tmp/file.txt new file mode 100644 index 00000000..0ee38955 --- /dev/null +++ b/examples/containers/apps/root/user-generation-ruby/tmp/file.txt @@ -0,0 +1 @@ +Some content diff --git a/examples/containers/apps/root/user-generation-rust.toml b/examples/containers/apps/root/user-generation-rust.toml new file mode 100644 index 00000000..63dc8671 --- /dev/null +++ b/examples/containers/apps/root/user-generation-rust.toml @@ -0,0 +1,14 @@ +name = "user-generation-rust" +version = "1" + +[data] +[data.kv] +namespace = "generated_users_counter" + +[[folders]] +from = "./tmp" +to = "/tmp" + +[features] +[features.http_requests] +allowed_hosts = ["random-data-api.com"] diff --git a/examples/containers/tmp/file.txt b/examples/containers/tmp/file.txt new file mode 100644 index 00000000..f42d6a47 --- /dev/null +++ b/examples/containers/tmp/file.txt @@ -0,0 +1 @@ +Mount contents coming from the Docker Host :) diff --git a/examples/containers/wasm-workers-server/.github/workflows/artifacts.yml b/examples/containers/wasm-workers-server/.github/workflows/artifacts.yml new file mode 100644 index 00000000..d5a6440d --- /dev/null +++ b/examples/containers/wasm-workers-server/.github/workflows/artifacts.yml @@ -0,0 +1,97 @@ +name: Build artifacts + +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+" + +jobs: + build: + strategy: + matrix: + build: [linux, windows, macos] + arch: [x86_64, aarch64] + include: + - build: linux + arch: x86_64 + os: ubuntu-latest + platform: unknown-linux-musl + cross: false + name: linux-musl + features: --features vendored-openssl + - build: linux + arch: aarch64 + os: ubuntu-latest + platform: unknown-linux-musl + cross: true + name: linux-musl + features: --features vendored-openssl + - build: windows + arch: x86_64 + os: windows-latest + platform: pc-windows-msvc + cross: false + name: pc-windows + features: + - build: windows + arch: aarch64 + os: windows-latest + platform: pc-windows-msvc + cross: false + name: pc-windows + features: + - build: macos + arch: x86_64 + os: macos-latest + platform: apple-darwin + cross: false + name: macos-darwin + features: + - build: macos + arch: aarch64 + os: macos-latest + platform: apple-darwin + cross: false + name: macos-darwin + features: --features vendored-openssl + runs-on: ${{ matrix.os }} + env: + # This variable can be overriden with `cross` for builds that + # requires it. By default, we will compile everything using cargo. + CARGO: cargo + steps: + - uses: actions/checkout@v3 + - name: Install cross + if: matrix.cross == true + run: | + cargo install cross + echo "CARGO=cross" >> $GITHUB_ENV + - name: Install target + if: matrix.cross == false + run: rustup target add ${{ matrix.arch }}-${{ matrix.platform }} + - name: Install deps (Linux) + if: ${{ matrix.build == 'linux' }} + run: | + sudo apt-get update + sudo apt-get install musl-tools + - name: Build + run: ${{env.CARGO}} build --verbose --release --target=${{ matrix.arch }}-${{ matrix.platform }} ${{ matrix.features }} + - name: Tarball + shell: bash + run: | + mkdir out + cp {README.md,LICENSE} out + + if [ "${{ matrix.os }}" = "windows-latest" ]; then + cp "target/${{ matrix.arch }}-${{ matrix.platform }}/release/wws.exe" ./out + else + cp "target/${{ matrix.arch }}-${{ matrix.platform }}/release/wws" ./out + fi + + tar czvf "wws-${{ matrix.name }}-${{ matrix.arch }}.tar.gz" -C ./out . + echo "TARBALL=wws-${{ matrix.name }}-${{ matrix.arch }}.tar.gz" >> $GITHUB_ENV + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: wws-${{ matrix.name }}-${{ matrix.arch }}.tar.gz + path: ${{ env.TARBALL }} diff --git a/examples/containers/wasm-workers-server/.github/workflows/build.yml b/examples/containers/wasm-workers-server/.github/workflows/build.yml new file mode 100644 index 00000000..1d640d08 --- /dev/null +++ b/examples/containers/wasm-workers-server/.github/workflows/build.yml @@ -0,0 +1,72 @@ +name: Rust + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Caching + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Format + run: cargo fmt --check + - name: Clippy + run: cargo clippy -- -D warnings + deny: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Caching + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Install deny + run: cargo install --locked cargo-deny + - name: Run + run: cargo deny check + build: + name: Build and test + env: + E2E_MAX_WAITING_TIME: 60 + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Caching + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Install Wasm32-wasi target + run: rustup target add wasm32-wasi + - name: Build Rust examples + working-directory: ./examples + run: make all + - name: Build wws on release mode + run: cargo build --verbose --release + - name: Test + run: cargo test --workspace --exclude wasm-workers-quick-js-engine -- --show-output diff --git a/examples/containers/wasm-workers-server/.github/workflows/container-preview.yml b/examples/containers/wasm-workers-server/.github/workflows/container-preview.yml new file mode 100644 index 00000000..7c945fec --- /dev/null +++ b/examples/containers/wasm-workers-server/.github/workflows/container-preview.yml @@ -0,0 +1,94 @@ +# Copyright 2022 VMware, Inc. +# SPDX-License-Identifier: Apache-2.0 +name: Container Build Preview + +on: + push: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + REGISTRY: ghcr.io + IMAGE_NAME: vmware-labs/wws + +jobs: + build-binaries: + name: Build Rust binaries + runs-on: ubuntu-latest + strategy: + matrix: + arch: [ "aarch64", "x86_64" ] + include: + - arch: x86_64 + cross: false + platform: unknown-linux-musl + - arch: aarch64 + cross: true + platform: unknown-linux-musl + env: + # This variable can be overriden with `cross` for builds that + # requires it. By default, we will compile everything using cargo. + CARGO: cargo + steps: + - uses: actions/checkout@v3 + - name: Install cross + if: matrix.cross == true + run: | + cargo install cross + echo "CARGO=cross" >> $GITHUB_ENV + - name: Install target + if: matrix.cross == false + run: rustup target add ${{ matrix.arch }}-${{ matrix.platform }} + - name: Install deps + if: matrix.cross == false + run: | + sudo apt-get update + sudo apt-get install musl-tools + - name: Build + run: ${{env.CARGO}} build --release --target=${{ matrix.arch }}-${{ matrix.platform }} --features vendored-openssl + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: wws-${{ matrix.arch }} + path: target/${{ matrix.arch }}-${{ matrix.platform }}/release/wws + + build-container-image: + name: Build Container Image + runs-on: ubuntu-latest + needs: + - build-binaries + steps: + - name: Repository clone + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Package Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Download wws-x86_64 + uses: actions/download-artifact@v3 + with: + name: wws-x86_64 + path: binaries/x86_64 + - name: Download wws-aarch64 + uses: actions/download-artifact@v3 + with: + name: wws-aarch64 + path: binaries/aarch64 + - name: Move binaries and rename + run: | + mv binaries/x86_64/wws wws-amd64 + mv binaries/aarch64/wws wws-arm64 + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: image/Prebuilt.dockerfile + push: true + platforms: linux/amd64,linux/arm64 + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:preview diff --git a/examples/containers/wasm-workers-server/.github/workflows/container-release.yml b/examples/containers/wasm-workers-server/.github/workflows/container-release.yml new file mode 100644 index 00000000..6d4704bd --- /dev/null +++ b/examples/containers/wasm-workers-server/.github/workflows/container-release.yml @@ -0,0 +1,95 @@ +# Copyright 2022 VMware, Inc. +# SPDX-License-Identifier: Apache-2.0 +name: Container Build Release + +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+" + +env: + CARGO_TERM_COLOR: always + REGISTRY: ghcr.io + IMAGE_NAME: vmware-labs/wws + +jobs: + build-binaries: + name: Build Rust binaries + runs-on: ubuntu-latest + strategy: + matrix: + arch: [ "aarch64", "x86_64" ] + include: + - arch: x86_64 + cross: false + platform: unknown-linux-musl + - arch: aarch64 + cross: true + platform: unknown-linux-musl + env: + # This variable can be overriden with `cross` for builds that + # requires it. By default, we will compile everything using cargo. + CARGO: cargo + steps: + - uses: actions/checkout@v3 + - name: Install cross + if: matrix.cross == true + run: | + cargo install cross + echo "CARGO=cross" >> $GITHUB_ENV + - name: Install target + if: matrix.cross == false + run: rustup target add ${{ matrix.arch }}-${{ matrix.platform }} + - name: Install deps + if: matrix.cross == false + run: | + sudo apt-get update + sudo apt-get install musl-tools + - name: Build + run: ${{env.CARGO}} build --release --target=${{ matrix.arch }}-${{ matrix.platform }} --features vendored-openssl + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: wws-${{ matrix.arch }} + path: target/${{ matrix.arch }}-${{ matrix.platform }}/release/wws + + build-container-image: + name: Build Container Image + runs-on: ubuntu-latest + needs: + - build-binaries + steps: + - name: Repository clone + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Package Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Download wws-x86_64 + uses: actions/download-artifact@v3 + with: + name: wws-x86_64 + path: binaries/x86_64 + - name: Download wws-aarch64 + uses: actions/download-artifact@v3 + with: + name: wws-aarch64 + path: binaries/aarch64 + - name: Move binaries and rename + run: | + mv binaries/x86_64/wws wws-amd64 + mv binaries/aarch64/wws wws-arm64 + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: image/Prebuilt.dockerfile + push: true + platforms: linux/amd64,linux/arm64 + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest diff --git a/examples/containers/wasm-workers-server/.gitignore b/examples/containers/wasm-workers-server/.gitignore new file mode 100644 index 00000000..10e1fd84 --- /dev/null +++ b/examples/containers/wasm-workers-server/.gitignore @@ -0,0 +1,6 @@ +target +*.wasm +!tests/**/*.wasm +examples/*.toml +.DS_Store +.wws \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/CODE_OF_CONDUCT.md b/examples/containers/wasm-workers-server/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..0cd2b95a --- /dev/null +++ b/examples/containers/wasm-workers-server/CODE_OF_CONDUCT.md @@ -0,0 +1,127 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in wasm-workers-server project and our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at oss-coc@vmware.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/examples/containers/wasm-workers-server/CONTRIBUTING.md b/examples/containers/wasm-workers-server/CONTRIBUTING.md new file mode 100644 index 00000000..04b7c3cf --- /dev/null +++ b/examples/containers/wasm-workers-server/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contributing to Wasm Workers Server + +The wasm-workers-server team welcomes contributions from the community. First, we want to thank you for taking the time to contribute! + +Please familiarize yourself with the [Code of Conduct](https://github.com/vmware/.github/blob/main/CODE_OF_CONDUCT.md) before contributing. + +Before you start working with `wasm-workers-server`, please read and sign our Contributor License Agreement [CLA](https://cla.vmware.com/cla/1/preview). If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will prompt you to do so when you open a Pull Request. For any questions about the CLA process, please refer to our [FAQ](https://cla.vmware.com/faq). + +## Ways to contribute + +We welcome many different types of contributions and not all of them need a Pull request. Contributions may include: + +* New features and proposals +* Documentation +* Bug fixes +* Issue Triage +* Answering questions and giving feedback +* Helping to onboard new contributors +* Other related activities + +## Getting started + +Check our [README.md] file to understand the structure of this project, the different parts and how to setup your development environment. + +## Contribution Flow + +This is a rough outline of what a contributor's workflow looks like: + +* Create an issue to discuss the feature or bug you want to work on +* Make a fork of the repository within your GitHub account +* Create a topic branch in your fork from where you want to base your work +* Make commits of logical units +* Make sure your commit messages are with the proper format, quality and descriptiveness (see below) +* Push your changes to the topic branch in your fork +* Create a pull request containing that commit + +We follow the GitHub workflow and you can find more details on the [GitHub flow documentation](https://docs.github.com/en/get-started/quickstart/github-flow). + +Example: + +``` +# After forking the project: +git clone MY_FORK_URL +cd wasm-workers-server +git switch -c my-new-feature +git commit -s -S -a +git push origin my-new-feature +``` + +### Pull Request Checklist + +Before submitting your pull request, we advise you to use the following: + +1. Check if your code changes will pass both code linting checks and unit tests. +2. Ensure your commit messages are descriptive. We follow the conventions on [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/). Be sure to include any related GitHub issue references in the commit message. See [GFM syntax](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) for referencing issues and commits. +3. Check the commits and commits messages and ensure they are free from typos. + +## Reporting Bugs and Creating Issues + +For specifics on what to include in your report, please follow the guidelines in the issue and pull request templates when available. + +## Ask for Help + +The best way to reach us with a question when contributing is to ask on: + +* The original GitHub issue +* Our [@vmwwasm Twitter account](https://twitter.com/vmwwasm) diff --git a/examples/containers/wasm-workers-server/Cargo.lock b/examples/containers/wasm-workers-server/Cargo.lock new file mode 100644 index 00000000..699fa89a --- /dev/null +++ b/examples/containers/wasm-workers-server/Cargo.lock @@ -0,0 +1,4157 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "actix-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8" +dependencies = [ + "bitflags 1.3.2", + "bytes", + "futures-core", + "futures-sink", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "actix-files" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d832782fac6ca7369a70c9ee9a20554623c5e51c76e190ad151780ebea1cf689" +dependencies = [ + "actix-http", + "actix-service", + "actix-utils", + "actix-web", + "askama_escape", + "bitflags 1.3.2", + "bytes", + "derive_more", + "futures-core", + "http-range", + "log", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", +] + +[[package]] +name = "actix-http" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2079246596c18b4a33e274ae10c0e50613f4d32a4198e09c7b93771013fed74" +dependencies = [ + "actix-codec", + "actix-rt", + "actix-service", + "actix-utils", + "ahash 0.8.3", + "base64", + "bitflags 1.3.2", + "brotli", + "bytes", + "bytestring", + "derive_more", + "encoding_rs", + "flate2", + "futures-core", + "h2", + "http", + "httparse", + "httpdate", + "itoa", + "language-tags", + "local-channel", + "mime", + "percent-encoding", + "pin-project-lite", + "rand", + "sha1", + "smallvec", + "tokio", + "tokio-util", + "tracing", + "zstd 0.12.3+zstd.1.5.2", +] + +[[package]] +name = "actix-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "actix-router" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" +dependencies = [ + "bytestring", + "http", + "regex", + "serde", + "tracing", +] + +[[package]] +name = "actix-rt" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e" +dependencies = [ + "futures-core", + "tokio", +] + +[[package]] +name = "actix-server" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e8613a75dd50cc45f473cee3c34d59ed677c0f7b44480ce3b8247d7dc519327" +dependencies = [ + "actix-rt", + "actix-service", + "actix-utils", + "futures-core", + "futures-util", + "mio", + "num_cpus", + "socket2", + "tokio", + "tracing", +] + +[[package]] +name = "actix-service" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" +dependencies = [ + "futures-core", + "paste", + "pin-project-lite", +] + +[[package]] +name = "actix-utils" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" +dependencies = [ + "local-waker", + "pin-project-lite", +] + +[[package]] +name = "actix-web" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3cb42f9566ab176e1ef0b8b3a896529062b4efc6be0123046095914c4c1c96" +dependencies = [ + "actix-codec", + "actix-http", + "actix-macros", + "actix-router", + "actix-rt", + "actix-server", + "actix-service", + "actix-utils", + "actix-web-codegen", + "ahash 0.7.6", + "bytes", + "bytestring", + "cfg-if", + "cookie", + "derive_more", + "encoding_rs", + "futures-core", + "futures-util", + "http", + "itoa", + "language-tags", + "log", + "mime", + "once_cell", + "pin-project-lite", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "smallvec", + "socket2", + "time", + "url", +] + +[[package]] +name = "actix-web-codegen" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9" +dependencies = [ + "actix-router", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "ambient-authority" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9d4ee0d472d1cd2e28c97dfa124b3d8d992e10eb0a035f33f5d12e3a177ba3b" + +[[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" + +[[package]] +name = "anstyle-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] +name = "anyhow" +version = "1.0.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[package]] +name = "arbitrary" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "askama_escape" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" + +[[package]] +name = "async-trait" +version = "0.1.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2d0f03b3640e3a630367e40c468cb7f309529c708ed1d88597047b0e7c6ef7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.60.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "clap 3.2.25", + "env_logger 0.9.3", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "which", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded" + +[[package]] +name = "blake3" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "brownstone" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5839ee4f953e811bfdcf223f509cb2c6a3e1447959b0bff459405575bc17f22" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "bytestring" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" +dependencies = [ + "bytes", +] + +[[package]] +name = "cap-fs-ext" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58bc48200a1a0fa6fba138b1802ad7def18ec1cdd92f7b2a04e21f1bd887f7b9" +dependencies = [ + "cap-primitives", + "cap-std", + "io-lifetimes", + "windows-sys 0.48.0", +] + +[[package]] +name = "cap-primitives" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b6df5b295dca8d56f35560be8c391d59f0420f72e546997154e24e765e6451" +dependencies = [ + "ambient-authority", + "fs-set-times", + "io-extras", + "io-lifetimes", + "ipnet", + "maybe-owned", + "rustix", + "windows-sys 0.48.0", + "winx", +] + +[[package]] +name = "cap-rand" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d25555efacb0b5244cf1d35833d55d21abc916fff0eaad254b8e2453ea9b8ab" +dependencies = [ + "ambient-authority", + "rand", +] + +[[package]] +name = "cap-std" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3373a62accd150b4fcba056d4c5f3b552127f0ec86d3c8c102d60b978174a012" +dependencies = [ + "cap-primitives", + "io-extras", + "io-lifetimes", + "rustix", +] + +[[package]] +name = "cap-time-ext" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e95002993b7baee6b66c8950470e59e5226a23b3af39fc59c47fe416dd39821a" +dependencies = [ + "cap-primitives", + "once_cell", + "rustix", + "winx", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clang-sys" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap" +version = "4.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80672091db20273a15cf9fdd4e47ed43b5091ec9841bf4c6145c9dfbbcae09ed" +dependencies = [ + "clap_builder", + "clap_derive", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1458a1df40e1e2afebb7ab60ce55c1fa8f431146205aa5f4887e0b111c27636" +dependencies = [ + "anstream", + "anstyle", + "bitflags 1.3.2", + "clap_lex 0.5.0", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "const_format" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cookie" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cpufeatures" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +dependencies = [ + "libc", +] + +[[package]] +name = "cranelift-bforest" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c289b8eac3a97329a524e953b5fd68a8416ca629e1a37287f12d9e0760aadbc" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bf07ba80f53fa7f7dc97b11087ea867f7ae4621cfca21a909eca92c0b96c7d9" +dependencies = [ + "bumpalo", + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-control", + "cranelift-entity", + "cranelift-isle", + "gimli", + "hashbrown 0.13.2", + "log", + "regalloc2", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a7ca088173130c5c033e944756e3e441fbf3f637f32b4f6eb70252580c6dd4" +dependencies = [ + "cranelift-codegen-shared", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0114095ec7d2fbd658ed100bd007006360bc2530f57c6eee3d3838869140dbf9" + +[[package]] +name = "cranelift-control" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d56031683a55a949977e756d21826eb17a1f346143a1badc0e120a15615cd38" +dependencies = [ + "arbitrary", +] + +[[package]] +name = "cranelift-entity" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6565198b5684367371e2b946ceca721eb36965e75e3592fad12fc2e15f65d7b" +dependencies = [ + "serde", +] + +[[package]] +name = "cranelift-frontend" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25f28cc44847c8b98cb921e6bfc0f7b228f4d27519376fea724d181da91709a6" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-isle" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80b658177e72178c438f7de5d6645c56d97af38e17fcb0b500459007b4e05cc5" + +[[package]] +name = "cranelift-native" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf1c7de7221e6afcc5e13ced3b218faab3bc65b47eac67400046a05418aecd6a" +dependencies = [ + "cranelift-codegen", + "libc", + "target-lexicon", +] + +[[package]] +name = "cranelift-wasm" +version = "0.97.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b0d28ebe8edb6b503630c489aa4669f1e2d13b97bec7271a0fcb0e159be3ad" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "itertools", + "log", + "smallvec", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "csv" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +dependencies = [ + "memchr", +] + +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "uuid", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fd-lock" +version = "3.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642" +dependencies = [ + "cfg-if", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "file-per-thread-logger" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3cc21c33af89af0930c8cae4ade5e6fdc17b5d2c97b3d2e2edb67a1cf683f3" +dependencies = [ + "env_logger 0.10.0", + "log", +] + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs-set-times" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7833d0f115a013d51c55950a3b09d30e4b057be9961b709acb9b5b17a1108861" +dependencies = [ + "io-lifetimes", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-io", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "fxprof-processed-profile" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" +dependencies = [ + "bitflags 2.3.2", + "debugid", + "fxhash", + "serde", + "serde_json", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +dependencies = [ + "fallible-iterator", + "indexmap", + "stable_deref_trait", +] + +[[package]] +name = "git2" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" +dependencies = [ + "bitflags 1.3.2", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "h2" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indent_write" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-extras" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde93d48f0d9277f977a333eca8313695ddd5301dc96f7e02aeddcb0dd99096f" +dependencies = [ + "io-lifetimes", + "windows-sys 0.48.0", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" + +[[package]] +name = "is-terminal" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +dependencies = [ + "hermit-abi 0.3.1", + "io-lifetimes", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "ittapi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e648c437172ce7d3ac35ca11a068755072054826fa455a916b43524fa4a62a7" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b32a4d23f72548178dde54f3c12c6b6a08598e25575c0d0fa5bd861e0dc1a5" +dependencies = [ + "cc", +] + +[[package]] +name = "javy" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "407ec70e152460c246509dc086b97017ed52d453e49993059ce369ab609e34a4" +dependencies = [ + "anyhow", + "quickjs-wasm-rs", + "serde-transcode", + "serde_json", +] + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "joinery" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "language-tags" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.146" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" + +[[package]] +name = "libgit2-sys" +version = "0.15.2+1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa" +dependencies = [ + "cc", + "libc", + "libssh2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "local-channel" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "local-waker", +] + +[[package]] +name = "local-waker" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "maybe-owned" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memfd" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" +dependencies = [ + "rustix", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nom-supreme" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd3ae6c901f1959588759ff51c95d24b491ecb9ff91aa9c2ef4acc5b1dcab27" +dependencies = [ + "brownstone", + "indent_write", + "joinery", + "memchr", + "nom", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "object" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap", + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "openssl" +version = "0.10.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-src" +version = "111.26.0+1.1.1u" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets", +] + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "pori" +version = "0.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a63d338dec139f56dacc692ca63ad35a6be6a797442479b55acd611d79e906" +dependencies = [ + "nom", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "prettytable-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a" +dependencies = [ + "csv", + "encode_unicode", + "is-terminal", + "lazy_static", + "term", + "unicode-width", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "pulldown-cmark" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +dependencies = [ + "bitflags 1.3.2", + "memchr", + "unicase", +] + +[[package]] +name = "quickjs-wasm-rs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a318ed47e42082c11771620a1235231f34c10f775f4972dbc7753d4b07d8d568" +dependencies = [ + "anyhow", + "once_cell", + "quickjs-wasm-sys", + "serde", +] + +[[package]] +name = "quickjs-wasm-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f72b064defce86eb257f5505ff22604f67d6b1036e995ac703cfdbe378e2df92" +dependencies = [ + "bindgen", + "cc", + "walkdir", +] + +[[package]] +name = "quote" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regalloc2" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12513beb38dd35aab3ac5f5b89fd0330159a0dc21d5309d75073011bbc8032b0" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + +[[package]] +name = "regex" +version = "1.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" + +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "rust-embed" +version = "6.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73e721f488c353141288f223b599b4ae9303ecf3e62923f40a492f0634a4dc3" +dependencies = [ + "rust-embed-impl", + "rust-embed-utils", + "walkdir", +] + +[[package]] +name = "rust-embed-impl" +version = "6.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22ce362f5561923889196595504317a4372b84210e6e335da529a65ea5452b5" +dependencies = [ + "proc-macro2", + "quote", + "rust-embed-utils", + "syn 2.0.18", + "walkdir", +] + +[[package]] +name = "rust-embed-utils" +version = "7.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" +dependencies = [ + "sha2", + "walkdir", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.37.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "itoa", + "libc", + "linux-raw-sys", + "once_cell", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustversion" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" + +[[package]] +name = "serde" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-transcode" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "590c0e25c2a5bb6e85bf5c1bce768ceb86b316e7a01bdf07d2cb4ec2271990e2" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "serde_json" +version = "1.0.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha256" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a975c1bc0941703000eaf232c4d8ce188d8d5408d6344b6b2c8c6262772828" +dependencies = [ + "hex", + "sha2", +] + +[[package]] +name = "shellexpand" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" +dependencies = [ + "dirs", +] + +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slice-group-by" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "sptr" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-interface" +version = "0.25.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928ebd55ab758962e230f51ca63735c5b283f26292297c81404289cda5d78631" +dependencies = [ + "bitflags 1.3.2", + "cap-fs-ext", + "cap-std", + "fd-lock", + "io-lifetimes", + "rustix", + "windows-sys 0.48.0", + "winx", +] + +[[package]] +name = "target-lexicon" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" + +[[package]] +name = "tempfile" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +dependencies = [ + "autocfg", + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "time" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +dependencies = [ + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +dependencies = [ + "autocfg", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8803eee176538f94ae9a14b55b2804eb7e1441f8210b1c31290b3bccdccff73b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "utoipa" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ae74ef183fae36d650f063ae7bde1cacbe1cd7e72b617cbe1e985551878b98" +dependencies = [ + "indexmap", + "serde", + "serde_json", + "utoipa-gen", +] + +[[package]] +name = "utoipa-gen" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ea8ac818da7e746a63285594cce8a96f5e00ee31994e655bd827569cb8b137b" +dependencies = [ + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "regex", + "syn 2.0.18", +] + +[[package]] +name = "uuid" +version = "1.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi-cap-std-sync" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291862f1014dd7e674f93b263d57399de4dd1907ea37e74cf7d36454536ba2f0" +dependencies = [ + "anyhow", + "async-trait", + "cap-fs-ext", + "cap-rand", + "cap-std", + "cap-time-ext", + "fs-set-times", + "io-extras", + "io-lifetimes", + "is-terminal", + "once_cell", + "rustix", + "system-interface", + "tracing", + "wasi-common", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasi-common" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b422ae2403cae9ca603864272a402cf5001dd6fef8632e090e00c4fb475741b" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "cap-rand", + "cap-std", + "io-extras", + "log", + "rustix", + "thiserror", + "tracing", + "wasmtime", + "wiggle", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.18", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wasm-encoder" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-workers-quick-js-engine" +version = "0.1.0" +dependencies = [ + "anyhow", + "javy", + "wit-bindgen-rust", +] + +[[package]] +name = "wasm-workers-rs" +version = "1.4.0" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "wit-bindgen-rust", + "worker", +] + +[[package]] +name = "wasm-workers-server" +version = "1.4.0" +dependencies = [ + "actix-web", + "anyhow", + "clap 4.3.4", + "env_logger 0.10.0", + "prettytable-rs", + "reqwest", + "wws-config", + "wws-project", + "wws-router", + "wws-server", +] + +[[package]] +name = "wasmparser" +version = "0.107.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" +dependencies = [ + "indexmap", + "semver", +] + +[[package]] +name = "wasmprinter" +version = "0.2.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc960b30b84abca377768f3c62cff3a1c74db8c0f6759ed581827da0bd3a3fed" +dependencies = [ + "anyhow", + "wasmparser", +] + +[[package]] +name = "wasmtime" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd02b992d828b91efaf2a7499b21205fe4ab3002e401e3fe0f227aaeb4001d93" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bumpalo", + "cfg-if", + "encoding_rs", + "fxprof-processed-profile", + "indexmap", + "libc", + "log", + "object", + "once_cell", + "paste", + "psm", + "rayon", + "serde", + "serde_json", + "target-lexicon", + "wasmparser", + "wasmtime-cache", + "wasmtime-component-macro", + "wasmtime-component-util", + "wasmtime-cranelift", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit", + "wasmtime-runtime", + "wasmtime-winch", + "wat", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284466ef356ce2d909bc0ad470b60c4d0df5df2de9084457e118131b3c779b92" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-cache" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc78cfe1a758d1336f447a47af6ec05e0df2c03c93440d70faf80e17fbb001e" +dependencies = [ + "anyhow", + "base64", + "bincode", + "directories-next", + "file-per-thread-logger", + "log", + "rustix", + "serde", + "sha2", + "toml 0.5.11", + "windows-sys 0.48.0", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "wasmtime-component-macro" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e916103436a6d84faa4c2083e2e98612a323c2cc6147ec419124f67c764c9c" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.109", + "wasmtime-component-util", + "wasmtime-wit-bindgen", + "wit-parser 0.8.0", +] + +[[package]] +name = "wasmtime-component-util" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f20a5135ec5ef01080e674979b02d6fa5eebaa2b0c2d6660513ee9956a1bf624" + +[[package]] +name = "wasmtime-cranelift" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1aa99cbf3f8edb5ad8408ba380f5ab481528ecd8a5053acf758e006d6727fd" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-control", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli", + "log", + "object", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cce31fd55978601acc103acbb8a26f81c89a6eae12d3a1c59f34151dfa609484" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-control", + "cranelift-native", + "gimli", + "object", + "target-lexicon", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-environ" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f9e58e0ee7d43ff13e75375c726b16bce022db798d3a099a65eeaa7d7a544b" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli", + "indexmap", + "log", + "object", + "serde", + "target-lexicon", + "thiserror", + "wasm-encoder", + "wasmparser", + "wasmprinter", + "wasmtime-component-util", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-fiber" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14309cbdf2c395258b124a24757c727403070c0465a28bcc780c4f82f4bca5ff" +dependencies = [ + "cc", + "cfg-if", + "rustix", + "wasmtime-asm-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0f2eaeb01bb67266416507829bd8e0bb60278444e4cbd048e280833ebeaa02" +dependencies = [ + "addr2line", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli", + "ittapi", + "log", + "object", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "wasmtime-environ", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f42e59d62542bfb73ce30672db7eaf4084a60b434b688ac4f05b287d497de082" +dependencies = [ + "object", + "once_cell", + "rustix", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b49ceb7e2105a8ebe5614d7bbab6f6ef137a284e371633af60b34925493081f" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a5de4762421b0b2b19e02111ca403632852b53e506e03b4b227ffb0fbfa63c2" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "encoding_rs", + "indexmap", + "libc", + "log", + "mach", + "memfd", + "memoffset 0.8.0", + "paste", + "rand", + "rustix", + "sptr", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-fiber", + "wasmtime-jit-debug", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-types" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb7c138f797192f46afdd3ec16f85ef007c3bb45fa8e5174031f17b0be4c4a" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + +[[package]] +name = "wasmtime-wasi" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01686e859249d4dffe3d7ce9957ae35bcf4161709dfafd165ee136bd54d179f1" +dependencies = [ + "anyhow", + "async-trait", + "bitflags 1.3.2", + "cap-fs-ext", + "cap-rand", + "cap-std", + "cap-time-ext", + "fs-set-times", + "io-extras", + "libc", + "rustix", + "system-interface", + "thiserror", + "tracing", + "wasi-cap-std-sync", + "wasi-common", + "wasmtime", + "wiggle", + "windows-sys 0.48.0", +] + +[[package]] +name = "wasmtime-winch" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60160d8f7d2b301790730dac8ff25156c61d4fed79481e7074c21dd1283cfe2f" +dependencies = [ + "anyhow", + "cranelift-codegen", + "gimli", + "object", + "target-lexicon", + "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", + "winch-codegen", +] + +[[package]] +name = "wasmtime-wit-bindgen" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3334b0466a4d340de345cda83474d1d2c429770c3d667877971407672bc618a" +dependencies = [ + "anyhow", + "heck 0.4.1", + "wit-parser 0.8.0", +] + +[[package]] +name = "wast" +version = "35.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68" +dependencies = [ + "leb128", +] + +[[package]] +name = "wast" +version = "60.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd06cc744b536e30387e72a48fdd492105b9c938bb4f415c39c616a7a0a697ad" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder", +] + +[[package]] +name = "wat" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5abe520f0ab205366e9ac7d3e6b2fc71de44e32a2b58f2ec871b6b575bdcea3b" +dependencies = [ + "wast 60.0.0", +] + +[[package]] +name = "wax" +version = "0.5.0" +source = "git+https://github.com/olson-sean-k/wax.git?rev=6d66a10#6d66a10f5a00cdb7a8a0bf1147fa406bb4a433e2" +dependencies = [ + "const_format", + "itertools", + "nom", + "nom-supreme", + "pori", + "regex", + "thiserror", + "walkdir", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "which" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "wiggle" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea93d31f59f2b2fa4196990b684771500072d385eaac12587c63db2bc185d705" +dependencies = [ + "anyhow", + "async-trait", + "bitflags 1.3.2", + "thiserror", + "tracing", + "wasmtime", + "wiggle-macro", +] + +[[package]] +name = "wiggle-generate" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df96ee6bea595fabf0346c08c553f684b08e88fad6fdb125e6efde047024f7b" +dependencies = [ + "anyhow", + "heck 0.4.1", + "proc-macro2", + "quote", + "shellexpand", + "syn 1.0.109", + "witx", +] + +[[package]] +name = "wiggle-macro" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8649011a011ecca6197c4db6ee630735062ba20595ea56ce58529b3b1c20aa2f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "wiggle-generate", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "winch-codegen" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525fdd0d4e82d1bd3083bd87e8ca8014abfbdc5bf290d1d5371dac440d351e89" +dependencies = [ + "anyhow", + "cranelift-codegen", + "gimli", + "regalloc2", + "smallvec", + "target-lexicon", + "wasmparser", + "wasmtime-environ", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "winx" +version = "0.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c52a121f0fbf9320d5f2a9a5d82f6cb7557eda5e8b47fc3e7f359ec866ae960" +dependencies = [ + "bitflags 1.3.2", + "io-lifetimes", + "windows-sys 0.48.0", +] + +[[package]] +name = "wit-bindgen-gen-core" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "anyhow", + "wit-parser 0.2.0 (git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976)", +] + +[[package]] +name = "wit-bindgen-gen-core" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "wit-parser 0.2.0 (git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba)", +] + +[[package]] +name = "wit-bindgen-gen-rust" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "heck 0.3.3", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976)", +] + +[[package]] +name = "wit-bindgen-gen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck 0.3.3", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba)", +] + +[[package]] +name = "wit-bindgen-gen-rust-wasm" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck 0.3.3", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba)", + "wit-bindgen-gen-rust 0.2.0 (git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba)", +] + +[[package]] +name = "wit-bindgen-gen-wasmtime" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "heck 0.3.3", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976)", + "wit-bindgen-gen-rust 0.2.0 (git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976)", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "async-trait", + "bitflags 1.3.2", + "wit-bindgen-rust-impl", +] + +[[package]] +name = "wit-bindgen-rust-impl" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba)", + "wit-bindgen-gen-rust-wasm", +] + +[[package]] +name = "wit-bindgen-wasmtime" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "thiserror", + "wasmtime", + "wit-bindgen-wasmtime-impl", +] + +[[package]] +name = "wit-bindgen-wasmtime-impl" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "wit-bindgen-gen-core 0.2.0 (git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976)", + "wit-bindgen-gen-wasmtime", +] + +[[package]] +name = "wit-parser" +version = "0.2.0" +source = "git+https://github.com/fermyon/wit-bindgen-backport?rev=b89d5079ba5b07b319631a1b191d2139f126c976#b89d5079ba5b07b319631a1b191d2139f126c976" +dependencies = [ + "anyhow", + "id-arena", + "pulldown-cmark", + "unicode-normalization", + "unicode-xid", +] + +[[package]] +name = "wit-parser" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "id-arena", + "pulldown-cmark", + "unicode-normalization", + "unicode-xid", +] + +[[package]] +name = "wit-parser" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6daec9f093dbaea0e94043eeb92ece327bbbe70c86b1f41aca9bbfefd7f050f0" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "pulldown-cmark", + "semver", + "unicode-xid", + "url", +] + +[[package]] +name = "witx" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b" +dependencies = [ + "anyhow", + "log", + "thiserror", + "wast 35.0.2", +] + +[[package]] +name = "worker" +version = "1.4.0" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn 1.0.109", + "wasi", +] + +[[package]] +name = "wws-api-manage" +version = "1.4.0" +dependencies = [ + "actix-web", + "serde", + "serde_json", + "utoipa", + "wws-router", + "wws-worker", +] + +[[package]] +name = "wws-api-manage-openapi" +version = "1.4.0" +dependencies = [ + "utoipa", + "wws-api-manage", +] + +[[package]] +name = "wws-config" +version = "1.4.0" +dependencies = [ + "anyhow", + "serde", + "serde_json", + "toml 0.7.4", + "wws-project", +] + +[[package]] +name = "wws-data-kv" +version = "1.4.0" +dependencies = [ + "anyhow", + "serde", + "serde_json", +] + +[[package]] +name = "wws-panel" +version = "1.4.0" +dependencies = [ + "actix-web", + "mime_guess", + "rust-embed", +] + +[[package]] +name = "wws-project" +version = "1.4.0" +dependencies = [ + "anyhow", + "git2", + "openssl", + "path-slash", + "reqwest", + "serde", + "serde_json", + "sha256", + "tokio", + "toml 0.7.4", + "url", + "wws-store", +] + +[[package]] +name = "wws-router" +version = "1.4.0" +dependencies = [ + "lazy_static", + "path-slash", + "regex", + "wax", + "wws-config", + "wws-project", + "wws-store", + "wws-worker", +] + +[[package]] +name = "wws-runtimes" +version = "1.4.0" +dependencies = [ + "anyhow", + "serde", + "serde_json", + "wasmtime-wasi", + "wws-config", + "wws-project", + "wws-store", +] + +[[package]] +name = "wws-server" +version = "1.4.0" +dependencies = [ + "actix-files", + "actix-web", + "anyhow", + "wws-api-manage", + "wws-data-kv", + "wws-panel", + "wws-router", + "wws-worker", +] + +[[package]] +name = "wws-store" +version = "1.4.0" +dependencies = [ + "anyhow", + "blake3", +] + +[[package]] +name = "wws-worker" +version = "1.4.0" +dependencies = [ + "actix-web", + "anyhow", + "base64", + "reqwest", + "serde", + "serde_json", + "sha256", + "tokio", + "toml 0.7.4", + "wasi-common", + "wasmtime", + "wasmtime-wasi", + "wit-bindgen-wasmtime", + "wws-config", + "wws-data-kv", + "wws-runtimes", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.3+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" +dependencies = [ + "zstd-safe 6.0.5+zstd.1.5.4", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-safe" +version = "6.0.5+zstd.1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/examples/containers/wasm-workers-server/Cargo.toml b/examples/containers/wasm-workers-server/Cargo.toml new file mode 100644 index 00000000..98bdc0ab --- /dev/null +++ b/examples/containers/wasm-workers-server/Cargo.toml @@ -0,0 +1,98 @@ +[package] +name = "wasm-workers-server" +description = "A WebAssembly framework to develop and run serverless applications anywhere" +homepage = "https://workers.wasmlabs.dev/" +documentation = "https://workers.wasmlabs.dev/docs/intro" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +# Common package definition for all crates / kits +[workspace.package] +version = "1.4.0" +edition = "2021" +authors = [ "Wasm Labs " ] +license = "Apache-2.0" +repository = "https://github.com/vmware-labs/wasm-workers-server/" + +[[bin]] +name = "wws" +path = "src/main.rs" + +# Main binary (wws CLI dependencies) +[dependencies] +anyhow = { workspace = true } +actix-web = { workspace = true } +env_logger = "0.10.0" +clap = { version = "4.0.10", features = ["derive"] } +prettytable-rs = "0.10.0" +wws-config = { workspace = true } +wws-router = { workspace = true } +wws-server = { workspace = true } +wws-project = { workspace = true } + +[dev-dependencies] +reqwest = { version = "0.11", features = ["blocking"] } + +[features] +default = ["all"] +all = ["wws_config", "wws_router", "wws_server"] +wws_config = [] +wws_router = [] +wws_server = [] + +vendored-openssl = ["wws-project/vendored-openssl"] + +[workspace] +members = [ + "crates/api-manage", + "crates/api-manage-openapi", + "crates/config", + "crates/data-kv", + "crates/project", + "crates/panel", + "crates/router", + "crates/runtimes", + "crates/server", + "crates/store", + "crates/worker", + "kits/rust", + "kits/rust/worker", + "kits/javascript" +] +# Exclude examples +exclude = [ + "examples/pdf-create", + "examples/rust-basic", + "examples/rust-fetch", + "examples/rust-kv", + "examples/rust-params" +] + +[workspace.dependencies] +actix-web = "4" +anyhow = "1.0.66" +lazy_static = "1.4.0" +reqwest = "0.11" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.85" +tokio = "1.28" +toml = "0.7.0" +wws-config = { path = "./crates/config" } +wws-runtimes = { path = "./crates/runtimes" } +wws-data-kv = { path = "./crates/data-kv" } +wws-router = { path = "./crates/router" } +wws-server = { path = "./crates/server" } +wws-store = { path = "./crates/store" } +wws-worker = { path = "./crates/worker" } +wws-project = { path = "./crates/project" } +wws-panel = { path = "./crates/panel" } +wws-api-manage = { path = "./crates/api-manage" } +wws-api-manage-openapi = { path = "./crates/api-manage-openapi" } +wasmtime = "10.0.1" +wasmtime-wasi = "10.0.1" +wasi-common = "10.0.1" +path-slash = "0.2.1" +openssl = { version = "=0.10.55" } diff --git a/examples/containers/wasm-workers-server/LICENSE b/examples/containers/wasm-workers-server/LICENSE new file mode 100644 index 00000000..cd6e5328 --- /dev/null +++ b/examples/containers/wasm-workers-server/LICENSE @@ -0,0 +1,199 @@ +Apache License + +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or management +of such entity, whether by contract or otherwise, or (ii) ownership +of fifty percent (50%) or more of the outstanding shares, or (iii) +beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled +object code, generated documentation, and conversions to other media +types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this +License, Derivative Works shall not include works that remain separable +from, or merely link (or bind by name) to the interfaces of, the Work +and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the copyright +owner. For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or its +representatives, including but not limited to communication on electronic +mailing lists, source code control systems, and issue tracking systems +that are managed by, or on behalf of, the Licensor for the purpose of +discussing and improving the Work, but excluding communication that is +conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. +Subject to the terms and conditions of this License, each Contributor +hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty-free, irrevocable copyright license to reproduce, prepare +Derivative Works of, publicly display, publicly perform, sublicense, and +distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. +Subject to the terms and conditions of this License, each Contributor +hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty- free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and +otherwise transfer the Work, where such license applies only to those +patent claims licensable by such Contributor that are necessarily +infringed by their Contribution(s) alone or by combination of +their Contribution(s) with the Work to which such Contribution(s) +was submitted. If You institute patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Work or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses granted +to You under this License for that Work shall terminate as of the date +such litigation is filed. + +4. Redistribution. +You may reproduce and distribute copies of the Work or Derivative Works +thereof in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + a. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + + b. You must cause any modified files to carry prominent notices stating + that You changed the files; and + + c. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + d. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as part + of the Derivative Works; within the Source form or documentation, + if provided along with the Derivative Works; or, within a display + generated by the Derivative Works, if and wherever such third-party + notices normally appear. The contents of the NOTICE file are for + informational purposes only and do not modify the License. You + may add Your own attribution notices within Derivative Works that + You distribute, alongside or as an addendum to the NOTICE text + from the Work, provided that such additional attribution notices + cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional + or different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of the + Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. +Unless You explicitly state otherwise, any Contribution intentionally +submitted for inclusion in the Work by You to the Licensor shall be +under the terms and conditions of this License, without any additional +terms or conditions. Notwithstanding the above, nothing herein shall +supersede or modify the terms of any separate license agreement you may +have executed with Licensor regarding such Contributions. + +6. Trademarks. +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. +Unless required by applicable law or agreed to in writing, Licensor +provides the Work (and each Contributor provides its Contributions) on +an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +express or implied, including, without limitation, any warranties or +conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR +A PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. +In no event and under no legal theory, whether in tort (including +negligence), contract, or otherwise, unless required by applicable law +(such as deliberate and grossly negligent acts) or agreed to in writing, +shall any Contributor be liable to You for damages, including any direct, +indirect, special, incidental, or consequential damages of any character +arising as a result of this License or out of the use or inability to +use the Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all other +commercial damages or losses), even if such Contributor has been advised +of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. +While redistributing the Work or Derivative Works thereof, You may +choose to offer, and charge a fee for, acceptance of support, warranty, +indemnity, or other liability obligations and/or rights consistent with +this License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf of +any other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or claims +asserted against, such Contributor by reason of your accepting any such +warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2022 VMware, Inc + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/Makefile b/examples/containers/wasm-workers-server/Makefile new file mode 100644 index 00000000..71f12f5f --- /dev/null +++ b/examples/containers/wasm-workers-server/Makefile @@ -0,0 +1,14 @@ +.PHONY: build + +build: + cargo build --release + +image-amd64: + docker build -f image/Dockerfile --platform amd64 -t wasm-workers-server:latest-amd64 . + +image-arm64: + docker build -f image/Dockerfile --platform arm64 -t wasm-workers-server:latest-arm64 . + +push-image-multiarch: + docker buildx build -f image/Dockerfile --platform linux/arm64/v8,linux/amd64 --push -t projects.registry.vmware.com/wasmlabs/containers/wasm-workers-server:latest . + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/NOTICE b/examples/containers/wasm-workers-server/NOTICE new file mode 100644 index 00000000..482e2cbe --- /dev/null +++ b/examples/containers/wasm-workers-server/NOTICE @@ -0,0 +1,5 @@ +Copyright 2022 VMware, Inc. + +This product is licensed to you under the Apache License, V2.0 (the "License"). You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file. \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/README.md b/examples/containers/wasm-workers-server/README.md new file mode 100644 index 00000000..c71c3540 --- /dev/null +++ b/examples/containers/wasm-workers-server/README.md @@ -0,0 +1,135 @@ +

Wasm Workers Server

+ +

+ Develop and run serverless applications on WebAssembly šŸš€ +

+ +

+ + GitHub Workflow Status + + + GitHub release (latest by date) + + + GitHub + + + GitHub contributors + +

+ +

+ workers.wasmlabs.dev +

+ +
+ +Wasm Workers Server (`wws`) is an open source tool to **develop and run serverless applications server on top of WebAssembly**. The applications are composed by multiple modules called [_workers_](https://workers.wasmlabs.dev/docs/get-started/introduction#whats-a-worker). Each of these tiny modules is in charge of replying to a specific HTTP endpoint in your application. + +When you start `wws`, it loads the existing workers in the given path or remote repository. You can write a worker in [different languages](https://workers.wasmlabs.dev/docs/languages/introduction) like Rust, JavaScript, Go, Ruby and Python. The filenames and folders determine the final routes that will be served. For example, the `index.js` will reply to the `/` endpoint. + +## Getting started (5 minutes) + +1. Download and install Wasm Worker Sever: + + ```shell + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +2. Create an `index.js` file with the following content: + + ```javascript + addEventListener("fetch", event => { + return event.respondWith( + new Response("Hello from Wasm Workers Server!") + ); + }); + ``` + +3. Run `wws`: + + ```shell + $ wws . + āš™ļø Preparing the project from: . + āš™ļø Loading routes from: . + ā³ Loading workers from 1 routes... + āœ… Workers loaded in 141.613666ms. + - http://127.0.0.1:8080/ + => ./index.js + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +4. Access to . + +Congrats! You just created your first worker šŸŽ‰. From this point, you can explore the different examples and guides: + +* [+20 Worker examples](./examples/) +* Guides to develop workers in different languages: + * [Rust workers](https://workers.wasmlabs.dev/docs/languages/rust) + * [Python workers](https://workers.wasmlabs.dev/docs/languages/python) + * [Ruby workers](https://workers.wasmlabs.dev/docs/languages/ruby) + * [Go workers](https://workers.wasmlabs.dev/docs/languages/go) + * [JavaScript workers](https://workers.wasmlabs.dev/docs/languages/javascript) + +### Run in a container + +If you don't want to install anything locally you can just run `wws` from the `ghcr.io/vmware-labs/wws:latest` container image. You only need to mount your project in the `/app` folder: + +```shell +docker run --rm -v $(pwd):/app -p 8080:8080 ghcr.io/vmware-labs/wws:latest +``` + +## Documentation + +All our documentation is available at . + +## Features + +You can find all the available features [in the documentation](https://workers.wasmlabs.dev). It includes dynamic routes, an in-memory K/V store, etc. + +## Language Support + +Wasm Workers Server focuses on simplicity. We want you to run workers (written in different languages) safely in WebAssembly. For interpreted languages, we add different interpreters: + +| Language | Support | Requires an external runtime | Issue | +| --- | --- | --- | --- | +| Rust | āœ… | No | - | +| JavaScript | āœ… | No | - | +| Go | āœ… | No | [#95](https://github.com/vmware-labs/wasm-workers-server/issues/95) | +| Ruby | āœ… | [Yes](https://workers.wasmlabs.dev/docs/languages/ruby#installation) | [#63](https://github.com/vmware-labs/wasm-workers-server/issues/63) | +| Python | āœ… | [Yes](https://workers.wasmlabs.dev/docs/languages/python#installation) | [#63](https://github.com/vmware-labs/wasm-workers-server/issues/63) | +| Zig | šŸš§ | No | [#144](https://github.com/vmware-labs/wasm-workers-server/issues/144) | +| PHP | šŸš§ | No | [#100](https://github.com/vmware-labs/wasm-workers-server/issues/100) | + +To get more information about multi-language support in Wasm Workers Server, [check our documentation](https://workers.wasmlabs.dev/docs/languages/introduction). + +## Development + +### Prerequisites + +To work with this project you will need to install: + +* [Rust](https://www.rust-lang.org/tools/install) +* Make +* [NodeJS](https://nodejs.dev) + +### Run the project + +After installing the different prerequisites, you can run the development environment with: + +``` +$ cargo run -- --help +``` + +Wasm Workers Server is split into different Rust crates. The root project produces the `wws`, while every crate provides specific features. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). + +## License + +Wasm Workers Server is distributed under the terms of the Apache License (Version 2.0). + +See [LICENSE](LICENSE) for details. diff --git a/examples/containers/wasm-workers-server/crates/api-manage-openapi/Cargo.toml b/examples/containers/wasm-workers-server/crates/api-manage-openapi/Cargo.toml new file mode 100644 index 00000000..4616d06d --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage-openapi/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "wws-api-manage-openapi" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] + +[build-dependencies] +utoipa = { version = "3.3.0", features = ["actix_extras"] } +wws-api-manage = { path = "../api-manage" } diff --git a/examples/containers/wasm-workers-server/crates/api-manage-openapi/build.rs b/examples/containers/wasm-workers-server/crates/api-manage-openapi/build.rs new file mode 100644 index 00000000..ddccf5da --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage-openapi/build.rs @@ -0,0 +1,14 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Trick to generate the OpenAPI spec on build time. +// See: https://github.com/juhaku/utoipa/issues/214#issuecomment-1179589373 + +use std::fs; +use utoipa::OpenApi; +use wws_api_manage::ApiDoc; + +fn main() { + let spec = ApiDoc::openapi().to_pretty_json().unwrap(); + fs::write("./src/openapi.json", spec).expect("Error writing the OpenAPI documentation"); +} diff --git a/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/lib.rs b/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/lib.rs new file mode 100644 index 00000000..b3ce5c4d --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/lib.rs @@ -0,0 +1,5 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/// Contains the Open API Spec of the wws management API. +pub static OPEN_API_SPEC: &str = include_str!("./openapi.json"); diff --git a/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/openapi.json b/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/openapi.json new file mode 100644 index 00000000..a5d30664 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage-openapi/src/openapi.json @@ -0,0 +1,114 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "Wasm Workers Server Management API", + "description": "Exposes methods to read current workers, services and to configure and run projects", + "contact": {}, + "license": { + "name": "Apache 2.0", + "url": "https://github.com/vmware-labs/wasm-workers-server/blob/main/LICENSE" + }, + "version": "1" + }, + "paths": { + "/_api/v0/workers": { + "get": { + "tags": [ + "handlers::v0::workers" + ], + "summary": "Return the list of loaded workers.", + "description": "Return the list of loaded workers.", + "operationId": "handle_api_workers", + "responses": { + "200": { + "description": "Returns all the workers", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Worker" + } + } + } + } + } + } + } + }, + "/_api/v0/workers/{id}": { + "get": { + "tags": [ + "handlers::v0::workers" + ], + "summary": "Return the details of a specific worker. It includes all the configuration details", + "description": "Return the details of a specific worker. It includes all the configuration details", + "operationId": "handle_api_worker", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Worker identifier", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Return the configuration associated to the given worker", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkerConfig" + } + } + } + } + }, + "404": { + "description": "The worker is not present" + } + } + } + } + }, + "components": { + "schemas": { + "Worker": { + "type": "object", + "description": "Defines a worker in a given application.", + "required": [ + "id", + "name", + "path", + "filepath" + ], + "properties": { + "filepath": { + "type": "string", + "description": "Associated source code / wasm module to this worker", + "example": "/app/api/hello.js" + }, + "id": { + "type": "string", + "description": "Worker identifier" + }, + "name": { + "type": "string", + "description": "The associated name to this worker", + "example": "default" + }, + "path": { + "type": "string", + "description": "API path for this specific worker.", + "example": "/api/hello" + } + } + } + } + } +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/crates/api-manage/Cargo.toml b/examples/containers/wasm-workers-server/crates/api-manage/Cargo.toml new file mode 100644 index 00000000..4df68c1f --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "wws-api-manage" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +actix-web = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +wws-router = { workspace = true } +wws-worker = { workspace = true } +utoipa = { version = "3.3.0", features = ["actix_extras"] } diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/mod.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/mod.rs new file mode 100644 index 00000000..53b2adfa --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/mod.rs @@ -0,0 +1,4 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod v0; diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/mod.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/mod.rs new file mode 100644 index 00000000..c73cb3ff --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/mod.rs @@ -0,0 +1,4 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod workers; diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/workers.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/workers.rs new file mode 100644 index 00000000..81e88c61 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/handlers/v0/workers.rs @@ -0,0 +1,48 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::models::{Worker, WorkerConfig}; +use actix_web::{ + get, + web::{Data, Json, Path}, + HttpResponse, Responder, Result, +}; +use wws_router::Routes; + +/// Return the list of loaded workers. +#[utoipa::path( + responses( + (status = 200, description = "Returns all the workers", body = [Worker]) + ) +)] +#[get("/_api/v0/workers")] +pub async fn handle_api_workers(routes: Data) -> Result { + let workers: Vec = routes.routes.iter().map(Worker::from).collect(); + + Ok(Json(workers)) +} + +/// Return the details of a specific worker. It includes all the configuration details +#[utoipa::path( + responses( + (status = 200, description = "Return the configuration associated to the given worker", body = [WorkerConfig]), + (status = 404, description = "The worker is not present") + ), + params( + ("id" = String, Path, description = "Worker identifier"), + ) +)] +#[get("/_api/v0/workers/{id}")] +pub async fn handle_api_worker(routes: Data, path: Path) -> HttpResponse { + let worker = routes + .routes + .iter() + .find(|r| &r.worker.id == path.as_ref()) + .map(|r| &r.worker); + + if let Some(worker) = worker { + HttpResponse::Ok().json(WorkerConfig::from(worker)) + } else { + HttpResponse::NotFound().json("{}") + } +} diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/lib.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/lib.rs new file mode 100644 index 00000000..2e02175c --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/lib.rs @@ -0,0 +1,36 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod handlers; +mod models; + +use actix_web::web::ServiceConfig; +use models::Worker; +use utoipa::OpenApi; + +/// Add the administration panel HTTP handlers to an existing +/// Actix application. +pub fn config_manage_api_handlers(cfg: &mut ServiceConfig) { + cfg.service(handlers::v0::workers::handle_api_workers); + cfg.service(handlers::v0::workers::handle_api_worker); +} + +#[derive(OpenApi)] +#[openapi( + info( + title = "Wasm Workers Server Management API", + description = "Exposes methods to read current workers, services and to configure and run projects", + license( + name = "Apache 2.0", + url = "https://github.com/vmware-labs/wasm-workers-server/blob/main/LICENSE" + ), + contact(), + version = "1" + ), + paths( + handlers::v0::workers::handle_api_workers, + handlers::v0::workers::handle_api_worker + ), + components(schemas(Worker)) +)] +pub struct ApiDoc; diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/models/mod.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/models/mod.rs new file mode 100644 index 00000000..8aaa1a83 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/models/mod.rs @@ -0,0 +1,8 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod worker; +mod worker_config; + +pub use worker::Worker; +pub use worker_config::WorkerConfig; diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker.rs new file mode 100644 index 00000000..5d02dac4 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker.rs @@ -0,0 +1,35 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use serde::Serialize; +use utoipa::ToSchema; +use wws_router::Route; + +#[derive(Serialize, ToSchema)] +/// Defines a worker in a given application. +pub struct Worker { + /// Worker identifier + id: String, + /// The associated name to this worker + #[schema(example = "default")] + name: String, + /// API path for this specific worker. + #[schema(example = "/api/hello")] + path: String, + /// Associated source code / wasm module to this worker + #[schema(example = "/app/api/hello.js")] + filepath: String, +} + +impl From<&Route> for Worker { + fn from(value: &Route) -> Self { + let name = value.worker.config.name.as_ref(); + + Self { + id: value.worker.id.clone(), + name: name.unwrap_or(&String::from("default")).to_string(), + path: value.path.clone(), + filepath: value.handler.to_string_lossy().to_string(), + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker_config.rs b/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker_config.rs new file mode 100644 index 00000000..a0a97b51 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/api-manage/src/models/worker_config.rs @@ -0,0 +1,97 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::collections::HashMap; + +use serde::Serialize; +use utoipa::ToSchema; +use wws_worker::{ + features::{data::ConfigData, folders::Folder}, + Worker, +}; + +#[derive(Serialize, ToSchema)] +/// Defines a worker in a given application. +pub struct WorkerConfig { + /// The worker identifier + #[schema(example = "default")] + id: String, + /// The associated name to this worker + #[schema(example = "default")] + name: String, + /// Version of the configuration file + #[schema(example = "/api/hello")] + version: String, + /// Associated data configuration + pub data: WorkerConfigData, + /// Mounted folders + pub folders: Vec, + /// Environment variables + pub vars: HashMap, +} + +impl From<&Worker> for WorkerConfig { + fn from(value: &Worker) -> Self { + let config = &value.config; + + let folders = config + .folders + .as_ref() + .map(|f| { + f.iter() + .map(WorkerFolder::from) + .collect::>() + }) + .unwrap_or(Vec::new()); + + Self { + id: value.id.clone(), + name: config + .name + .as_ref() + .unwrap_or(&String::from("default")) + .to_string(), + version: config.version.clone(), + data: WorkerConfigData::from(config.data.as_ref()), + folders, + vars: config.vars.clone(), + } + } +} + +#[derive(Serialize, ToSchema)] +/// Data configuration for this specific worker +pub struct WorkerConfigData { + /// Key/Value namespace this worker can read/write + kv: Option, +} + +impl From> for WorkerConfigData { + fn from(value: Option<&ConfigData>) -> Self { + Self { + kv: value + .map(|data| data.kv.as_ref().map(|kv| kv.namespace.clone())) + .unwrap_or(None), + } + } +} + +#[derive(Serialize, ToSchema)] +/// Data configuration for this specific worker +pub struct WorkerFolder { + /// Filesystem path to mount in the worker + #[schema(example = "/tmp/worker-dir")] + from: String, + /// Worker internal location for this specific folder + #[schema(example = "/tmp")] + to: String, +} + +impl From<&Folder> for WorkerFolder { + fn from(value: &Folder) -> Self { + Self { + from: value.from.to_string_lossy().to_string(), + to: value.to.clone(), + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/config/Cargo.toml b/examples/containers/wasm-workers-server/crates/config/Cargo.toml new file mode 100644 index 00000000..173c1dd8 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/config/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "wws-config" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +toml = { workspace = true } +wws-project = { workspace = true } diff --git a/examples/containers/wasm-workers-server/crates/config/src/lib.rs b/examples/containers/wasm-workers-server/crates/config/src/lib.rs new file mode 100644 index 00000000..fb91a882 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/config/src/lib.rs @@ -0,0 +1,170 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use anyhow::{anyhow, Result}; +use serde::{Deserialize, Serialize}; +use std::{ + fs, + path::{Path, PathBuf}, +}; +use wws_project::{check_runtime, metadata::Runtime}; + +/// Default repository name +pub const DEFAULT_REPO_NAME: &str = "wasmlabs"; +/// Default repository URL +pub const DEFAULT_REPO_URL: &str = "https://workers.wasmlabs.dev/repository/v1/index.toml"; + +/// Config file name +const CONFIG_FILENAME: &str = ".wws.toml"; + +/// Loads the data from the Project definition file or .wws.toml. +/// This file contains information about the different runtimes +/// required for this project. You can think of those as dependencies. +/// +/// If your project requires to run workers using any interpreted +/// language (except Js, which it's embedded), you will need to install +/// a language runtime. +/// +/// For reproducibility, this file can be commited to the project +/// repository so other developers can download them directly. +#[derive(Deserialize, Serialize)] +pub struct Config { + /// Version of the .wws file + version: u32, + /// List of repositories + pub repositories: Vec, +} + +impl Config { + /// Load the config file if it's present. It not, it will create a + /// new empty config. + pub fn load(project_root: &Path) -> Result { + let config_path = Self::config_path(project_root); + + if config_path.exists() { + toml::from_str(&fs::read_to_string(config_path)?).map_err(|_| { + anyhow!("Error opening the .wws.toml file. The file format is not correct") + }) + } else { + Ok(Self::default()) + } + } + + /// Save a new installed runtime + pub fn save_runtime(&mut self, repo_name: &str, repo_url: &str, runtime: &Runtime) { + let repo = self.repositories.iter_mut().find(|r| r.name == repo_name); + + // Shadow to init an empty one if required + match repo { + Some(r) => r.runtimes.push(runtime.clone()), + None => { + let new_repo = ConfigRepository { + name: repo_name.to_string(), + url: repo_url.to_string(), + runtimes: vec![runtime.clone()], + }; + + self.repositories.push(new_repo); + } + }; + } + + /// Remove an existing runtime if it's present. + pub fn remove_runtime(&mut self, repository: &str, name: &str, version: &str) { + let repo = self.repositories.iter_mut().find(|r| r.name == repository); + + // Shadow to init an empty one if required + if let Some(repo) = repo { + repo.runtimes + .retain(|r| r.name != name && r.version != version); + }; + } + + /// Get a given runtime from the current configuration if it's available. + pub fn get_runtime(&self, repository: &str, name: &str, version: &str) -> Option<&Runtime> { + let repo = self.repositories.iter().find(|r| r.name == repository); + + if let Some(repo) = repo { + repo.runtimes + .iter() + .find(|r| r.name == name && r.version == version) + } else { + None + } + } + + /// Check if there're missing runtimes based on the current configuration + pub fn is_missing_any_runtime(&self, project_root: &Path) -> bool { + for repo in &self.repositories { + if repo + .runtimes + .iter() + .any(|r| !check_runtime(project_root, &repo.name, r)) + { + return true; + } + } + + false + } + + /// Write the current configuration into the `.wws.toml` file. It will + /// store it in the project root folder + pub fn save(&self, project_root: &Path) -> Result<()> { + let contents = toml::to_string_pretty(self)?; + + fs::write(Self::config_path(project_root), contents) + .map_err(|_| anyhow!("Error saving the .wws.toml file")) + } + + /// Retrieve the configuration path from the project root + fn config_path(project_root: &Path) -> PathBuf { + project_root.join(CONFIG_FILENAME) + } + + /// Provides a list of all file extensions handled by the runtimes + /// that are currently installed in `project_root` + pub fn get_runtime_extensions(&self, project_root: &Path) -> Vec { + let mut extensions: Vec = vec![String::from("js"), String::from("wasm")]; + + for repo in &self.repositories { + for runtime in &repo.runtimes { + for ext in &runtime.extensions { + if check_runtime(project_root, &repo.name, runtime) && !extensions.contains(ext) + { + extensions.push(ext.clone()); + } + } + } + } + + extensions + } +} + +impl Default for Config { + // Initialize an empty repository by default + fn default() -> Self { + let new_repo = ConfigRepository { + name: DEFAULT_REPO_NAME.to_string(), + url: DEFAULT_REPO_URL.to_string(), + runtimes: Vec::new(), + }; + + Self { + version: 1, + repositories: vec![new_repo], + } + } +} + +#[derive(Deserialize, Serialize)] +pub struct ConfigRepository { + /// Local name to identify the repository. It avoids collisions when installing + /// language runtimes + pub name: String, + /// Set the url from which this repository was downloaded + url: String, + /// Installed runtimes + pub runtimes: Vec, +} diff --git a/examples/containers/wasm-workers-server/crates/data-kv/Cargo.toml b/examples/containers/wasm-workers-server/crates/data-kv/Cargo.toml new file mode 100644 index 00000000..0dcf5db9 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/data-kv/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "wws-data-kv" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/crates/data-kv/src/lib.rs b/examples/containers/wasm-workers-server/crates/data-kv/src/lib.rs new file mode 100644 index 00000000..4fb317a4 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/data-kv/src/lib.rs @@ -0,0 +1,53 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod store; + +use serde::Deserialize; +use std::collections::HashMap; +use store::KVStore; + +/// The Key/Value store configuration. This information is read from workers TOML files. +#[derive(Deserialize, Clone, Default)] +pub struct KVConfigData { + /// The namespace the worker will access in the global Key / Value store + pub namespace: String, +} + +/// An in-memory Key/Value store. It contains multiple namespaces which has their +/// own K/V store inside. This is used to scope the data workers can access +#[derive(Default)] +pub struct KV { + /// The available K/V stores + pub stores: HashMap, +} + +impl KV { + /// Creates a K/V store for the given namespace. If there's an existing store, + /// this method won't apply any change. + pub fn create_store(&mut self, namespace: &str) { + self.stores + .entry(namespace.to_string()) + .or_insert_with(|| KVStore::new(namespace.to_string())); + } + + /// Replaces the content of an existing store. If the store doesn't exist, + /// this method won't apply any change + pub fn replace_store(&mut self, namespace: &str, state: &HashMap) { + if let Some(store) = self.find_mut_store(namespace) { + store.replace(state.clone()); + } + } + + /// Look for the store related to the given namespace. This will return a reference + /// to the desired store if available + pub fn find_store(&self, namespace: &str) -> Option<&KVStore> { + self.stores.get(namespace) + } + + /// Similar to `find_store`, but it returns a mutable reference. It's useful + /// to write information to the given store + pub fn find_mut_store(&mut self, namespace: &str) -> Option<&mut KVStore> { + self.stores.get_mut(namespace) + } +} diff --git a/examples/containers/wasm-workers-server/crates/data-kv/src/store.rs b/examples/containers/wasm-workers-server/crates/data-kv/src/store.rs new file mode 100644 index 00000000..eb79e0b7 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/data-kv/src/store.rs @@ -0,0 +1,33 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::collections::HashMap; + +/// A K/V store. It's composed by a namespace and the list of Key/Values +pub struct KVStore { + /// The namespace associated to this Key/Value store + pub namespace: String, + /// The list of Key - Values. In this project, both keys and values are considered + /// strings. + store: HashMap, +} + +impl KVStore { + /// Creates a new K/V store for the given namespace + pub fn new(namespace: String) -> Self { + Self { + namespace, + store: HashMap::new(), + } + } + + /// Clone the current content of the Key/Value store + pub fn clone(&self) -> HashMap { + self.store.clone() + } + + /// Replace the content of the K/V store with a new state + pub fn replace(&mut self, state: HashMap) { + self.store = state; + } +} diff --git a/examples/containers/wasm-workers-server/crates/panel/Cargo.toml b/examples/containers/wasm-workers-server/crates/panel/Cargo.toml new file mode 100644 index 00000000..5af7c412 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "wws-panel" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +rust-embed = "6.6.1" +mime_guess = "2.0.4" +actix-web = { workspace = true } diff --git a/examples/containers/wasm-workers-server/crates/panel/build.rs b/examples/containers/wasm-workers-server/crates/panel/build.rs new file mode 100644 index 00000000..904480d0 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/build.rs @@ -0,0 +1,37 @@ +use std::{io::ErrorKind, process::Command}; + +// Build the client admin panel. +fn main() { + // First check if NPM is available in the system + match Command::new("npm").spawn() { + Ok(_) => { + Command::new("npm") + .current_dir("client") + .arg("install") + .status() + .expect("failed to execute process"); + + Command::new("npm") + .current_dir("client") + .args(["run", "build"]) + .status() + .expect("failed to execute process"); + } + Err(e) => { + if let ErrorKind::NotFound = e.kind() { + eprintln!("`npm` was not found in your system. Please, install NodeJS / NPM to build the admin panel."); + eprintln!("See: https://nodejs.dev/en/download/"); + } else { + eprintln!( + "There was an error when building the admin panel with NodeJS / NPM: {e}" + ); + } + } + } + + // Tell Cargo that if the given file changes, to rerun this build script. + println!("cargo:rerun-if-changed=client/src/*"); + println!("cargo:rerun-if-changed=client/public/*"); + println!("cargo:rerun-if-changed=client/index.html"); + println!("cargo:rerun-if-changed=client/vite.config.js"); +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/.gitignore b/examples/containers/wasm-workers-server/crates/panel/client/.gitignore new file mode 100644 index 00000000..12896c57 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/.gitignore @@ -0,0 +1,6 @@ +package-lock.json +node_modules + +# Keep the dist folder to avoid errors when the client is not built. +dist/* +!dist/.gitkeep diff --git a/examples/containers/wasm-workers-server/crates/panel/client/dist/.gitkeep b/examples/containers/wasm-workers-server/crates/panel/client/dist/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/panel/client/index.html b/examples/containers/wasm-workers-server/crates/panel/client/index.html new file mode 100644 index 00000000..6edcad25 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/index.html @@ -0,0 +1,15 @@ + + + + + Wasm Workers Server + + + + + +
+ + + + diff --git a/examples/containers/wasm-workers-server/crates/panel/client/package.json b/examples/containers/wasm-workers-server/crates/panel/client/package.json new file mode 100644 index 00000000..e5a56a83 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/package.json @@ -0,0 +1,22 @@ +{ + "name": "wws-panel", + "version": "1.0.0", + "main": "index.js", + "private": "true", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@cds/city": "^1.1.0", + "@cds/core": "^6.4.2", + "@cds/react": "^6.4.2", + "react-router-dom": "^6.12.0" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.0.0", + "sass": "^1.62.1", + "vite": "^4.3.9" + } +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/public/.gitkeep b/examples/containers/wasm-workers-server/crates/panel/client/public/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/app.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/app.jsx new file mode 100644 index 00000000..a18a3545 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/app.jsx @@ -0,0 +1,25 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import Header from './components/header'; +import Sidebar from './components/sidebar'; +import Content from './components/content'; +import { Outlet } from 'react-router-dom'; + +function App() { + return ( +
+
+
+ +
+ + + +
+
+
+ ) +} + +export default App diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.jsx new file mode 100644 index 00000000..11748b87 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.jsx @@ -0,0 +1,12 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import "./content.scss"; + +const Content = ({ children }) => ( +
+ {children} +
+); + +export default Content; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.scss b/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.scss new file mode 100644 index 00000000..45803ba6 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/content.scss @@ -0,0 +1,8 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +.content { + &>*:first-child { + margin-top: 0; + } +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.jsx new file mode 100644 index 00000000..d36ee413 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.jsx @@ -0,0 +1,12 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import "./header.scss"; + +const Header = () => ( +
+ Wasm Workers Server +
+) + +export default Header; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.scss b/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.scss new file mode 100644 index 00000000..4e36d997 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/header.scss @@ -0,0 +1,7 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +header.header { + background: var(--cds-global-color-blue-1000); + color: var(--cds-global-color-gray-0); +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.jsx new file mode 100644 index 00000000..133d686c --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.jsx @@ -0,0 +1,48 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { CdsNavigation, CdsNavigationItem } from "@cds/react/navigation"; +import { CdsIcon } from "@cds/react/icon"; +import { ClarityIcons, cogIcon, cogIconName, fileIcon, fileIconName, homeIcon, homeIconName } from '@cds/core/icon'; +import { NavLink } from "react-router-dom"; + +ClarityIcons.addIcons(cogIcon, fileIcon, homeIcon); + +import "./sidebar.scss"; + +const items = [ + { + name: "Server", + url: "/_panel/", + shape: homeIconName, + }, + { + name: "Workers", + url: "/_panel/workers", + shape: cogIconName, + } +]; + +// Main submenu +const Sidebar = () => ( +
+ +
+); + +export default Sidebar; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.scss b/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.scss new file mode 100644 index 00000000..105968d0 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/sidebar.scss @@ -0,0 +1,26 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +.sidebar { + display: flex; + flex-direction: column; + // 71px from the header + min-height: calc(100vh - 71px); + position: relative; + width: 12rem; + + // Add a border with after due to collision with + // the nav items. + &:after { + content: ""; + background-color: var(--cds-alias-status-disabled-tint); + height: 100%; + width: 1px; + position: absolute; + right: -1px; + } + + a { + text-decoration: none; + } +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/components/workerCard.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/components/workerCard.jsx new file mode 100644 index 00000000..56a6ba27 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/components/workerCard.jsx @@ -0,0 +1,41 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { CdsCard } from "@cds/react/card"; +import { CdsDivider } from "@cds/react/divider"; +import { CdsIcon } from "@cds/react/icon"; +import { CdsButton } from "@cds/react/button"; +import { ClarityIcons, linkIcon, linkIconName, eyeIcon, eyeIconName } from '@cds/core/icon'; +import { Link } from "react-router-dom"; + +ClarityIcons.addIcons(linkIcon, eyeIcon); + +const WorkerCard = ({ worker }) => { + return +
+

{worker.name}

+ +

+ Endpoint: {worker.path} +

+

+ Filepath: {worker.filepath} +

+ +
+ + + Details + + + + + View + + +
+
+
+}; + +export default WorkerCard; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/main.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/main.jsx new file mode 100644 index 00000000..4ebe9f90 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/main.jsx @@ -0,0 +1,15 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import { RouterProvider } from 'react-router-dom'; +import router from "./router"; + +import './main.scss'; + +ReactDOM.createRoot(document.getElementById('app')).render( + + + , +) diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/main.scss b/examples/containers/wasm-workers-server/crates/panel/client/src/main.scss new file mode 100644 index 00000000..49d5fe7b --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/main.scss @@ -0,0 +1,20 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +@import 'modern-normalize/modern-normalize.css'; +@import '@cds/core/global.min.css'; +@import '@cds/city/css/bundles/default.min.css'; +@import '@cds/core/styles/theme.dark.min.css'; +@import '@cds/core/table/table.min.css'; + +// Layout +#app, +.main-container { + min-height: 100vh; +} + +// Helper methods +ul.clear { + margin: 0; + padding: 0; +} diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/router.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/router.jsx new file mode 100644 index 00000000..eddbd809 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/router.jsx @@ -0,0 +1,41 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { + Outlet, + createBrowserRouter, +} from "react-router-dom"; + +import App from "./app"; +import Home from "./routes/home"; +import Workers from "./routes/workers"; +import Worker from "./routes/worker"; + +const router = createBrowserRouter([ + { + path: "/_panel/", + element: , + children: [ + { + index: true, + element: , + }, + { + path: "workers", + element: , + children: [ + { + index: true, + element: + }, + { + path: ":id", + element: + } + ] + }, + ] + }, +]); + +export default router; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/routes/home.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/home.jsx new file mode 100644 index 00000000..f1828a3a --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/home.jsx @@ -0,0 +1,54 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { useEffect, useState } from 'react' +import { CdsTag } from "@cds/react/tag"; +import { CdsProgressCircle } from "@cds/react/progress-circle"; +import { CdsCard } from "@cds/react/card"; +import { CdsIcon } from "@cds/react/icon"; +import { CdsButton } from "@cds/react/button"; +import { CdsDivider } from "@cds/react/divider"; +import { ClarityIcons, eyeIcon, eyeIconName } from '@cds/core/icon'; +import { Link } from "react-router-dom"; + +ClarityIcons.addIcons(eyeIcon); + +const Home = () => { + const [result, setResult] = useState(undefined); + + useEffect(() => { + fetch("/_api/v0/workers") + .then(res => res.json()) + .then(json => setResult(json)); + }, []); + + return <> +

Server

+ {result === undefined ? ( + + ) : ( + <> + Running +
+ +

Workers

+ +

+ {result.length} +

+ +
+ + + See workers + + +
+
+
+ + )} + +}; + +export default Home; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/routes/worker.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/worker.jsx new file mode 100644 index 00000000..504059f9 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/worker.jsx @@ -0,0 +1,99 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { useEffect, useState } from 'react' +import { CdsProgressCircle } from "@cds/react/progress-circle"; +import { useParams } from 'react-router-dom'; + +const Worker = () => { + const [result, setResult] = useState(undefined); + let params = useParams(); + + useEffect(() => { + fetch(`/_api/v0/workers/${params.id}`) + .then(res => res.json()) + .then(json => setResult(json)); + }, []); + + return <> +

Worker information

+

ID: {params.id}

+ {result === undefined ? ( + + ) : ( + <> +

Key / Value store

+ + + + + + + + + + + +
Namespace
{result.data.kv ? result.data.kv : "-"}
+

Environment variables

+ + + + + + + + + {Object.keys(result.vars).length == 0 ? ( + + + + + ) : ( + Object.keys(result.vars).map((k, i) => ( + + + + + )) + )} + +
VariableValue
+ - + + - +
{k}{result.vars[k]}
+

Mount folders

+ + + + + + + + + {result.folders.length == 0 ? ( + + + + + ) : ( + result.folders.map((f, i) => ( + + + + + )) + )} + +
FromTo
+ - + + - +
{f.from}{f.to}
+ + )} + +} + +export default Worker; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/src/routes/workers.jsx b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/workers.jsx new file mode 100644 index 00000000..cbdb77b5 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/src/routes/workers.jsx @@ -0,0 +1,31 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { useEffect, useState } from 'react' +import WorkerCard from "../components/workerCard"; +import { CdsProgressCircle } from "@cds/react/progress-circle"; + +const Workers = () => { + const [result, setResult] = useState(undefined); + + useEffect(() => { + fetch("/_api/v0/workers") + .then(res => res.json()) + .then(json => setResult(json)); + }, []); + + return <> +

Workers

+ {result === undefined ? ( + + ) : ( +
+ {result.map((p, i) => ( + + ))} +
+ )} + +} + +export default Workers; diff --git a/examples/containers/wasm-workers-server/crates/panel/client/vite.config.js b/examples/containers/wasm-workers-server/crates/panel/client/vite.config.js new file mode 100644 index 00000000..6d78bfcb --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/client/vite.config.js @@ -0,0 +1,16 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + base: "/_panel/", + server: { + proxy: { + '/_api': 'http://localhost:8080', + } + } +}) diff --git a/examples/containers/wasm-workers-server/crates/panel/src/handlers/mod.rs b/examples/containers/wasm-workers-server/crates/panel/src/handlers/mod.rs new file mode 100644 index 00000000..7a6b9583 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/src/handlers/mod.rs @@ -0,0 +1 @@ +pub mod panel; diff --git a/examples/containers/wasm-workers-server/crates/panel/src/handlers/panel.rs b/examples/containers/wasm-workers-server/crates/panel/src/handlers/panel.rs new file mode 100644 index 00000000..d90bb243 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/src/handlers/panel.rs @@ -0,0 +1,30 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use actix_web::{ + web::{self}, + HttpResponse, Responder, +}; +use mime_guess::from_path; +use rust_embed::RustEmbed; + +#[derive(RustEmbed)] +#[folder = "client/dist/"] +struct Asset; + +/// Find the static assets of the administration panel +#[actix_web::get("/_panel{_:.*}")] +pub async fn handle_static_panel(path: web::Path) -> impl Responder { + let path = if path.len() == 0 { + "index.html" + } else { + path.as_str().strip_prefix('/').unwrap() + }; + + match Asset::get(path) { + Some(content) => HttpResponse::Ok() + .content_type(from_path(path).first_or_octet_stream().as_ref()) + .body(content.data.into_owned()), + None => HttpResponse::NotFound().body("404 Not Found"), + } +} diff --git a/examples/containers/wasm-workers-server/crates/panel/src/lib.rs b/examples/containers/wasm-workers-server/crates/panel/src/lib.rs new file mode 100644 index 00000000..a15e64a1 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/panel/src/lib.rs @@ -0,0 +1,12 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use actix_web::web::ServiceConfig; + +mod handlers; + +/// Add the administration panel HTTP handlers to an existing +/// Actix application. +pub fn config_panel_handlers(cfg: &mut ServiceConfig) { + cfg.service(handlers::panel::handle_static_panel); +} diff --git a/examples/containers/wasm-workers-server/crates/project/Cargo.toml b/examples/containers/wasm-workers-server/crates/project/Cargo.toml new file mode 100644 index 00000000..aff5ca11 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "wws-project" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +reqwest = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +tokio = { workspace = true } +toml = { workspace = true } +wws-store = { workspace = true } +url = "2.3.1" +sha256 = "1.1.1" +git2 = "0.17.2" +# Not all platforms require OpenSSL +openssl = { workspace = true, optional = true } + +[features] +vendored-openssl = ["openssl/vendored"] + +[dev-dependencies] +path-slash = { workspace = true } diff --git a/examples/containers/wasm-workers-server/crates/project/README.md b/examples/containers/wasm-workers-server/crates/project/README.md new file mode 100644 index 00000000..a85fe0ea --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/README.md @@ -0,0 +1,5 @@ +# Wasm Workers Server / Project crate + +The purpose of this create is to prepare the worker project before we proceed identifying the routes and preparing the individual workers. It's in charge of locating the project locally, pulling it from a supported remote and storing it in a place that it's accessible for `wws`. + +It also downloads the required runtimes to run the given project. diff --git a/examples/containers/wasm-workers-server/crates/project/src/fetch.rs b/examples/containers/wasm-workers-server/crates/project/src/fetch.rs new file mode 100644 index 00000000..df8f7c81 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/fetch.rs @@ -0,0 +1,36 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::metadata::Checksum; +use anyhow::Result; +use reqwest::header::USER_AGENT; + +/// The current wws version +const VERSION: &str = env!("CARGO_PKG_VERSION"); + +/// Fetch the contents of a given file and validates it +/// using the Sha256. +pub async fn fetch>(file: T) -> Result> { + let client = reqwest::Client::new(); + let user_agent_value = format!("Wasm Workers Server/{VERSION}"); + + let body: Vec = client + .get(file.as_ref()) + .header(USER_AGENT, user_agent_value) + .send() + .await? + .bytes() + .await? + .into(); + + Ok(body) +} + +/// Fetch the contents of a given file and validates it +/// using the Sha256. +pub async fn fetch_and_validate>(file: T, checksum: &Checksum) -> Result> { + let body: Vec = fetch(file).await?; + checksum.validate(&body)?; + + Ok(body) +} diff --git a/examples/containers/wasm-workers-server/crates/project/src/lib.rs b/examples/containers/wasm-workers-server/crates/project/src/lib.rs new file mode 100644 index 00000000..91f5eb89 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/lib.rs @@ -0,0 +1,209 @@ +// Copyright 2022-2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod fetch; +pub mod metadata; +pub mod options; +pub mod types; + +use anyhow::{bail, Result}; +use fetch::fetch_and_validate; +use metadata::{RemoteFile, Runtime}; +use options::Options; +use std::{ + ffi::OsStr, + path::{Path, PathBuf}, +}; +use types::git::prepare_git_project; +use wws_store::Store; + +pub enum ProjectType { + Local, + Git, +} + +/// Prepare a project from the given String. This argument could represent +/// different things: +/// +/// - A local path +/// - A git repository +/// - Etc. +/// +/// Depending on the type, the project preparation requires different steps. +/// For example, a git repository requires to clone it. +/// +/// However, the result of any type is the same: a local folder to point to. +/// This is the value we return from this function. +pub async fn prepare_project( + location: &Path, + force_type: Option, + options: Options, +) -> Result { + let project_type = if force_type.is_some() { + force_type.unwrap() + } else { + identify_type(location)? + }; + + match project_type { + ProjectType::Local => Ok(PathBuf::from(location)), + ProjectType::Git => prepare_git_project(location, options), + } +} + +/// Identify the type of the project based on different rules related to the location. +/// For example, an URL that ends in .git is considered a git repository. For any +/// unknown pattern, it will default to "Local" +pub fn identify_type(location: &Path) -> Result { + if (location.starts_with("https://") || location.starts_with("http://")) + && location + .extension() + .filter(|e| *e == OsStr::new("git")) + .is_some() + { + Ok(ProjectType::Git) + } else { + let path = Path::new(location); + + if path.exists() { + Ok(ProjectType::Local) + } else { + bail!("The given path does not exist in the local filesystem.") + } + } +} + +/// Install a runtime locally. It reads the provided configuration and +/// dowload the files. All files are saved in a store that references +/// the repository, the runtime name and version +pub async fn install_runtime( + project_root: &Path, + repository: &str, + metadata: &Runtime, +) -> Result<()> { + let store = Store::create( + project_root, + &["runtimes", repository, &metadata.name, &metadata.version], + )?; + + // Install the different files + download_file(&metadata.binary, &store).await?; + + if let Some(polyfill) = &metadata.polyfill { + download_file(polyfill, &store).await?; + } + + if let Some(wrapper) = &metadata.wrapper { + download_file(wrapper, &store).await?; + } + + if let Some(template) = &metadata.template { + download_file(template, &store).await?; + } + + Ok(()) +} + +/// Checks if the given runtime is already installed locally. It loads +/// the metadata and try to find the files in the store. +pub fn check_runtime(project_root: &Path, repository: &str, runtime: &Runtime) -> bool { + // Check the different files + let store = Store::new( + project_root, + &["runtimes", repository, &runtime.name, &runtime.version], + ); + + // Check the existence of the different files + let binary = store.check_file(&[&runtime.binary.filename]); + let mut template = true; + let mut polyfill = true; + let mut wrapper = true; + + if let Some(template_file) = &runtime.template { + template = store.check_file(&[&template_file.filename]); + } + + if let Some(wrapper_file) = &runtime.wrapper { + wrapper = store.check_file(&[&wrapper_file.filename]); + } + + if let Some(polyfill_file) = &runtime.polyfill { + polyfill = store.check_file(&[&polyfill_file.filename]); + } + + binary && template && polyfill && wrapper +} + +/// Uninstall a runtime from the store. I loads the path from the metadata +/// and delete the folder. +pub fn uninstall_runtime(project_root: &Path, repository: &str, metadata: &Runtime) -> Result<()> { + // Delete the current folder + Store::new( + project_root, + &["runtimes", repository, &metadata.name, &metadata.version], + ) + .delete_root_folder() +} + +/// Downloads a remote file and saves into the given store. This +/// method also validates the file against the checksum provided +/// in the metadata. +async fn download_file(file: &RemoteFile, store: &Store) -> Result<()> { + let contents = fetch_and_validate(&file.url, &file.checksum).await?; + store.write(&[&file.filename], &contents) +} + +#[cfg(test)] +mod tests { + use super::*; + use path_slash::PathBufExt as _; + + #[test] + fn identify_local_locations() { + let tests = ["tests", "tests/data", "./tests", "./tests/data"]; + + for test in tests { + let file_route = PathBuf::from_slash(test); + + match identify_type(&file_route) { + Ok(project_type) => { + assert!(matches!(project_type, ProjectType::Local)); + } + Err(err) => panic!("Error identifying a the project type: {err}"), + } + } + } + + #[test] + fn identify_local_error_when_missing() { + let tests = [ + "missing", + "missing/missing", + "./missing/missing", + "./missing/missing", + ]; + + for test in tests { + let file_route = PathBuf::from_slash(test); + + match identify_type(&file_route) { + Ok(_) => { + panic!("The folder doesn't exist, so identifying it should fail."); + } + Err(err) => assert!(err.to_string().contains("does not exist")), + } + } + } + + #[test] + fn identify_git_repository_locations() { + let location = Path::new("https://github.com/vmware-labs/wasm-workers-server.git"); + + match identify_type(location) { + Ok(project_type) => { + assert!(matches!(project_type, ProjectType::Git)); + } + Err(err) => panic!("Error identifying a the project type: {err}"), + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/project/src/metadata.rs b/examples/containers/wasm-workers-server/crates/project/src/metadata.rs new file mode 100644 index 00000000..45c5c425 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/metadata.rs @@ -0,0 +1,214 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::fetch::fetch; +use anyhow::{anyhow, Result}; +use serde::{Deserialize, Serialize}; +use sha256::digest as sha256_digest; +use std::collections::HashMap; +use std::str::FromStr; +use url::Url; + +/// Identify the current max repository version this build can manage. +const MAX_REPOSITORY_VERSION: u32 = 1; + +/// A Repository contains the list of runtimes available on it. +/// This file is used by wws to properly show the list of available +/// repos and install them. +/// +/// By default, this repository class rely on the +/// [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) +/// repository. It looks for a repository.toml file in the Git repo. +#[derive(Deserialize)] +pub struct Repository { + /// Version of the repository file + pub version: u32, + /// The list of runtimes available in the repository. By default, it will be + /// filled with an empty vector. The goal is to keep this repository + /// compatible with future changes. If we don't add this value and change the + /// runtimes key to something else in the future, the CLI won't deserialize + /// the version. + #[serde(default)] + pub runtimes: Vec, +} + +impl Repository { + /// Retrieve a repository from a remote file. It will download the content + /// using reqwest and initializing the repository with it. + pub async fn from_remote_file(repository_url: &str) -> Result { + let url = Url::parse(repository_url)?; + let data = fetch(&url).await?; + let str_data = String::from_utf8(data)?; + + let repo = Repository::from_str(&str_data)?; + + if repo.version > MAX_REPOSITORY_VERSION { + println!( + "āš ļø The repository index version ({}) is not supported by your wws installation.", + repo.version + ); + println!("āš ļø This may cause unexpected or missing behaviors. Please, update wws and try it again"); + } + + Ok(repo) + } + + pub fn find_runtime(&self, name: &str, version: &str) -> Option<&Runtime> { + self.runtimes.iter().find(|r| { + r.name == name && (r.version == version || r.tags.contains(&String::from(version))) + }) + } +} + +impl FromStr for Repository { + type Err = anyhow::Error; + + /// Reads and parses the metadata from a slice of bytes. It will return + /// a result as the deserialization may fail. + fn from_str(data: &str) -> Result { + toml::from_str::(data).map_err(|err| { + println!("Err: {err}"); + anyhow!("wws could not deserialize the repository metadata") + }) + } +} + +/// Metadata associated to a Runtime. It contains information +/// about a certain runtime like name, version and all the +/// details to run workers with it. +/// +/// A runtime is a Wasm binary + configuration that can run +/// a source code as a worker. The configuration includes +/// different pieces like polyfills files, templates, +/// arguments, etc. +#[derive(Deserialize, Serialize, Clone)] +pub struct Runtime { + /// Name of the runtime (like ruby, python, etc) + pub name: String, + /// Specific version of the runtime + pub version: String, + /// Optional aliases for the version + #[serde(default)] + pub tags: Vec, + /// Current status in the repository + pub status: RuntimeStatus, + /// Associated extensions + pub extensions: Vec, + /// Arguments to pass to the Wasm module via WASI + pub args: Vec, + /// A list of environment variables that must be configured + /// for the runtime to work. + pub envs: Option>, + /// The reference to a remote binary (url + checksum) + pub binary: RemoteFile, + /// The reference to a remote polyfill file (url + checksum) + pub polyfill: Option, + /// The reference to a wrapper file for the worker. It will wrap the + /// source code into a template that can include imports, + /// function calls, etc. + pub wrapper: Option, + /// The reference to an example file of a functional worker for this + /// runtime. It will be used to quickly bootstrap new workers. + pub template: Option, +} + +/// Implement comparison by checking the name and version of a given repository. +/// For now, we will rely on this simple comparison as a repository shouldn't +/// include two runtimes with the same name and version +impl PartialEq for Runtime { + fn eq(&self, other: &Self) -> bool { + self.name == other.name && self.version == other.version + } +} + +/// Define the status of a runtime in a target repository +#[derive(Deserialize, Serialize, Clone)] +#[serde(rename_all = "lowercase")] +pub enum RuntimeStatus { + Active, + Yanked, + Deprecated, + Unknown, +} + +impl From<&str> for RuntimeStatus { + /// Create a RuntimeStatus variant from a &str. It uses predefined + /// values + fn from(value: &str) -> Self { + match value { + "active" => RuntimeStatus::Active, + "yanked" => RuntimeStatus::Yanked, + "deprecated" => RuntimeStatus::Deprecated, + _ => RuntimeStatus::Unknown, + } + } +} + +/// A file represents a combination of both a remote URL, filename +/// and checksum. +#[derive(Deserialize, Serialize, Clone)] +pub struct RemoteFile { + /// URL pointing to the file + pub url: String, + /// Checksum to validate the given file + pub checksum: Checksum, + /// Provide a filename + pub filename: String, +} + +/// A list of available checksums. For now, we will support only sha256 +#[derive(Deserialize, Serialize, Clone)] +#[serde(rename_all = "lowercase", tag = "type")] +pub enum Checksum { + Sha256 { value: String }, +} + +impl Checksum { + /// Validate the provided slice of bytes with the given checksum. + /// Depending on the type, it will calculate a different digest. + pub fn validate(&self, bytes: &[u8]) -> Result<()> { + match self { + Checksum::Sha256 { value } if value == &sha256_digest(bytes) => Ok(()), + _ => Err(anyhow!("The checksums don't match")), + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + use std::{any::Any, fs}; + + #[test] + fn parse_index_toml() { + let contents = fs::read_to_string("../../tests/data/metadata/repository.toml").unwrap(); + let repo = Repository::from_str(&contents).unwrap(); + + assert_eq!(repo.version, 1); + assert_eq!(repo.runtimes.len(), 1); + } + + #[test] + fn parse_runtime_toml() { + let contents = fs::read_to_string("../../tests/data/metadata/runtime.toml").unwrap(); + let metadata = toml::from_str::(&contents).unwrap(); + + assert_eq!(metadata.name, "ruby"); + assert_eq!(metadata.version, "3.2.0+20230118-8aec06d"); + assert_eq!(metadata.status.type_id(), RuntimeStatus::Active.type_id()); + assert_eq!(metadata.binary.url, "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230118-8aec06d/ruby-3.2.0.wasm"); + + let Checksum::Sha256 { value } = metadata.binary.checksum; + assert_eq!( + value, + "e2d91cff05ec59ed9c88aadbd3b477842092054bf24c5d944d5ad6dbafdd3b32" + ); + + // Optionals + let polyfill = metadata.polyfill.unwrap(); + assert_eq!( + polyfill.url, + "https://raw.githubusercontent.com/Angelmmiguel/wws-index-test/main/ruby/poly.rb" + ); + } +} diff --git a/examples/containers/wasm-workers-server/crates/project/src/options.rs b/examples/containers/wasm-workers-server/crates/project/src/options.rs new file mode 100644 index 00000000..c6cc261a --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/options.rs @@ -0,0 +1,35 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/// Defines the different options to configure the project. +/// Every type has their own options. +#[derive(Default)] +pub struct Options { + /// Options for Git repositories + pub git: Option, + /// Options for local repositories + pub local: Option, +} + +/// For now, we don't have any particular option for this type. +/// I'm keeping it as a placeholder +#[derive(Default)] +pub struct LocalOptions {} + +/// Defines a different reference when cloning the repository +pub enum GitReference { + /// Use a specific commit + Commit(String), + /// Use a specific tag + Tag(String), + /// Use a specific git branch + Branch(String), +} + +/// The different git options you can configure. +#[derive(Default)] +pub struct GitOptions { + pub git_ref: Option, + /// Change the directory to run the workers + pub folder: Option, +} diff --git a/examples/containers/wasm-workers-server/crates/project/src/types/git.rs b/examples/containers/wasm-workers-server/crates/project/src/types/git.rs new file mode 100644 index 00000000..d92a2ddf --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/types/git.rs @@ -0,0 +1,150 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::options::{GitReference, Options}; +use anyhow::{anyhow, bail, Result}; +use git2::{build::CheckoutBuilder, FetchOptions, Oid, Repository}; +use sha256::digest as sha256_digest; +use std::{ + env::temp_dir, + path::{Path, PathBuf}, +}; + +// Default remote for git repos +static DEFAULT_REMOTE: &str = "origin"; + +/// Prepare a project based on a git repository. This method +/// clones the repo locally and returns the path in which it's located. +pub fn prepare_git_project(location: &Path, options: Options) -> Result { + let project_url = location + .to_str() + .ok_or(anyhow!("The project URL cannot be retrieved"))?; + let (folder, git_ref) = parse_options(options); + // By default, we use temporary dirs + let mut dir = temp_dir().join(sha256_digest(project_url)); + + let repo = if dir.exists() { + // Reuse the same repository. + Repository::open(&dir) + .map_err(|e| anyhow!("There was an error opening the repository: {e}"))? + } else { + // clone it + Repository::clone(project_url, &dir) + .map_err(|e| anyhow!("There was an error cloning the repository: {e}"))? + }; + + if let Some(git_ref) = git_ref.as_ref() { + match git_ref { + GitReference::Commit(commit) => { + pull_default_branch(&repo)?; + + let oid = Oid::from_str(commit)?; + repo.set_head_detached(oid)?; + repo.checkout_head(Some(&mut default_checkout()))?; + } + GitReference::Tag(tag) => { + let mut remote = repo.find_remote(DEFAULT_REMOTE)?; + let tag_remote = format!("refs/tags/{tag}:refs/tags/{tag}"); + remote.fetch(&[&tag_remote], None, None)?; + + repo.set_head(&format!("refs/tags/{tag}"))?; + repo.checkout_head(Some(&mut default_checkout()))?; + } + GitReference::Branch(branch) => { + let mut remote = repo.find_remote(DEFAULT_REMOTE)?; + let head_remote = format!("refs/heads/{branch}:refs/heads/{branch}"); + remote.fetch(&[&head_remote], None, None)?; + + repo.set_head(&format!("refs/heads/{branch}"))?; + repo.checkout_head(Some(&mut default_checkout()))?; + } + } + } else { + pull_default_branch(&repo)?; + } + + if let Some(folder) = folder { + dir = dir.join(folder); + } + + Ok(dir) +} + +/// Generates a default configuration to checkout the git repository +fn default_checkout<'cb>() -> CheckoutBuilder<'cb> { + let mut checkout_builder = CheckoutBuilder::default(); + + checkout_builder + .allow_conflicts(true) + .conflict_style_merge(true) + .force(); + + checkout_builder +} + +/// Parse the different configuration parameters from the given Options +fn parse_options(options: Options) -> (Option, Option) { + if let Some(git) = options.git { + (git.folder, git.git_ref) + } else { + (None, None) + } +} + +/// Pull the changes from the default branch +fn pull_default_branch(repo: &Repository) -> Result<()> { + let branch = detect_main_branch(repo)?; + pull_repository(repo, branch) +} + +/// Detech the main branch of this repository +fn detect_main_branch(repo: &Repository) -> Result<&str> { + // For now, we only distinguish between the two most common branch names. + // Ask the user to set the branch in any other case. + if repo.find_branch("main", git2::BranchType::Local).is_ok() { + Ok("main") + } else if repo.find_branch("master", git2::BranchType::Local).is_ok() { + Ok("master") + } else { + bail!("Couldn't find the default main branch. Please, set the Git branch you want to use.") + } +} + +/// Fetch the latest references from a repository and pull all mising +/// objects. This method ensures an existing repo is not stale +fn pull_repository(repo: &Repository, branch: &str) -> Result<()> { + let mut remote = repo.find_remote(DEFAULT_REMOTE)?; + let mut fo = FetchOptions::new(); + + remote.fetch(&[branch], Some(&mut fo), None)?; + + let fetch_head = repo.find_reference("FETCH_HEAD")?; + let fetch_commit = fetch_head.peel_to_commit()?; + + // Follow a fast-forward merge by default. These repositories shouldn't be + // modified. In any other case, it will fail. + let refname = format!("refs/heads/{}", branch); + + match repo.find_reference(&refname) { + Ok(mut reference) => { + // Get the reference name + let name = match reference.name() { + Some(s) => s.to_string(), + None => String::from_utf8_lossy(reference.name_bytes()).to_string(), + }; + + // Perform the pull + reference.set_target(fetch_commit.id(), "")?; + repo.set_head(&name)?; + repo.checkout_head(Some(&mut default_checkout()))?; + } + Err(_) => { + // The branch doesn't exist + repo.reference(&refname, fetch_commit.id(), true, "")?; + repo.set_head(&refname)?; + repo.checkout_head(Some(&mut default_checkout()))?; + } + }; + + Ok(()) +} diff --git a/examples/containers/wasm-workers-server/crates/project/src/types/mod.rs b/examples/containers/wasm-workers-server/crates/project/src/types/mod.rs new file mode 100644 index 00000000..86bcb990 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/project/src/types/mod.rs @@ -0,0 +1,4 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod git; diff --git a/examples/containers/wasm-workers-server/crates/project/tests/data/index.js b/examples/containers/wasm-workers-server/crates/project/tests/data/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/Cargo.toml b/examples/containers/wasm-workers-server/crates/router/Cargo.toml new file mode 100644 index 00000000..fdf7b050 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/router/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "wws-router" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[lib] +doctest = false + +[dependencies] +wws-config = { workspace = true } +wws-store = { workspace = true } +wws-project = { workspace = true } +wws-worker = { workspace = true } +lazy_static = "1.4.0" +regex = "1" + +# This commit fixes an issue with Walk::not, and is not yet released +wax = { git = "https://github.com/olson-sean-k/wax.git", rev = "6d66a10" } + +[dev-dependencies] +path-slash = { workspace = true } diff --git a/examples/containers/wasm-workers-server/crates/router/src/files.rs b/examples/containers/wasm-workers-server/crates/router/src/files.rs new file mode 100644 index 00000000..70b9819e --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/router/src/files.rs @@ -0,0 +1,205 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::path::{Path, PathBuf}; +use std::str::FromStr; +use wax::{Glob, WalkEntry}; +use wws_store::STORE_FOLDER; + +const IGNORE_PATH_PREFIX: &str = "_"; + +/// Manages the files associated to a Wasm Workers Run. +/// It uses glob patterns to detect the workers and +/// provide utilities to work with public folders and +/// other related resources. +pub struct Files<'t> { + /// Root path + root: PathBuf, + /// Defines pattern for files considered as workers + include_pattern: Glob<'t>, + /// Defines patterns to exclude when traversing for workers + ignore_patterns: Vec>, +} + +impl<'t> Files<'t> { + const PUBLIC_ASSETS_FOLDER: &str = "public"; + const DEFAULT_EXTENSIONS: [&str; 2] = ["js", "wasm"]; + + /// Initializes a new files instance. It will detect + /// relevant resources for WWS like the public folder. + pub fn new(root: &Path, file_extensions: Vec, ignore_patterns: Vec) -> Self { + Self { + root: root.to_path_buf(), + include_pattern: Self::build_include_pattern(file_extensions), + ignore_patterns: Self::build_ignore_patterns(ignore_patterns), + } + } + + /// Walk through all the different files associated to this + /// project using a Glob pattern + pub fn walk(&self) -> Vec { + return self + .include_pattern + .walk(&self.root) + .not(self.ignore_patterns.clone()) + .expect("Failed to walk the tree when processing files in the current directory") + .map(|e| e.unwrap()) + .collect(); + } + + fn build_include_pattern(file_extensions: Vec) -> Glob<'t> { + let mut file_extensions = file_extensions; + for default_extension in Self::DEFAULT_EXTENSIONS { + file_extensions.push(default_extension.to_string()); + } + + let include_pattern = format!("**/*.{{{}}}", file_extensions.join(",")); + Glob::from_str(include_pattern.as_str()).expect("Failed to parse include pattern!") + } + + fn build_ignore_patterns(ignore_patterns: Vec) -> Vec> { + let default_ignore_patterns = vec![ + format!("**/{}/**", Self::PUBLIC_ASSETS_FOLDER), + format!("**/{}/**", STORE_FOLDER), + format!("**/{}*/**", IGNORE_PATH_PREFIX), + ]; + + let mut result = default_ignore_patterns; + result.extend(ignore_patterns); + result + .iter() + .map(|s| Glob::from_str(s.as_str()).expect("Failed to parse ignore pattern")) + .collect() + } +} + +#[cfg(test)] +mod tests { + use super::*; + + use path_slash::PathBufExt as _; + use std::collections::HashSet; + + #[test] + fn walk_default() { + let files = Files::new(Path::new("tests/data/files"), vec![], vec![]); + + let mut expected = HashSet::new(); + expected.insert(PathBuf::from_slash("tests/data/files/examples.js")); + expected.insert(PathBuf::from_slash("tests/data/files/index.js")); + expected.insert(PathBuf::from_slash("tests/data/files/public.js")); + expected.insert(PathBuf::from_slash("tests/data/files/examples/public.js")); + expected.insert(PathBuf::from_slash( + "tests/data/files/examples/index/index.js", + )); + + let mut actual = HashSet::new(); + for entry in files.walk() { + actual.insert(PathBuf::from_slash(String::from( + entry.path().to_string_lossy(), + ))); + } + + assert_eq!(expected, actual); + } + + #[test] + fn walk_default_subfolder() { + let files = Files::new(Path::new("tests/data/files/examples"), vec![], vec![]); + + let mut expected = HashSet::new(); + expected.insert(PathBuf::from_slash("tests/data/files/examples/public.js")); + expected.insert(PathBuf::from_slash( + "tests/data/files/examples/index/index.js", + )); + + let mut actual = HashSet::new(); + for entry in files.walk() { + actual.insert(PathBuf::from_slash(String::from( + entry.path().to_string_lossy(), + ))); + } + + assert_eq!(expected, actual); + } + + #[test] + fn walk_extensions() { + let files = Files::new( + Path::new("tests/data/files"), + vec!["ext".to_string()], + vec![], + ); + + let mut expected = HashSet::new(); + expected.insert(PathBuf::from_slash("tests/data/files/examples.js")); + expected.insert(PathBuf::from_slash("tests/data/files/home.ext")); + expected.insert(PathBuf::from_slash("tests/data/files/index.js")); + expected.insert(PathBuf::from_slash("tests/data/files/public.js")); + expected.insert(PathBuf::from_slash("tests/data/files/examples/home.ext")); + expected.insert(PathBuf::from_slash("tests/data/files/examples/public.js")); + expected.insert(PathBuf::from_slash( + "tests/data/files/examples/index/home.ext", + )); + expected.insert(PathBuf::from_slash( + "tests/data/files/examples/index/index.js", + )); + + let mut actual = HashSet::new(); + for entry in files.walk() { + actual.insert(PathBuf::from_slash(String::from( + entry.path().to_string_lossy(), + ))); + } + + assert_eq!(expected, actual); + } + + #[test] + fn walk_ignore() { + let files = Files::new( + Path::new("tests/data/files"), + vec![], + vec!["**/examples/**".to_string()], + ); + + let mut expected = HashSet::new(); + expected.insert(PathBuf::from_slash("tests/data/files/examples.js")); + expected.insert(PathBuf::from_slash("tests/data/files/index.js")); + expected.insert(PathBuf::from_slash("tests/data/files/public.js")); + + let mut actual = HashSet::new(); + for entry in files.walk() { + actual.insert(PathBuf::from_slash(String::from( + entry.path().to_string_lossy(), + ))); + } + + assert_eq!(expected, actual); + } + + #[test] + fn walk_ignore_multiple_patterns() { + let files = Files::new( + Path::new("tests/data/files"), + vec!["ext".to_string(), "none".to_string()], + vec!["**/index/**".to_string(), "*/*pub*".to_string()], + ); + + let mut expected = HashSet::new(); + expected.insert(PathBuf::from_slash("tests/data/files/examples.js")); + expected.insert(PathBuf::from_slash("tests/data/files/home.ext")); + expected.insert(PathBuf::from_slash("tests/data/files/index.js")); + expected.insert(PathBuf::from_slash("tests/data/files/public.js")); + expected.insert(PathBuf::from_slash("tests/data/files/examples/home.ext")); + + let mut actual = HashSet::new(); + for entry in files.walk() { + actual.insert(PathBuf::from_slash(String::from( + entry.path().to_string_lossy(), + ))); + } + + assert_eq!(expected, actual); + } +} diff --git a/examples/containers/wasm-workers-server/crates/router/src/lib.rs b/examples/containers/wasm-workers-server/crates/router/src/lib.rs new file mode 100644 index 00000000..e04dbbe9 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/router/src/lib.rs @@ -0,0 +1,229 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// +// Declare the different routes for the project +// based on the files in the given folder +// + +mod files; +mod route; + +use files::Files; +use route::RouteAffinity; +use std::path::{Path, PathBuf}; +use std::time::Instant; +use wws_config::Config; + +pub use route::Route; + +/// Contains all registered routes +pub struct Routes { + pub routes: Vec, + pub prefix: String, +} + +impl Routes { + /// Initialize the list of routes from the given folder. This method will look for + /// different files and will create the associated routes. This routing approach + /// is pretty popular in web development and static sites. + pub fn new( + path: &Path, + base_prefix: &str, + ignore_patterns: Vec, + config: &Config, + ) -> Self { + let mut routes = Vec::new(); + let prefix = Self::format_prefix(base_prefix); + let runtime_extensions = config.get_runtime_extensions(path); + + let files = Files::new(path, runtime_extensions, ignore_patterns); + + let mut route_paths: Vec = Vec::new(); + for entry in files.walk() { + route_paths.push(entry.into_path()); + } + + println!("ā³ Loading workers from {} routes...", route_paths.len()); + let start = Instant::now(); + for route_path in route_paths { + routes.push(Route::new(path, route_path, &prefix, config)); + } + println!("āœ… Workers loaded in {:?}.", start.elapsed()); + + Self { routes, prefix } + } + + /// Based on a set of routes and a given path, it provides the best + /// match based on the parametrized URL score. See the [`Route::can_manage_path`] + /// method to understand how to calculate the score. + pub fn retrieve_best_route<'a>(&'a self, path: &str) -> Option<&'a Route> { + // Keep it to avoid calculating the score twice when iterating + // to look for the best route + let mut best_score = -1; + + self.routes + .iter() + .fold(None, |acc, item| match item.affinity(path) { + RouteAffinity::CanManage(score) if best_score == -1 || score < best_score => { + best_score = score; + Some(item) + } + _ => acc, + }) + } + + /// Defines a prefix in the context of the application. + /// This prefix will be used for the static assets and the + /// workers. + /// + /// A prefix must have the format: /X. This method receives + /// the optional prefix and returns a proper String. + /// + /// To be flexible, the method will manage "windows" paths too: + /// \app. This shouldn't be considered as "prefix" must be an URI + /// path. However, the check is pretty simple, so we will consider + /// it. + fn format_prefix(source: &str) -> String { + let mut normalized_prefix = source.to_string(); + // Ensure the prefix doesn't include any \ character + normalized_prefix = normalized_prefix.replace('\\', "/"); + + if normalized_prefix.is_empty() { + normalized_prefix + } else { + if !normalized_prefix.starts_with('/') { + normalized_prefix = String::from('/') + &normalized_prefix; + } + + if normalized_prefix.ends_with('/') { + normalized_prefix.pop(); + } + + normalized_prefix + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + use std::path::PathBuf; + + #[test] + fn route_path_affinity() { + let build_route = |file: &str| -> Route { + let project_config = Config::default(); + Route::new( + Path::new("../../tests/data/params"), + PathBuf::from(format!("../../tests/data/params{file}")), + "", + &project_config, + ) + }; + + // Route initializes the Wasm module. We create these + // variables to avoid loading the same Wasm module multiple times + let param_route = build_route("/[id].wasm"); + let fixed_route = build_route("/fixed.wasm"); + let param_folder_route = build_route("/[id]/fixed.wasm"); + let param_sub_route = build_route("/sub/[id].wasm"); + + let tests = [ + (¶m_route, "/a", RouteAffinity::CanManage(1)), + (&fixed_route, "/fixed", RouteAffinity::CanManage(0)), + (&fixed_route, "/a", RouteAffinity::CannotManage), + (¶m_folder_route, "/a", RouteAffinity::CannotManage), + (¶m_folder_route, "/a/fixed", RouteAffinity::CanManage(1)), + (¶m_sub_route, "/a/b", RouteAffinity::CannotManage), + (¶m_sub_route, "/sub/b", RouteAffinity::CanManage(2)), + ]; + + for t in tests { + assert_eq!(t.0.affinity(t.1), t.2); + } + } + + #[test] + fn best_route_by_affinity() { + let build_route = |file: &str| -> Route { + let project_config = Config::default(); + Route::new( + Path::new("../../tests/data/params"), + PathBuf::from(format!("../../tests/data/params{file}")), + "", + &project_config, + ) + }; + + // Route initializes the Wasm module. We create these + // variables to avoid loading the same Wasm module multiple times + let param_route = build_route("/[id].wasm"); + let fixed_route = build_route("/fixed.wasm"); + let param_folder_route = build_route("/[id]/fixed.wasm"); + let param_sub_route = build_route("/sub/[id].wasm"); + + // I'm gonna use this values for comparison as `routes` consumes + // the Route elements. + let param_path = param_route.path.clone(); + let fixed_path = fixed_route.path.clone(); + let param_folder_path = param_folder_route.path.clone(); + let param_sub_path = param_sub_route.path.clone(); + + let routes = Routes { + routes: vec![ + param_route, + fixed_route, + param_folder_route, + param_sub_route, + ], + prefix: String::from("/"), + }; + + let tests = [ + ("/a", Some(param_path)), + ("/fixed", Some(fixed_path)), + ("/a/fixed", Some(param_folder_path)), + ("/sub/b", Some(param_sub_path)), + ("/donot/exist", None), + ]; + + for t in tests { + let route = routes.retrieve_best_route(t.0); + + if let Some(path) = t.1 { + assert!(route.is_some()); + assert_eq!(route.unwrap().path, path); + } else { + assert!(route.is_none()); + } + } + } + + #[test] + fn format_provided_prefix() { + let tests = [ + // Unix approach + ("", ""), + ("/app", "/app"), + ("app", "/app"), + ("app/", "/app"), + ("/app/", "/app"), + ("/app/test/", "/app/test"), + ("/app/test", "/app/test"), + ("app/test/", "/app/test"), + // Windows approach + ("\\app", "/app"), + ("app", "/app"), + ("app\\", "/app"), + ("\\app\\", "/app"), + ("\\app\\test\\", "/app/test"), + ("\\app\\test", "/app/test"), + ("app\\test\\", "/app/test"), + ]; + + for t in tests { + assert_eq!(Routes::format_prefix(t.0), String::from(t.1)) + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/router/src/route.rs b/examples/containers/wasm-workers-server/crates/router/src/route.rs new file mode 100644 index 00000000..24c83055 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/router/src/route.rs @@ -0,0 +1,379 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use lazy_static::lazy_static; +use regex::Regex; +use std::{ + ffi::OsStr, + path::{Component, Path, PathBuf}, +}; +use wws_config::Config as ProjectConfig; +use wws_worker::Worker; + +lazy_static! { + static ref PARAMETER_REGEX: Regex = Regex::new(r"\[\w+\]").unwrap(); + static ref DYNAMIC_ROUTE_REGEX: Regex = Regex::new(r".*\[\w+\].*").unwrap(); +} + +/// Identify if a route can manage a certain URL and generates +/// a score in that case. This is required by dynamic routes as +/// different files can manage the same route. For example: +/// `/test` may be managed by `test.js` and `[id].js`. Regarding +/// the score, routes with a lower value will have a higher priority. +#[derive(PartialEq, Eq, Debug)] +pub enum RouteAffinity { + CannotManage, + // Score + CanManage(i32), +} + +/// An existing route in the project. It contains a reference to the handler, the URL path, +/// the runner and configuration. Note that URL paths are calculated based on the file path. +/// +/// # Examples +/// +/// ``` +/// index.wasm => / +/// api/index.wasm => /api +/// api/v2/ping.wasm => /api/v2/ping +/// ``` +pub struct Route { + /// The wasm module that will manage the route + pub handler: PathBuf, + /// The URL path + pub path: String, + /// The associated worker + pub worker: Worker, +} + +impl Route { + /// Initialize a new route from the given folder and filepath. It will calculate the + /// proper URL path based on the filename. + /// + /// This method also initializes the Runner and loads the Config if available. + pub fn new( + base_path: &Path, + filepath: PathBuf, + prefix: &str, + project_config: &ProjectConfig, + ) -> Self { + let worker = Worker::new(base_path, &filepath, project_config).unwrap(); + + Self { + path: Self::retrieve_route(base_path, &filepath, prefix), + handler: filepath, + worker, + } + } + + // Process the given path to return the proper route for the API. + // It will transform paths like test/index.wasm into /test. + fn retrieve_route(base_path: &Path, path: &Path, prefix: &str) -> String { + // Normalize both paths + let n_path = Self::normalize_path_to_url(path); + let n_base_path = Self::normalize_path_to_url(base_path); + + // Remove the base_path + match n_path.strip_prefix(&n_base_path) { + Some(worker_path) => { + String::from(prefix) + + (if worker_path.is_empty() { + // Index file at root + "/" + } else { + worker_path + }) + } + None => { + // TODO: manage errors properly and skip the route + // @see #13 + String::from("/unknown") + } + } + } + + // Prepare a path to be used as an URL. This method performs 3 main actions: + // + // - Remove file extension + // - Keep only "normal" components. Others like "." or "./" are ignored + // - Remove "index" components + fn normalize_path_to_url(path: &Path) -> String { + path.with_extension("") + .components() + .filter_map(|c| match c { + Component::Normal(os_str) if os_str != OsStr::new("index") => os_str + .to_str() + .map(|parsed_str| String::from("/") + parsed_str), + _ => None, + }) + .collect() + } + + /// Check if the given path can be managed by this worker. This was introduced + /// to support parameters in the URLs. Note that this method returns an integer, + /// which means the priority for this route. + /// + /// Note that a /a/b route may be served by: + /// - /a/b.js + /// - /a/[id].js + /// - /[id]/b.wasm + /// - /[id]/[other].wasm + /// + /// We need to establish a priority. The lower of the returned number, + /// the more priority it has. This number is calculated based on the number of used + /// parameters, as fixed routes has more priority than parameted ones. + /// + /// To avoid collisions like `[id]/b.wasm` vs `/a/[id].js`. Every depth level will + /// add an extra +1 to the score. So, in case of `[id]/b.wasm` vs `/a/[id].js`, + /// the /a/b path will be managed by `[id]/b.wasm` + /// + /// In case it cannot manage it, it will return -1 + pub fn affinity(&self, url_path: &str) -> RouteAffinity { + let mut score: i32 = 0; + let mut split_path = self.path.split('/').peekable(); + + for (depth, portion) in url_path.split('/').enumerate() { + match split_path.next() { + Some(el) if el == portion => continue, + Some(el) if PARAMETER_REGEX.is_match(el) => { + score += depth as i32; + continue; + } + _ => return RouteAffinity::CannotManage, + } + } + + // I should check the other iterator to confirm is empty + if split_path.peek().is_none() { + RouteAffinity::CanManage(score) + } else { + // The split path iterator still have some entries. + RouteAffinity::CannotManage + } + } + + /// Returns the given path with the actix format. For dynamic routing + /// we are using `[]` in the filenames. However, actix expects a `{}` + /// format for parameters. + pub fn actix_path(&self) -> String { + // Replace [] with {} for making the path compatible with + let mut formatted = self.path.replace('[', "{"); + formatted = formatted.replace(']', "}"); + + formatted + } + + /// Check if the current route is dynamic + pub fn is_dynamic(&self) -> bool { + DYNAMIC_ROUTE_REGEX.is_match(&self.path) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[cfg(not(target_os = "windows"))] + #[test] + fn unix_route_index_path_retrieval() { + let tests = [ + // In a subfolder + (".", "examples/index.js", "/examples"), + (".", "examples/index.wasm", "/examples"), + // Multiple levels + (".", "examples/api/index.js", "/examples/api"), + (".", "examples/api/index.wasm", "/examples/api"), + // Root + (".", "index.js", "/"), + (".", "index.wasm", "/"), + // Now, with a different root + ("./root", "root/examples/index.js", "/examples"), + ("./root", "root/examples/index.wasm", "/examples"), + ("./root", "root/examples/api/index.js", "/examples/api"), + ("./root", "root/examples/api/index.wasm", "/examples/api"), + ("./root", "root/index.js", "/"), + ("./root", "root/index.wasm", "/"), + // A backslash should not change anything + ("./root/", "root/examples/index.js", "/examples"), + ("./root/", "root/examples/index.wasm", "/examples"), + ("./root/", "root/examples/api/index.js", "/examples/api"), + ("./root/", "root/examples/api/index.wasm", "/examples/api"), + ("./root/", "root/index.js", "/"), + ("./root/", "root/index.wasm", "/"), + ]; + + for t in tests { + assert_eq!( + Route::retrieve_route(Path::new(t.0), &PathBuf::from(t.1), ""), + String::from(t.2), + ) + } + } + + #[cfg(target_os = "windows")] + #[test] + fn win_route_index_path_retrieval() { + let tests = [ + // In a subfolder + (".", "examples\\index.js", "/examples"), + (".", "examples\\index.wasm", "/examples"), + // Multiple levels + (".", "examples\\api\\index.js", "/examples/api"), + (".", "examples\\api\\index.wasm", "/examples/api"), + // Root + (".", "index.js", "/"), + (".", "index.wasm", "/"), + // Now, with a different root + (".\\root", "root\\examples\\index.js", "/examples"), + (".\\root", "root\\examples\\index.wasm", "/examples"), + (".\\root", "root\\examples\\api\\index.js", "/examples/api"), + ( + ".\\root", + "root\\examples\\api\\index.wasm", + "/examples/api", + ), + (".\\root", "root\\index.js", "/"), + (".\\root", "root\\index.wasm", "/"), + // A backslash should not change anything + (".\\root\\", "root\\examples\\index.js", "/examples"), + (".\\root\\", "root\\examples\\index.wasm", "/examples"), + ( + ".\\root\\", + "root\\examples\\api\\index.js", + "/examples/api", + ), + ( + ".\\root\\", + "root\\examples\\api\\index.wasm", + "/examples/api", + ), + (".\\root\\", "root\\index.js", "/"), + (".\\root\\", "root\\index.wasm", "/"), + ]; + + for t in tests { + assert_eq!( + Route::retrieve_route(&Path::new(t.0), &PathBuf::from(t.1), ""), + String::from(t.2), + ) + } + } + + #[cfg(not(target_os = "windows"))] + #[test] + fn unix_route_path_retrieval() { + let tests = [ + // In a subfolder + (".", "examples/handler.js", "/examples/handler"), + (".", "examples/handler.wasm", "/examples/handler"), + // Multiple levels + (".", "examples/api/handler.js", "/examples/api/handler"), + (".", "examples/api/handler.wasm", "/examples/api/handler"), + // Root + (".", "handler.js", "/handler"), + (".", "handler.wasm", "/handler"), + // Now, with a different root + ("./root", "root/examples/handler.js", "/examples/handler"), + ("./root", "root/examples/handler.wasm", "/examples/handler"), + ( + "./root", + "root/examples/api/handler.js", + "/examples/api/handler", + ), + ( + "./root", + "root/examples/api/handler.wasm", + "/examples/api/handler", + ), + ("./root", "root/handler.js", "/handler"), + ("./root", "root/handler.wasm", "/handler"), + // A backslash should not change anything + ("./root/", "root/examples/handler.js", "/examples/handler"), + ("./root/", "root/examples/handler.wasm", "/examples/handler"), + ( + "./root/", + "root/examples/api/handler.js", + "/examples/api/handler", + ), + ( + "./root/", + "root/examples/api/handler.wasm", + "/examples/api/handler", + ), + ("./root/", "root/handler.js", "/handler"), + ("./root/", "root/handler.wasm", "/handler"), + ]; + + for t in tests { + assert_eq!( + Route::retrieve_route(Path::new(t.0), &PathBuf::from(t.1), ""), + String::from(t.2), + ) + } + } + + #[cfg(target_os = "windows")] + #[test] + fn win_route_path_retrieval() { + let tests = [ + // In a subfolder + (".", "examples/handler.js", "/examples/handler"), + (".", "examples/handler.wasm", "/examples/handler"), + // Multiple levels + (".", "examples/api/handler.js", "/examples/api/handler"), + (".", "examples/api/handler.wasm", "/examples/api/handler"), + // Root + (".", "handler.js", "/handler"), + (".", "handler.wasm", "/handler"), + // Now, with a different root + (".\\root", "root\\examples\\handler.js", "/examples/handler"), + ( + ".\\root", + "root\\examples\\handler.wasm", + "/examples/handler", + ), + ( + ".\\root", + "root\\examples\\api\\handler.js", + "/examples/api/handler", + ), + ( + ".\\root", + "root\\examples\\api\\handler.wasm", + "/examples/api/handler", + ), + (".\\root", "root\\handler.js", "/handler"), + (".\\root", "root\\handler.wasm", "/handler"), + // A backslash should not change anything + ( + ".\\root\\", + "root\\examples\\handler.js", + "/examples/handler", + ), + ( + ".\\root\\", + "root\\examples\\handler.wasm", + "/examples/handler", + ), + ( + ".\\root\\", + "root\\examples\\api\\handler.js", + "/examples/api/handler", + ), + ( + ".\\root\\", + "root\\examples\\api\\handler.wasm", + "/examples/api/handler", + ), + (".\\root\\", "root\\handler.js", "/handler"), + (".\\root\\", "root\\handler.wasm", "/handler"), + ]; + + for t in tests { + assert_eq!( + Route::retrieve_route(&Path::new(t.0), &PathBuf::from(t.1), ""), + String::from(t.2), + ) + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/_home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/_home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/_index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/_index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/_internal/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/_internal/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/_index/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/public/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/index/public/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/public.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/examples/public.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/public.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/public.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/public/home.ext b/examples/containers/wasm-workers-server/crates/router/tests/data/files/public/home.ext new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/router/tests/data/files/public/index.js b/examples/containers/wasm-workers-server/crates/router/tests/data/files/public/index.js new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/crates/runtimes/Cargo.toml b/examples/containers/wasm-workers-server/crates/runtimes/Cargo.toml new file mode 100644 index 00000000..f7d90b73 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "wws-runtimes" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +wasmtime-wasi = { workspace = true } +wws-config = { workspace = true } +wws-store = { workspace = true } +wws-project = { workspace = true } diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/lib.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/lib.rs new file mode 100644 index 00000000..3bf14594 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/lib.rs @@ -0,0 +1,74 @@ +//// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod modules; +mod runtime; + +use anyhow::{anyhow, Result}; +use modules::{external::ExternalRuntime, javascript::JavaScriptRuntime, native::NativeRuntime}; +use std::path::Path; +use wws_config::Config; + +pub use runtime::Runtime; + +// A collection of methods to manage runtimes + +/// Initializes a runtime based on the file extension. In the future, +/// This will contain a more complete struct that will identify local +/// runtimes. +pub fn init_runtime( + project_root: &Path, + path: &Path, + config: &Config, +) -> Result> { + if let Some(ext) = path.extension() { + let ext_as_str = ext.to_str().unwrap(); + + match ext_as_str { + "js" => Ok(Box::new(JavaScriptRuntime::new( + project_root, + path.to_path_buf(), + )?)), + "wasm" => Ok(Box::new(NativeRuntime::new(path.to_path_buf()))), + other => init_external_runtime(project_root, config, path, other), + } + } else { + Err(anyhow!("The given file does not have a valid extension")) + } +} + +/// Initialize an external runtime. It looks for the right runtime in the configuration +/// metadata. Then, it will init the runtime with it. +fn init_external_runtime( + project_root: &Path, + config: &Config, + path: &Path, + extension: &str, +) -> Result> { + let mut runtime_config = None; + let mut repo_name = ""; + let other_string = extension.to_string(); + + 'outer: for repo in &config.repositories { + for r in &repo.runtimes { + if r.extensions.contains(&other_string) { + runtime_config = Some(r); + repo_name = &repo.name; + break 'outer; + } + } + } + + if let Some(runtime_config) = runtime_config { + Ok(Box::new(ExternalRuntime::new( + project_root, + path.to_path_buf(), + repo_name, + runtime_config.clone(), + )?)) + } else { + Err(anyhow!(format!( + "The '{extension}' extension does not have an associated runtime" + ))) + } +} diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/modules/external.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/external.rs new file mode 100644 index 00000000..04770b0e --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/external.rs @@ -0,0 +1,106 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::runtime::Runtime; +use anyhow::Result; +use std::{ + fs, + path::{Path, PathBuf}, +}; +use wasmtime_wasi::{ambient_authority, Dir, WasiCtxBuilder}; +use wws_project::metadata::Runtime as RuntimeMetadata; +use wws_store::Store; + +/// Run language runtimes that were downloaded externally. This +/// runtime prepare the worker and configure the WASI context +/// based on the given metadata. +pub struct ExternalRuntime { + /// Path of the given module + path: PathBuf, + /// Utils to store temporary files for this runtime + store: Store, + /// Associated runtime metadata + metadata: RuntimeMetadata, + /// Runtime store to load different files + runtime_store: Store, +} + +impl ExternalRuntime { + /// Initializes the External runtime. This runtime will use + /// the associated metadata to properly prepare the worker + /// and the WASI environment + pub fn new( + project_root: &Path, + path: PathBuf, + repository: &str, + metadata: RuntimeMetadata, + ) -> Result { + let hash = Store::file_hash(&path)?; + // TODO: May move to a different folder strucuture when having multiple extensions? + let worker_folder = metadata.extensions.first().unwrap_or(&metadata.name); + let store = Store::create(project_root, &["workers", worker_folder, &hash])?; + let runtime_store = Store::new( + project_root, + &["runtimes", repository, &metadata.name, &metadata.version], + ); + + Ok(Self { + path, + store, + metadata, + runtime_store, + }) + } +} + +impl Runtime for ExternalRuntime { + /// Prepare the environment to run this specific worker. Since + /// the current folder received by argument may include multiple + /// files (workers), we use the Data struct to write the JS source + /// file into an isolated and separate folder. Then, we will mount + /// it during the [prepare_wasi_ctx] call. + fn prepare(&self) -> Result<()> { + let filename = format!("index.{}", self.metadata.extensions.first().unwrap()); + + // If wrapper, modify the worker and write the data + if let Some(wrapper) = &self.metadata.wrapper { + let wrapper_data = String::from_utf8(self.runtime_store.read(&[&wrapper.filename])?)?; + let source_data = fs::read_to_string(&self.path)?; + + self.store.write( + &[&filename], + wrapper_data.replace("{source}", &source_data).as_bytes(), + )?; + } else { + // If not, copy the worker + self.store.copy(&self.path, &[&filename])?; + } + + // Copy polyfills file if available + if let Some(polyfill) = &self.metadata.polyfill { + self.store.copy( + &self.runtime_store.build_folder_path(&[&polyfill.filename]), + &[&polyfill.filename], + )?; + } + + Ok(()) + } + + /// Mount the source code in the WASI context so it can be + /// processed by the engine + fn prepare_wasi_ctx(&self, builder: WasiCtxBuilder) -> Result { + let dir = Dir::open_ambient_dir(&self.store.folder, ambient_authority())?; + + Ok(builder + .preopened_dir(dir, "/src")? + .args(&self.metadata.args)?) + } + + /// Returns a reference to the Wasm module that should + /// run this worker. It can be a custom (native) or a + /// shared module (others). + fn module_bytes(&self) -> Result> { + self.runtime_store.read(&[&self.metadata.binary.filename]) + } +} diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/modules/javascript.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/javascript.rs new file mode 100644 index 00000000..baa41dc9 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/javascript.rs @@ -0,0 +1,59 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::runtime::Runtime; +use anyhow::Result; +use std::path::{Path, PathBuf}; +use wasmtime_wasi::{ambient_authority, Dir, WasiCtxBuilder}; +use wws_store::Store; + +static JS_ENGINE_WASM: &[u8] = + include_bytes!("../../../../kits/javascript/wasm-workers-quick-js-engine.wasm"); + +pub struct JavaScriptRuntime { + /// Path of the given module + path: PathBuf, + /// Utils to store temporary files for this runtime + store: Store, +} + +impl JavaScriptRuntime { + /// Initializes the JavaScript runtime. This runtime includes a + /// compiled QuickJS Wasm module. To run a worker, we need to + /// mount the JS file into /src/index.js and the runtime will + /// automatically pick and run it. We use the Data struct for + /// this purpose + pub fn new(project_root: &Path, path: PathBuf) -> Result { + let hash = Store::file_hash(&path)?; + let store = Store::create(project_root, &["workers", "js", &hash])?; + + Ok(Self { path, store }) + } +} + +impl Runtime for JavaScriptRuntime { + /// Prepare the environment to run this specific worker. Since + /// the current folder received by argument may include multiple + /// files (workers), we use the Data struct to write the JS source + /// file into an isolated and separate folder. Then, we will mount + /// it during the [prepare_wasi_ctx] call. + fn prepare(&self) -> Result<()> { + self.store.copy(&self.path, &["index.js"])?; + + Ok(()) + } + + /// Mount the source code in the WASI context so it can be + /// processed by the engine + fn prepare_wasi_ctx(&self, builder: WasiCtxBuilder) -> Result { + let dir = Dir::open_ambient_dir(&self.store.folder, ambient_authority())?; + Ok(builder.preopened_dir(dir, "/src")?) + } + + /// Returns a reference to the Wasm module that should + /// run this worker. It can be a custom (native) or a + /// shared module (others). + fn module_bytes(&self) -> Result> { + Ok(JS_ENGINE_WASM.to_vec()) + } +} diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/modules/mod.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/mod.rs new file mode 100644 index 00000000..2c53caaf --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/mod.rs @@ -0,0 +1,6 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub(crate) mod external; +pub(crate) mod javascript; +pub(crate) mod native; diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/modules/native.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/native.rs new file mode 100644 index 00000000..e945b412 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/modules/native.rs @@ -0,0 +1,27 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::runtime::Runtime; +use anyhow::Result; +use std::{fs, path::PathBuf}; + +pub struct NativeRuntime { + /// Path of the given module + path: PathBuf, +} + +impl NativeRuntime { + /// Initializes the given runtime + pub fn new(path: PathBuf) -> Self { + Self { path } + } +} + +impl Runtime for NativeRuntime { + /// Returns a reference to the Wasm module that should + /// run this worker. It can be a custom (native) or a + /// shared module (others). + fn module_bytes(&self) -> Result> { + fs::read(&self.path).map_err(anyhow::Error::msg) + } +} diff --git a/examples/containers/wasm-workers-server/crates/runtimes/src/runtime.rs b/examples/containers/wasm-workers-server/crates/runtimes/src/runtime.rs new file mode 100644 index 00000000..5f337ea3 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/runtimes/src/runtime.rs @@ -0,0 +1,32 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use anyhow::Result; +use wasmtime_wasi::WasiCtxBuilder; + +/// Define the behavior a Runtime must have. This includes methods +/// to initialize the environment for the given runtime as well as +/// the Wasi Context to process the request. +pub trait Runtime { + /// Allow a runtime to prepare the run environment if it's required. + /// This method is called when loading the different workers from the + /// filesystem. This method is only called once before the service + /// is ready to start processing requests. + fn prepare(&self) -> Result<()> { + Ok(()) + } + + /// Append the required properties to the given + /// WASI context builder. This allow runtimes to mount + /// specific lib folders, source code and adding + /// environment variables. + fn prepare_wasi_ctx(&self, builder: WasiCtxBuilder) -> Result { + Ok(builder) + } + + /// Returns a reference raw bytes of the Wasm module that should + /// run this worker. It can be directly the contents of the file + /// that was identified as a worker (.wasm / native) or a shared + /// runtime like JS or Python. + fn module_bytes(&self) -> Result>; +} diff --git a/examples/containers/wasm-workers-server/crates/server/Cargo.toml b/examples/containers/wasm-workers-server/crates/server/Cargo.toml new file mode 100644 index 00000000..96796e6d --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "wws-server" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +actix-web = { workspace = true } +wws-api-manage = { workspace = true } +wws-data-kv = { workspace = true } +wws-router = { workspace = true } +wws-worker = { workspace = true } +wws-panel = { workspace = true } +actix-files = "0.6.2" diff --git a/examples/containers/wasm-workers-server/crates/server/src/handlers/assets.rs b/examples/containers/wasm-workers-server/crates/server/src/handlers/assets.rs new file mode 100644 index 00000000..af2691ae --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/src/handlers/assets.rs @@ -0,0 +1,36 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use actix_files::NamedFile; +use actix_web::{web::Data, HttpRequest}; +use std::{ + io::{Error, ErrorKind}, + path::PathBuf, +}; + +/// Find a static HTML file in the `public` folder. This function is used +/// when there's no direct file to be served. It will look for certain patterns +/// like "public/{uri}/index.html" and "public/{uri}.html". +/// +/// If no file is present, it will try to get a default "public/404.html" +pub async fn handle_assets(req: &HttpRequest) -> Result { + let root_path = req.app_data::>().unwrap(); + let uri_path = req.path(); + + // File path. This is required for the wasm_handler as dynamic routes may capture static files + let file_path = root_path.join(format!("public{uri_path}")); + // A.k.a pretty urls. We may access /about and this matches to /about/index.html + let index_folder_path = root_path.join(format!("public{uri_path}/index.html")); + // Same as before, but the file is located at ./about.html + let html_ext_path = root_path.join(format!("public{uri_path}.html")); + + if file_path.exists() { + NamedFile::open_async(file_path).await + } else if uri_path.ends_with('/') && index_folder_path.exists() { + NamedFile::open_async(index_folder_path).await + } else if !uri_path.ends_with('/') && html_ext_path.exists() { + NamedFile::open_async(html_ext_path).await + } else { + Err(Error::new(ErrorKind::NotFound, "The file is not present")) + } +} diff --git a/examples/containers/wasm-workers-server/crates/server/src/handlers/mod.rs b/examples/containers/wasm-workers-server/crates/server/src/handlers/mod.rs new file mode 100644 index 00000000..a4e7752b --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/src/handlers/mod.rs @@ -0,0 +1,6 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod assets; +pub mod not_found; +pub mod worker; diff --git a/examples/containers/wasm-workers-server/crates/server/src/handlers/not_found.rs b/examples/containers/wasm-workers-server/crates/server/src/handlers/not_found.rs new file mode 100644 index 00000000..71e18095 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/src/handlers/not_found.rs @@ -0,0 +1,19 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use actix_files::NamedFile; +use actix_web::{web::Data, HttpRequest, HttpResponse}; +use std::path::PathBuf; + +/// This method tries to render a custom 404 error file from the static +/// folder. If not, it will render an empty 404 +pub async fn handle_not_found(req: &HttpRequest) -> HttpResponse { + let root_path = req.app_data::>().unwrap(); + let public_404_path = root_path.join("public").join("404.html"); + + if let Ok(file) = NamedFile::open_async(public_404_path).await { + file.into_response(req) + } else { + HttpResponse::NotFound().body("") + } +} diff --git a/examples/containers/wasm-workers-server/crates/server/src/handlers/worker.rs b/examples/containers/wasm-workers-server/crates/server/src/handlers/worker.rs new file mode 100644 index 00000000..75369e15 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/src/handlers/worker.rs @@ -0,0 +1,126 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use super::{assets::handle_assets, not_found::handle_not_found}; +use crate::DataConnectors; +use actix_web::{ + http::StatusCode, + web::{Bytes, Data}, + HttpRequest, HttpResponse, +}; +use std::{fs::File, io::Write, sync::RwLock}; +use wws_router::Routes; +use wws_worker::io::WasmOutput; + +/// Process an HTTP request by passing it to the right Runner. The Runner +/// will prepare the WASI environment and call the Wasm module with the data. +/// +/// Note that here we have to select the runner by checking the path. This +/// responsibility is duplicated as Actix already maps paths to handlers. +/// However, there are several reasons why this is reasonable in this project: +/// +/// - We fully control collisions when a request can be served by a parametrized +/// route. Actix will reply with the first handler that matches. However, users +/// cannot set the handlers manually, so we want to ensure a consistent behavior +/// - To map an actix path with a runner, we need to create factory service. Note +/// that Actix will create an instance per thread (worker), so Runners cannot be +/// shared. This will require multiple instances of the same Wasm module, so +/// the resource consumption will be increased. +/// +/// For these reasons, we are selecting the right handler at this point and not +/// allowing Actix to select it for us. +pub async fn handle_worker(req: HttpRequest, body: Bytes) -> HttpResponse { + let routes = req.app_data::>().unwrap(); + let stderr_file = req.app_data::>>().unwrap(); + let data_connectors = req + .app_data::>>() + .unwrap() + .clone(); + // We will improve error handling + let result: HttpResponse; + + // First, we need to identify the best suited route + let selected_route = routes.retrieve_best_route(req.path()); + + if let Some(route) = selected_route { + // First, check if there's an existing static file. Static assets have more priority + // than dynamic routes. However, I cannot set the static assets as the first service + // as it's captures everything. + if route.is_dynamic() { + if let Ok(existing_file) = handle_assets(&req).await { + return existing_file.into_response(&req); + } + } + + // Let's continue + let body_str = String::from_utf8(body.to_vec()).unwrap_or_else(|_| String::from("")); + + // Init from configuration + let vars = &route.worker.config.vars; + let kv_namespace = route.worker.config.data_kv_namespace(); + + let store = match &kv_namespace { + Some(namespace) => { + let connector = data_connectors.read().unwrap(); + let kv_store = connector.kv.find_store(namespace); + + kv_store.map(|store| store.clone()) + } + None => None, + }; + + let (handler_result, handler_success) = + match route + .worker + .run(&req, &body_str, store, vars, stderr_file.get_ref()) + { + Ok(output) => (output, true), + Err(error) => { + if let Some(stderr_file) = stderr_file.get_ref() { + if let Ok(mut stderr_file) = stderr_file.try_clone() { + stderr_file + .write_all(error.to_string().as_bytes()) + .expect("Failed to write error to stderr_file"); + } else { + eprintln!("{}", error); + } + } else { + eprintln!("{}", error); + } + (WasmOutput::failed(), false) + } + }; + + let mut builder = HttpResponse::build( + StatusCode::from_u16(handler_result.status).unwrap_or(StatusCode::OK), + ); + // Default content type + builder.insert_header(("Content-Type", "text/html")); + + for (key, val) in handler_result.headers.iter() { + // Note that QuickJS is replacing the "-" character + // with "_" on property keys. Here, we rollback it + builder.insert_header((key.replace('_', "-").as_str(), val.as_str())); + } + + // Write to the state if required + if handler_success && kv_namespace.is_some() { + data_connectors + .write() + .unwrap() + .kv + .replace_store(&kv_namespace.unwrap(), &handler_result.kv) + } + + result = match handler_result.body() { + Ok(res) => builder.body(res), + Err(_) => { + HttpResponse::ServiceUnavailable().body("There was an error running the worker") + } + } + } else { + result = handle_not_found(&req).await; + } + + result +} diff --git a/examples/containers/wasm-workers-server/crates/server/src/lib.rs b/examples/containers/wasm-workers-server/crates/server/src/lib.rs new file mode 100644 index 00000000..b211e55b --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/server/src/lib.rs @@ -0,0 +1,116 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod handlers; + +use actix_files::Files; +use actix_web::dev::{fn_service, Server, ServiceRequest, ServiceResponse}; +use actix_web::{ + middleware, + web::{self, Data}, + App, HttpServer, +}; +use anyhow::Result; +use handlers::assets::handle_assets; +use handlers::not_found::handle_not_found; +use handlers::worker::handle_worker; +use std::fs::OpenOptions; +use std::path::Path; +use std::sync::RwLock; +use wws_api_manage::config_manage_api_handlers; +use wws_data_kv::KV; +use wws_panel::config_panel_handlers; +use wws_router::Routes; + +#[derive(Default)] +pub(crate) struct DataConnectors { + kv: KV, +} + +/// Initializes an actix-web server based on the given configuration and +/// path. It will configure the different handlers to manage static +/// assets and workers. +pub async fn serve( + root_path: &Path, + base_routes: Routes, + hostname: &str, + port: u16, + panel: bool, + stderr: Option<&Path>, +) -> Result { + // Initializes the data connectors. For now, just KV + let data = Data::new(RwLock::new(DataConnectors::default())); + let routes = Data::new(base_routes); + let root_path = Data::new(root_path.to_owned()); + let stderr_file; + + // Configure stderr + if let Some(path) = stderr { + let file = OpenOptions::new().read(true).write(true).open(path)?; + + stderr_file = Data::new(Some(file)); + } else { + stderr_file = Data::new(None); + } + + let server = HttpServer::new(move || { + let mut app = App::new() + // enable logger + .wrap(middleware::Logger::default()) + // Clean path before sending it to the service + .wrap(middleware::NormalizePath::trim()) + .app_data(Data::clone(&routes)) + .app_data(Data::clone(&data)) + .app_data(Data::clone(&root_path)) + .app_data(Data::clone(&stderr_file)); + + // Configure panel + if panel { + app = app.configure(config_panel_handlers); + app = app.configure(config_manage_api_handlers); + } + + // Append routes to the current service + for route in routes.routes.iter() { + app = app.service(web::resource(route.actix_path()).to(handle_worker)); + + // Configure KV + if let Some(namespace) = route.worker.config.data_kv_namespace() { + data.write().unwrap().kv.create_store(&namespace); + } + } + + // Serve static files from the static folder + let mut static_prefix = routes.prefix.clone(); + if static_prefix.is_empty() { + static_prefix = String::from("/"); + } + + app = app.service( + Files::new(&static_prefix, root_path.join("public")) + .index_file("index.html") + // This handler check if there's an HTML file in the public folder that + // can reply to the given request. For example, if someone request /about, + // this handler will look for a /public/about.html file. + .default_handler(fn_service(|req: ServiceRequest| async { + let (req, _) = req.into_parts(); + + match handle_assets(&req).await { + Ok(existing_file) => { + let res = existing_file.into_response(&req); + Ok(ServiceResponse::new(req, res)) + } + Err(_) => { + let res = handle_not_found(&req).await; + Ok(ServiceResponse::new(req, res)) + } + } + })), + ); + + app + }) + .bind(format!("{}:{}", hostname, port))?; + + Ok(server.run()) +} diff --git a/examples/containers/wasm-workers-server/crates/store/Cargo.toml b/examples/containers/wasm-workers-server/crates/store/Cargo.toml new file mode 100644 index 00000000..d7e51f59 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/store/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "wws-store" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[dependencies] +anyhow = { workspace = true } +blake3 = "1.3.3" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/crates/store/src/lib.rs b/examples/containers/wasm-workers-server/crates/store/src/lib.rs new file mode 100644 index 00000000..1ccb1414 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/store/src/lib.rs @@ -0,0 +1,124 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Define a common place to store the data associated to the +// user project. wws requires to install runtimes, create +// temporary files with workers metadata, etc. +// +// This struct provide the basics to interact with that folder +// in both Unix and Windows systems. +use anyhow::{anyhow, Result}; +use std::{ + fs, + path::{Path, PathBuf}, +}; + +/// This is a temporary folder in which runtimes can prepare +/// and store certain data. For example, the JS runtime have +/// to mount a folder with the source code. To avoid mounā€ ing +/// a folder that may include multiple files, it stores in +/// .wws/js/XXX/index.js the worker file. +pub const STORE_FOLDER: &str = ".wws"; + +/// Struct to initialize, create and interact with files inside +/// the store. All paths are considered &[&str] to ensure we +/// generate the paths properly on Windows and Unix. +pub struct Store { + /// The base folder for this instance. Every time we initialize + /// a store, it will ensure all the files are scoped to the given + /// folder. + pub folder: PathBuf, +} + +impl Store { + /// Instance a new store. If you want to create the root folder, check [#create]. + /// The root path is used to scope the files inside the STORE_FOLDER folder. Note + /// other methods may fail if you don't create the folder. + pub fn new(project_root: &Path, folder: &[&str]) -> Self { + let folder = Self::build_root_path(project_root, folder); + + Self { folder } + } + + /// Instance a new store and creates the root folder. The root path is + /// used to scope the files inside the STORE_FOLDER folder. + pub fn create(project_root: &Path, folder: &[&str]) -> Result { + let folder = Self::build_root_path(project_root, folder); + + // Try to create the directory + fs::create_dir_all(&folder)?; + + Ok(Self { folder }) + } + + /// Create the root folder for the current context + pub fn create_root_folder(&self) -> Result<()> { + fs::create_dir_all(&self.folder) + .map_err(|err| anyhow!("There was an error creating the a required folder: {}", err)) + } + + /// Delete the root folder from the current context + pub fn delete_root_folder(&self) -> Result<()> { + if self.folder.exists() { + fs::remove_dir_all(&self.folder) + .map_err(|err| anyhow!("There was an error deleting the folder: {}", err)) + } else { + Ok(()) + } + } + + /// Check if the given file path exists in the current context + pub fn check_file(&self, path: &[&str]) -> bool { + self.build_folder_path(path).exists() + } + + /// Write a specific file inside the configured root folder + pub fn write(&self, path: &[&str], contents: &[u8]) -> Result<()> { + let file_path = self.build_folder_path(path); + fs::write(file_path, contents)?; + + Ok(()) + } + + /// Read the file content in the given store + pub fn read(&self, path: &[&str]) -> Result> { + let file_path = self.build_folder_path(path); + fs::read(&file_path).map_err(|err| { + anyhow!( + "There was an error reading the {} file: {}", + &file_path.display(), + err + ) + }) + } + + /// Copy file inside the configured root folder + pub fn copy(&self, source: &Path, dest: &[&str]) -> Result<()> { + let file_path = self.build_folder_path(dest); + fs::copy(source, file_path)?; + + Ok(()) + } + + /// This method builds a path in the context of the instance folder + pub fn build_folder_path(&self, source: &[&str]) -> PathBuf { + source + .iter() + .fold(self.folder.clone(), |acc, comp| acc.join(comp)) + } + + /// Generate a file hash based on the blake3 implementation + pub fn file_hash(path: &Path) -> Result { + let content = fs::read(path)?; + + Ok(blake3::hash(&content).to_string()) + } + + /// Build a valid path for multiple platforms. It takes advantages of the + /// Path methods + fn build_root_path(root: &Path, source: &[&str]) -> PathBuf { + source + .iter() + .fold(root.join(STORE_FOLDER), |acc, comp| acc.join(comp)) + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/Cargo.toml b/examples/containers/wasm-workers-server/crates/worker/Cargo.toml new file mode 100644 index 00000000..5f7495eb --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "wws-worker" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[lib] +doctest = false + +[dependencies] +actix-web = { workspace = true } +anyhow = { workspace = true } +reqwest = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +tokio = { workspace = true } +toml = { workspace = true } +wasmtime = { workspace = true } +wasmtime-wasi = { workspace = true } +wasi-common = { workspace = true } +wws-config = { workspace = true } +wws-data-kv = { workspace = true } +wws-runtimes = { workspace = true } +# We didn't integrate components yet. For an initial binding implementation, +# we will use the wit-bindgen-wasmtime crate maintained by the Fermyon team. +wit-bindgen-wasmtime = { git = "https://github.com/fermyon/wit-bindgen-backport", rev = "b89d5079ba5b07b319631a1b191d2139f126c976" } +base64 = "0.21.0" +sha256 = "1.1.1" diff --git a/examples/containers/wasm-workers-server/crates/worker/src/bindings/http.rs b/examples/containers/wasm-workers-server/crates/worker/src/bindings/http.rs new file mode 100644 index 00000000..cfe316cb --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/bindings/http.rs @@ -0,0 +1,172 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::features::http_requests::HttpRequestsConfig; +use actix_web::http::Uri; +use reqwest::Method; +use tokio::runtime::Builder; + +// Implement the HTTP bindings for the workers. +wit_bindgen_wasmtime::export!({paths: ["../../wit/core/http.wit"]}); +use http::{Http, HttpError, HttpMethod, HttpRequest, HttpRequestError, HttpResponse}; + +pub use http::add_to_linker; + +pub struct HttpBindings { + pub http_config: HttpRequestsConfig, +} + +/// Implement the conversion between HttpMethod and +/// http::Method +impl From for reqwest::Method { + fn from(value: HttpMethod) -> Self { + match value { + HttpMethod::Get => Method::GET, + HttpMethod::Post => Method::POST, + HttpMethod::Put => Method::PUT, + HttpMethod::Patch => Method::PATCH, + HttpMethod::Delete => Method::DELETE, + HttpMethod::Options => Method::OPTIONS, + HttpMethod::Head => Method::HEAD, + } + } +} + +/// Map the reqwest error to a known http-error +/// HttpError comes from the HTTP bindings +impl From for HttpError { + fn from(value: reqwest::Error) -> Self { + if value.is_timeout() { + HttpError::Timeout + } else if value.is_redirect() { + HttpError::RedirectLoop + } else if value.is_request() { + HttpError::InvalidRequest + } else if value.is_body() { + HttpError::InvalidRequestBody + } else if value.is_decode() { + HttpError::InvalidResponseBody + } else { + HttpError::InternalError + } + } +} + +impl Http for HttpBindings { + fn send_http_request( + &mut self, + req: HttpRequest<'_>, + ) -> Result { + // Create local variables from the request + let mut headers = Vec::new(); + let url = req.uri.to_string(); + let body = req.body.unwrap_or(&[]).to_vec(); + let uri = url.parse::().map_err(|e| HttpRequestError { + error: HttpError::InvalidRequest, + message: e.to_string(), + })?; + let method: Method = req.method.into(); + + // Check if the request is allowed + if uri.host().is_some() + && !self + .http_config + .allowed_hosts + .contains(&uri.host().unwrap().to_string()) + { + return Err(HttpRequestError { + error: HttpError::NotAllowed, + message: format!( + "The host '{}' is not allowed for this worker. Please, update the worker configuration.", + uri.host().unwrap() + ), + }); + } + + if uri.scheme().is_some() + && (!self.http_config.allow_http && uri.scheme_str().unwrap() == "http") + { + return Err(HttpRequestError { + error: HttpError::NotAllowed, + message: + "The URI must use HTTPS. You can allow http requests in the worker configuration".to_string() + }); + } + + if !self + .http_config + .allowed_methods + .contains(&method.to_string()) + { + return Err(HttpRequestError { + error: HttpError::NotAllowed, + message: + format!("The method '{}' is not allowed for this worker. Please, update the configuration.", method.as_str()) + }); + } + + for (key, value) in req.headers { + headers.push((key.to_string(), value.to_string())); + } + + // Run the request in an async thread + let thread_result = std::thread::spawn(move || { + Builder::new_current_thread() + .enable_all() + .build() + .unwrap() + .block_on(async { + let client = reqwest::Client::new(); + + let mut builder = client.request(method, url); + + for (key, value) in headers { + builder = builder.header(key, value); + } + + builder = builder.body(body); + + match builder.send().await { + Ok(res) => { + let mut headers = Vec::new(); + let status = res.status().as_u16(); + + for (name, value) in res.headers().iter() { + headers + .push((name.to_string(), value.to_str().unwrap().to_string())); + } + + let body = res.bytes().await; + + Ok(HttpResponse { + headers, + status, + body: Some(body.unwrap().to_vec()), + }) + } + Err(e) => { + let message = e.to_string(); + + // Manage the different possible errors from Reqwest + Err(HttpRequestError { + error: e.into(), + message, + }) + } + } + }) + }) + .join(); + + match thread_result { + Ok(res) => match res { + Ok(res) => Ok(res), + Err(err) => Err(err), + }, + Err(_) => Err(HttpRequestError { + error: HttpError::InternalError, + message: "There was an error processing the request on the host side.".to_string(), + }), + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/bindings/mod.rs b/examples/containers/wasm-workers-server/crates/worker/src/bindings/mod.rs new file mode 100644 index 00000000..54281d22 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/bindings/mod.rs @@ -0,0 +1,4 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod http; diff --git a/examples/containers/wasm-workers-server/crates/worker/src/config.rs b/examples/containers/wasm-workers-server/crates/worker/src/config.rs new file mode 100644 index 00000000..f2a6763b --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/config.rs @@ -0,0 +1,116 @@ +// Copyright 2022-2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::features::http_requests::HttpRequestsConfig; +use crate::features::{data::ConfigData, folders::Folder}; +use anyhow::{anyhow, Result}; +use serde::{Deserialize, Deserializer}; +use std::collections::HashMap; +use std::path::PathBuf; +use std::{env, fs}; +use toml::from_str; +use wws_data_kv::KVConfigData; + +/// List all available features for a worker +#[derive(Deserialize, Clone, Default)] +pub struct Features { + /// Allow to perform http requests from a worker + pub http_requests: HttpRequestsConfig, +} + +/// Workers configuration. These files are optional when no configuration change is required. +#[derive(Deserialize, Clone, Default)] +pub struct Config { + /// Worker name. For logging purposes + pub name: Option, + /// Mandatory version of the file + pub version: String, + /// List of features. By default, all will be inactive + #[serde(default)] + pub features: Features, + /// Optional data configuration + pub data: Option, + /// Optional folders + pub folders: Option>, + /// Optional environment configuration + #[serde(deserialize_with = "read_environment_variables", default)] + pub vars: HashMap, +} + +impl Config { + /// Try to read the configuration from a TOML file. The path contains the local path + /// to the worker configuration. The file should use the same name as the worker, + /// with the .toml extension + /// + /// # Examples + /// + /// ``` + /// name = "todos" + /// version = "1" + /// + /// [data] + /// + /// [data.kv] + /// namespace = "todos" + /// ``` + pub fn try_from_file(path: PathBuf) -> Result { + let contents = fs::read_to_string(&path)?; + + let try_config: Result = from_str(&contents); + + match try_config { + Ok(c) => Ok(c), + Err(err) => Err(anyhow!( + "Error reading the configuration file at {}: {}", + &path.to_str().unwrap_or("?"), + err + )), + } + } + + /// Returns a data Key/Value configuration if available + pub fn data_kv_config(&self) -> Option<&KVConfigData> { + self.data.as_ref()?.kv.as_ref() + } + + /// Returns the data Key/Value namespace if available + pub fn data_kv_namespace(&self) -> Option { + Some(self.data_kv_config()?.namespace.clone()) + } +} + +/// Deserialize the HashMap of variables. By default, this +/// function won't modify the K or the V of the HashMap. If +/// V starts with $, its value will be read from the server +/// environment variables +fn read_environment_variables<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + let result: Result>, D::Error> = + Deserialize::deserialize(deserializer); + + match result { + Ok(value) => match value { + Some(mut options) => { + for (_, value) in options.iter_mut() { + // Read the value from the environment variables if available. + // If not, it will default to an empty string + if value.starts_with('$') && !value.contains(' ') { + // Remove the $ + value.remove(0); + + match env::var(&value) { + Ok(env_value) => *value = env_value, + Err(_) => *value = String::new(), + } + } + } + + Ok(options) + } + None => Ok(HashMap::new()), + }, + Err(err) => Err(err), + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/features/data.rs b/examples/containers/wasm-workers-server/crates/worker/src/features/data.rs new file mode 100644 index 00000000..d8c9da78 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/features/data.rs @@ -0,0 +1,12 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use serde::Deserialize; +use wws_data_kv::KVConfigData; + +/// Configure a data plugin for the worker +#[derive(Deserialize, Clone, Default)] +pub struct ConfigData { + /// Creates a Key/Value store associated to the given worker + pub kv: Option, +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/features/folders.rs b/examples/containers/wasm-workers-server/crates/worker/src/features/folders.rs new file mode 100644 index 00000000..3b4b906b --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/features/folders.rs @@ -0,0 +1,43 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use serde::{Deserialize, Deserializer}; +use std::path::PathBuf; + +/// A folder to mount in the worker +#[derive(Deserialize, Clone, Default)] +pub struct Folder { + /// Local folder + #[serde(deserialize_with = "deserialize_path", default)] + pub from: PathBuf, + /// Mount point + pub to: String, +} + +/// Deserialize a valid path for the given platform. This method checks and +/// split the path by the different separators and join the final path +/// using the current OS requirements. +fn deserialize_path<'de, D>(deserializer: D) -> Result +where + D: Deserializer<'de>, +{ + let result: Result = Deserialize::deserialize(deserializer); + + match result { + Ok(value) => { + let split = if value.contains('/') { + // Unix separator + value.split('/') + } else { + // Windows separator + value.split('\\') + }; + + Ok(split.fold(PathBuf::new(), |mut acc, el| { + acc.push(el); + acc + })) + } + Err(err) => Err(err), + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/features/http_requests.rs b/examples/containers/wasm-workers-server/crates/worker/src/features/http_requests.rs new file mode 100644 index 00000000..89a68974 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/features/http_requests.rs @@ -0,0 +1,31 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use serde::Deserialize; + +#[derive(Deserialize, Clone)] +#[serde(default)] +pub struct HttpRequestsConfig { + /// List of allowed domains to perform the calls + pub allowed_hosts: Vec, + /// List of allowed HTTP methods for the worker + pub allowed_methods: Vec, + /// Allow HTTP requests + pub allow_http: bool, +} + +impl Default for HttpRequestsConfig { + fn default() -> Self { + Self { + allowed_hosts: Vec::default(), + allowed_methods: Vec::from([ + String::from("GET"), + String::from("POST"), + String::from("PUT"), + String::from("PATCH"), + String::from("DELETE"), + ]), + allow_http: false, + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/features/mod.rs b/examples/containers/wasm-workers-server/crates/worker/src/features/mod.rs new file mode 100644 index 00000000..b510ab48 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/features/mod.rs @@ -0,0 +1,6 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod data; +pub mod folders; +pub mod http_requests; diff --git a/examples/containers/wasm-workers-server/crates/worker/src/io.rs b/examples/containers/wasm-workers-server/crates/worker/src/io.rs new file mode 100644 index 00000000..b126fa5a --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/io.rs @@ -0,0 +1,134 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use actix_web::{ + http::{header::HeaderMap, StatusCode}, + HttpRequest, +}; +use anyhow::Result; +use base64::{engine::general_purpose, Engine as _}; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +/// JSON input for wasm modules. This information is passed via STDIN / WASI +/// to the module. +#[derive(Serialize, Deserialize)] +pub struct WasmInput<'a> { + /// Request full URL + url: &'a str, + /// Request method + method: &'a str, + /// Request headers + headers: HashMap, + /// Request body + body: &'a str, + /// Key / Value store content if available + kv: HashMap, + /// The list of parameters in the URL + params: HashMap, +} + +impl<'a> WasmInput<'a> { + /// Generates a new struct to pass the data to wasm module. It's based on the + /// HttpRequest, body and the Key / Value store (if available) + pub fn new( + request: &'a HttpRequest, + body: &'a str, + kv: Option>, + ) -> Self { + let mut params = HashMap::new(); + + for (k, v) in request.match_info().iter() { + params.insert(k.to_string(), v.to_string()); + } + + let url = match request.uri().path_and_query() { + Some(path) => path.as_str(), + None => request.uri().path(), + }; + + Self { + url, + method: request.method().as_str(), + headers: Self::build_headers_hash(request.headers()), + body, + kv: kv.unwrap_or_default(), + params, + } + } + + /// Create HashMap from a HeadersMap + fn build_headers_hash(headers: &HeaderMap) -> HashMap { + let mut parsed_headers = HashMap::new(); + + for (key, value) in headers.iter() { + parsed_headers.insert( + String::from(key.as_str()), + String::from(value.to_str().unwrap()), + ); + } + + parsed_headers + } +} + +/// JSON output from a wasm module. This information is passed via STDOUT / WASI +/// from the module. +#[derive(Deserialize, Debug)] +pub struct WasmOutput { + /// Response headers + pub headers: HashMap, + /// Response HTTP status + pub status: u16, + /// New state of the K/V store if available + pub kv: HashMap, + /// Response body data + data: String, + /// Internal value to indicate if the body is base64 encoded + #[serde(default = "default_base64_encoding")] + base64: bool, +} + +fn default_base64_encoding() -> bool { + false +} + +impl WasmOutput { + /// Initializes a new WasmOutput object + pub fn new( + body: &str, + headers: HashMap, + status: u16, + kv: HashMap, + ) -> Self { + Self { + data: String::from(body), + base64: false, + headers, + status, + kv, + } + } + + /// Build a default WasmOutput for a failed run. It will + /// return a generic error message and the proper 503 + /// status code + pub fn failed() -> Self { + Self::new( + "

There was an error running this function

", + HashMap::from([("content-type".to_string(), "text/html".to_string())]), + StatusCode::SERVICE_UNAVAILABLE.as_u16(), + HashMap::new(), + ) + } + + /// Return the content body as bytes. It will automatically + /// decode the data if the base64 flag is enabled. + pub fn body(&self) -> Result> { + if self.base64 { + Ok(general_purpose::STANDARD.decode(&self.data)?) + } else { + Ok(self.data.as_bytes().into()) + } + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/lib.rs b/examples/containers/wasm-workers-server/crates/worker/src/lib.rs new file mode 100644 index 00000000..0d897129 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/lib.rs @@ -0,0 +1,168 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod bindings; +pub mod config; +pub mod features; +pub mod io; +mod stdio; + +use actix_web::HttpRequest; +use anyhow::{anyhow, Result}; +use bindings::http::{add_to_linker as http_add_to_linker, HttpBindings}; +use config::Config; +use io::{WasmInput, WasmOutput}; +use sha256::digest as sha256_digest; +use std::fs::{self, File}; +use std::path::PathBuf; +use std::{collections::HashMap, path::Path}; +use stdio::Stdio; +use wasi_common::WasiCtx; +use wasmtime::{Engine, Linker, Module, Store}; +use wasmtime_wasi::{ambient_authority, Dir, WasiCtxBuilder}; +use wws_config::Config as ProjectConfig; +use wws_runtimes::{init_runtime, Runtime}; + +/// A worker contains the engine and the associated runtime. +/// This struct will process requests by preparing the environment +/// with the runtime and running it in Wasmtime +pub struct Worker { + /// Worker identifier + pub id: String, + /// Wasmtime engine to run this worker + engine: Engine, + /// Wasm Module + module: Module, + /// Worker runtime + runtime: Box, + /// Current config + pub config: Config, + /// The worker filepath + path: PathBuf, +} + +struct WorkerState { + pub wasi: WasiCtx, + pub http: HttpBindings, +} + +impl Worker { + /// Creates a new Worker + pub fn new(project_root: &Path, path: &Path, project_config: &ProjectConfig) -> Result { + // Compute the identifier + let id = sha256_digest(project_root.join(path).to_string_lossy().as_bytes()); + + // Load configuration + let mut config_path = path.to_path_buf(); + config_path.set_extension("toml"); + let mut config = Config::default(); + + if fs::metadata(&config_path).is_ok() { + match Config::try_from_file(config_path) { + Ok(c) => config = c, + Err(e) => { + eprintln!("Error loading the worker configuration: {}", e); + } + } + } + + let engine = Engine::default(); + let runtime = init_runtime(project_root, path, project_config)?; + let bytes = runtime.module_bytes()?; + let module = Module::from_binary(&engine, &bytes)?; + + // Prepare the environment if required + runtime.prepare()?; + + Ok(Self { + id, + engine, + module, + runtime, + config, + path: path.to_path_buf(), + }) + } + + pub fn run( + &self, + request: &HttpRequest, + body: &str, + kv: Option>, + vars: &HashMap, + stderr: &Option, + ) -> Result { + let input = serde_json::to_string(&WasmInput::new(request, body, kv)).unwrap(); + + // Prepare the stderr file if present + let stderr_file; + + if let Some(file) = stderr { + stderr_file = Some(file.try_clone()?); + } else { + stderr_file = None; + } + + // Initialize stdio and configure it + let stdio = Stdio::new(&input, stderr_file); + + let mut linker = Linker::new(&self.engine); + + http_add_to_linker(&mut linker, |s: &mut WorkerState| &mut s.http)?; + wasmtime_wasi::add_to_linker(&mut linker, |s: &mut WorkerState| &mut s.wasi)?; + + // I have to use `String` as it's required by WasiCtxBuilder + let tuple_vars: Vec<(String, String)> = + vars.iter().map(|(k, v)| (k.clone(), v.clone())).collect(); + + // Create the initial WASI context + let mut wasi_builder = WasiCtxBuilder::new().envs(&tuple_vars)?; + + // Configure the stdio + wasi_builder = stdio.configure_wasi_ctx(wasi_builder); + + // Mount folders from the configuration + if let Some(folders) = self.config.folders.as_ref() { + for folder in folders { + if let Some(base) = &self.path.parent() { + let dir = Dir::open_ambient_dir(base.join(&folder.from), ambient_authority())?; + wasi_builder = wasi_builder.preopened_dir(dir, &folder.to)?; + } else { + // TODO: Revisit error management on #73 + return Err(anyhow!("The worker couldn't be initialized")); + } + } + } + + // Pass to the runtime to add any WASI specific requirement + wasi_builder = self.runtime.prepare_wasi_ctx(wasi_builder)?; + + let wasi = wasi_builder.build(); + let state = WorkerState { + wasi, + http: HttpBindings { + http_config: self.config.features.http_requests.clone(), + }, + }; + let mut store = Store::new(&self.engine, state); + + linker.module(&mut store, "", &self.module)?; + linker + .get_default(&mut store, "")? + .typed::<(), ()>(&store)? + .call(&mut store, ())?; + + drop(store); + + let contents: Vec = stdio + .stdout + .try_into_inner() + .map_err(|_err| anyhow::Error::msg("Nothing to show"))? + .into_inner(); + + // Build the output + let output: WasmOutput = serde_json::from_slice(&contents)?; + + Ok(output) + } +} diff --git a/examples/containers/wasm-workers-server/crates/worker/src/stdio.rs b/examples/containers/wasm-workers-server/crates/worker/src/stdio.rs new file mode 100644 index 00000000..49b94da7 --- /dev/null +++ b/examples/containers/wasm-workers-server/crates/worker/src/stdio.rs @@ -0,0 +1,56 @@ +use std::{fs::File, io::Cursor}; +use wasi_common::pipe::{ReadPipe, WritePipe}; +use wasmtime_wasi::WasiCtxBuilder; + +/// A library to configure the stdio of the WASI context. +/// Note that currently, wws relies on stdin and stdout +/// to send and read data from the worker. +/// +/// The stderr is configurable just to cover use cases in which +/// wws is used as a library and we want to expose the logs +/// +/// @see https://github.com/vmware-labs/wasm-workers-server/issues/125 +/// +/// The stdin/stdout approach will change in the future with +/// a more performant and appropiate way. +pub struct Stdio { + /// Defines the stdin ReadPipe to send the data to the module + pub stdin: ReadPipe>, + /// Defines the stdout to extract the data from the module + pub stdout: WritePipe>>, + /// Defines the stderr to expose logs from inside the module + pub stderr: Option>, +} + +impl Stdio { + /// Initialize the stdio. The stdin will contain the input data. + pub fn new(input: &str, stderr_file: Option) -> Self { + let stderr; + + if let Some(file) = stderr_file { + stderr = Some(WritePipe::new(file)); + } else { + stderr = None + } + + Self { + stdin: ReadPipe::from(input), + stdout: WritePipe::new_in_memory(), + stderr, + } + } + + pub fn configure_wasi_ctx(&self, builder: WasiCtxBuilder) -> WasiCtxBuilder { + let builder = builder + .stdin(Box::new(self.stdin.clone())) + .stdout(Box::new(self.stdout.clone())); + + // Set stderr if it was previously configured. If not, inherit + // it from the environment + if let Some(pipe) = self.stderr.clone() { + builder.stderr(Box::new(pipe)) + } else { + builder.inherit_stderr() + } + } +} diff --git a/examples/containers/wasm-workers-server/deny.toml b/examples/containers/wasm-workers-server/deny.toml new file mode 100644 index 00000000..d96e57ef --- /dev/null +++ b/examples/containers/wasm-workers-server/deny.toml @@ -0,0 +1,90 @@ +# Here you can find the related documentation: +# https://embarkstudios.github.io/cargo-deny/index.html + +# Specify the targets we're building for, so dependencies that are specific +# for other targets are ignored. +targets = [ + { triple = "x86_64-unknown-linux-musl" }, + { triple = "aarch64-unknown-linux-musl" }, + { triple = "x86_64-apple-darwin" }, + { triple = "aarch64-apple-darwin" }, + { triple = "x86_64-pc-windows-msvc" }, + { triple = "aarch64-pc-windows-msvc" }, +] + +# I'm excluding these packages as cargo deny is failing due to a missing license +# in the package definition [1]. The project license is Apache-2.0 as stated in the +# LICENSE file [2]. +# +# I tried to use a license.clarify option to better document this [3]. However, this +# option requires to specify the LICENSE file you're pointing to. Since the crate doesn't +# include the LICENSE file (it's part of the cargo workspace), it cannot find it [4]. +# +# For these reasons I added them as excluded packages for now. I introduced this +# exception on https://github.com/vmware-labs/wasm-workers-server/pull/168. +# +# - [1] https://github.com/fermyon/wit-bindgen-backport/blob/b89d5079ba5b07b319631a1b191d2139f126c976/crates/wasmtime-impl/Cargo.toml +# - [2] https://github.com/fermyon/wit-bindgen-backport/blob/b89d5079ba5b07b319631a1b191d2139f126c976/LICENSE +# - [3] https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html#the-clarify-field-optional +# - [4] https://github.com/EmbarkStudios/cargo-deny/issues/373 +exclude = [ + "wit-parser", + "wit-bindgen-wasmtime-impl", + "wit-bindgen-wasmtime", + "wit-bindgen-gen-wasmtime", + "wit-bindgen-gen-rust", + "wit-bindgen-gen-core" +] + +# More documentation for the advisories section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html +[advisories] +vulnerability = "deny" +unmaintained = "warn" +yanked = "warn" +notice = "warn" +# A list of advisory IDs to ignore. +ignore = [ + #"RUSTSEC-0000-0000", +] + +# More documentation for the licenses section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html +[licenses] +# The lint level for crates which do not have a detectable license +unlicensed = "deny" +copyleft = "deny" +# List of explicitly allowed licenses +allow = [ + "Apache-2.0", + "Apache-2.0 WITH LLVM-exception", + "BSD-2-Clause", + "BSD-3-Clause", + "ISC", + "MIT", + "MPL-2.0", + "Unicode-DFS-2016", + "Zlib" +] + +# More documentation about the 'bans' section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html +[bans] +# In the future we will work on enabling just only certain +# duplicated versions +multiple-versions = "warn" +# List of crates to deny +deny = [ + # Each entry the name of a crate and a version range. If version is + # not specified, all versions will be matched. + #{ name = "ansi_term", version = "=0.11.0" }, + # + # Wrapper crates can optionally be specified to allow the crate when it + # is a direct dependency of the otherwise banned crate + #{ name = "ansi_term", version = "=0.11.0", wrappers = [] }, +] + +# Certain crates/versions that will be skipped when doing duplicate detection. +skip = [ + #{ name = "ansi_term", version = "=0.11.0" }, +] diff --git a/examples/containers/wasm-workers-server/docs/.gitignore b/examples/containers/wasm-workers-server/docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/examples/containers/wasm-workers-server/docs/README.md b/examples/containers/wasm-workers-server/docs/README.md new file mode 100644 index 00000000..f7a3d821 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/README.md @@ -0,0 +1,23 @@ +# Documentation + +The Wasm Workers Server documentation is developed with [Docusaurus](https://docusaurus.io/). + +## Edit the documentation + +### Prerequisites + +You will need: + +- [NodeJS](https://nodejs.org/) + +### Development + +To start the documentation development server, run these commands: + +```sh +cd docs && \ + npm install && \ + npm start +``` + +Then, you can access the documentation site at . \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/babel.config.js b/examples/containers/wasm-workers-server/docs/babel.config.js new file mode 100644 index 00000000..e00595da --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/examples/containers/wasm-workers-server/docs/docs/containers.md b/examples/containers/wasm-workers-server/docs/docs/containers.md new file mode 100644 index 00000000..d9feaa71 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/containers.md @@ -0,0 +1,26 @@ +--- +sidebar_position: 5 +--- + +# Running in a container + +For convenience we have published a container image that contains Wasm Workers Server. It is available at `ghcr.io/vmware-labs/wws:latest`. Any container that runs it will get the `wws` binary, running and: + + - Looking for workers in the `/app` folder + - Listening on `0.0.0.0:8080` inside the container + +The image is built from `scratch`. It only includes the `wws` binary. The container supports multiple architectures: `linux/amd64` and `linux/arm64` platforms. The image size is just `27MiB`. + +## Running a local container + +A typical one-liner to run a local container for development purposes would look like: + +```bash +docker run -v /path/to/workers/on/host:/app -p 8080:8080 \ + ghcr.io/vmware-labs/wws:latest +``` + +## Other usages + +Wasm Workers Server is stateless as far as the loaded handers are stateless (i.e. when they don't use the [Key / Value store](./features/key-value.md)). This makes the image very useful if you want to setup your own auto-scaling deployment. + diff --git a/examples/containers/wasm-workers-server/docs/docs/features/_category_.json b/examples/containers/wasm-workers-server/docs/docs/features/_category_.json new file mode 100644 index 00000000..f2c10da4 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Features", + "position": 2, + "link": { + "type": "doc", + "id": "all" + } +} diff --git a/examples/containers/wasm-workers-server/docs/docs/features/all.md b/examples/containers/wasm-workers-server/docs/docs/features/all.md new file mode 100644 index 00000000..7b9b120a --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/all.md @@ -0,0 +1,38 @@ +# Features + +Wasm Workers Server provides different features to develop serverless applications. Some of these features are related to the server like the static asset management, while others relate to workers like sending HTTP requests. + +For that reason, we usually distinguish between server and worker features: + +* **Server features**: customizes or expands Wasm Worker Server capabilities. For example, you can expose static assets by saving these files in a `public` folder. + +* **Worker features**: expose new features to the individual workers so they can perform more complex tasks. For example, workers can access to a K/V store or use environment variables. + +## Available features + +### Server + +* [Static assets management](./static-assets.md) +* [Multiple language runtimes](./multiple-language-runtimes.md) + +### Workers + +* [Key / Value store](./key-value.md) +* [HTTP Requests (fetch)](./http-requests.md) +* [Dynamic routes](./dynamic-routes.md) +* [Environment variables](./environment-variables.md) +* [Mount folders](./mount-folders.md) + +## Language compatibility + +You can develop workers in different languages. However, not all of them support all features. **The goal is to support all of them**, although there are some constraints that make some features more complex to implement in certain languages. + +The following table shows the language compatibility for the different worker functions: + +| Language | K/V Store | Environment Variables | Dynamic Routes | Folders | HTTP Requests | +| --- | --- | --- | --- | --- | --- | +| JavaScript | āœ… | āœ… | āœ… | āŒ | āœ… | +| Rust | āœ… | āœ… | āœ… | āœ… | āœ… | +| Go | āœ… | āœ… | āœ… | āœ… | āœ… | +| Ruby | āœ… | āœ… | āœ… | āœ… | āŒ | +| Python | āœ… | āœ… | āœ… | āœ… | āŒ | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/dynamic-routes.md b/examples/containers/wasm-workers-server/docs/docs/features/dynamic-routes.md new file mode 100644 index 00000000..db457578 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/dynamic-routes.md @@ -0,0 +1,61 @@ +--- +sidebar_position: 4 +--- + +# Dynamic routes + +Defining static routes may not be enough for some applications. You may need a worker to process URLs that includes identifiers. **To create a worker associated with a dynamic route, include the route parameter in brackets when setting the worker filename**. + +For example, imagine you want a worker that replies to the following URLs: + +- `/show/1` +- `/show/2` + +With dynamic routes, you can create a worker with the `show/[id].js` filename. This worker will reply to any `/show/X` route automatically. + +After defining the route paremeters, the worker receives a special argument called `params`. It includes the value of all defined parameters. Note that the name of the parameter will be defined by the text between the brackets. + +Check these guides to understand how to read parameters in the different supported languages: + +* [Dynamic routes in JavaScript](../languages/javascript.md#dynamic-routes) +* [Dynamic routes in Rust](../languages/rust.md#dynamic-routes) +* [Dynamic routes in Python](../languages/python.md#dynamic-routes) +* [Dynamic routes in Ruby](../languages/ruby.md#dynamic-routes) +* [Dynamic routes in Go](../languages/go.md#dynamic-routes) + +## Dynamic routes and folders + +Folders can follow this pattern too. You can define a folder that has a route parameter: + +``` +$ tree ./examples/with-params +./examples/with-params +ā”œā”€ā”€ [id] + Ā Ā  ā””ā”€ā”€ fixed.js +``` + +In this case, the `./[id]/fixed.js` worker can reply to URLs like `/abc/fixed` and `/test/fixed`. + +## Multiple parameters + +As both files and folders can be dynamic, workers may receive multiple parameters. The `params` object includes the value of all the different parameters. + +``` +$ tree . +. +ā”œā”€ā”€ [resource] + Ā Ā  ā””ā”€ā”€ [id] + ā””ā”€ā”€ show.js +``` + +In this case, the `./[resource]/[id]/show.js` worker replies to URLs like `/articles/2/show`. + +## Language compatibility + +| Language | Dynamic routes | +| --- | --- | +| JavaScript | āœ… | +| Rust | āœ… | +| Go | āœ… | +| Ruby | āœ… | +| Python | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/environment-variables.md b/examples/containers/wasm-workers-server/docs/docs/features/environment-variables.md new file mode 100644 index 00000000..aeefefc5 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/environment-variables.md @@ -0,0 +1,52 @@ +--- +sidebar_position: 5 +--- + +# Environment variables + +Wasm Workers Server allows you to configure environment variables so a worker can read them. This configuration is done through the `TOML` file associated to a worker (a `TOML` file with the same filename as the worker). **This means every worker has its own set of environment variables**. + +The following `TOML` config file adds a new `JSON_MESSAGE` environment variable: + +```toml +name = "json" +version = "1" + +[vars] +JSON_MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Then, you can read them in your worker: + +* [Read environment variables in JavaScript](../languages/javascript.md#read-environment-variables) +* [Read environment variables in Rust](../languages/rust.md#read-environment-variables) +* [Read environment variables in Python](../languages/python.md#read-environment-variables) +* [Read environment variables in Ruby](../languages/ruby.md#read-environment-variables) +* [Read environment variables in Go](../languages/go.md#read-environment-variables) + +## Inject existing environment variables + +You can inject existing environment variables from your current context. In this case, the value of the configured variable will be the name of the existing one with the `$` prefix. + +For example, let's configure the `TOKEN` variable for the previous worker. This variable will get its value from the `TOKEN` environment variable in the current context: + +```toml +name = "json" +version = "1" + +[vars] +JSON_MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +TOKEN = "$TOKEN" +``` + +This feature allows you to configure environment variables dynamically. + +## Language compatibility + +| Language | Environment variables | +| --- | --- | +| JavaScript | āœ… | +| Rust | āœ… | +| Go | āœ… | +| Ruby | āœ… | +| Python | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/http-requests.md b/examples/containers/wasm-workers-server/docs/docs/features/http-requests.md new file mode 100644 index 00000000..4c4b8895 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/http-requests.md @@ -0,0 +1,41 @@ +--- +sidebar_position: 3 +--- + +# HTTP Requests (fetch) + +Often times, workers require to access data from an external resource like a website or an API. This feature allows workers to perform HTTP requests to external resources. It follows the capability-based model, so workers cannot perform any HTTP request until you configure the allowed hosts and HTTP methods. + +In this configuration, you are allowing a worker to perform `GET` and `POST` HTTP requests to the [{JSON} Placeholder API](https://jsonplaceholder.typicode.com/): + +```toml +name = "fetch" +version = "1" + +[features] +[features.http_requests] +allowed_methods = ["GET", "POST"] +allowed_hosts = ["jsonplaceholder.typicode.com"] +``` + +Now, your worker can perform HTTP requests following those rules. + +## Send HTTP requests in different languages + +Depending on the language, the different kits expose this feature in a different way. The goal is to use a common API to perform HTTP requests in that language. For example, to perform HTTP requests in JavaScript you can use the [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) API. + +Check these guides to perform HTTP requests in the different supported languages: + +* [HTTP requests on JavaScript workers](../languages/javascript.md#send-an-http-request-fetch) +* [HTTP requests on Rust workers](../languages/rust.md#send-an-http-request) +* [HTTP requests on Go workers](../languages/go.md#send-an-http-request) + +## Language compatibility + +| Language | HTTP Requests | +| --- | --- | +| JavaScript | āœ… | +| Rust | āœ… | +| Go | āœ… | +| Ruby | āŒ | +| Python | āŒ | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/key-value.md b/examples/containers/wasm-workers-server/docs/docs/features/key-value.md new file mode 100644 index 00000000..de2bf483 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/key-value.md @@ -0,0 +1,37 @@ +--- +sidebar_position: 1 +--- + +# Key / Value Store + +Wasm Workers Server integrates an in-memory [Key / Value (K/V) store](https://en.wikipedia.org/wiki/Key%E2%80%93value_database). This K/V store allows the server to read and write data from the different workers. + +For now, the data is only stored in memory and cleaned up on every restart. + +## How it works? + +The K/V store follows the same snapshot approach as [Requests / Responses](../get-started/how-it-works.md#how-it-works) data. On every request, the worker receives a snapshot of the K/V status for the configured namespace. + +The worker may access all the data and perform changes over it. Then, a new K/V status is returned and the internal status is overriden. + +### Add a K/V to a worker + +* [Add a K/V store to JavaScript workers](../languages/javascript.md#add-a-key--value-store) +* [Add a K/V store to Rust workers](../languages/rust.md#add-a-key--value-store) +* [Add a K/V store to Python workers](../languages/python.md#add-a-key--value-store) +* [Add a K/V store to Ruby workers](../languages/ruby.md#add-a-key--value-store) +* [Add a K/V store to Go workers](../languages/go.md#add-a-key--value-store) + +## Limitations + +A known limitation of the snapshot approach is the data override when concurrent requests are writing to the same namespace. In the future, we will implement a consolidation mechanism or a different store type for applications that require to write intensively. + +## Language compatibility + +| Language | K/V store | +| --- | --- | +| JavaScript | āœ… | +| Rust | āœ… | +| Go | āœ… | +| Ruby | āœ… | +| Python | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/mount-folders.md b/examples/containers/wasm-workers-server/docs/docs/features/mount-folders.md new file mode 100644 index 00000000..ba34c466 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/mount-folders.md @@ -0,0 +1,43 @@ +# Mount folders + +Wasm Workers Server allows you to mount folders in the workers' execution context so they can access the files inside. This configuration is done through the `TOML` file associated to a worker (a `TOML` file with the same filename as the worker). **This means every worker has its own set of mount folders**. + +The following `TOML` config file mounts the `_libs` folder so the worker can access it: + +```toml +version = "1" + +[[folders]] +from = "./_libs" +to = "/mnt/libs" +``` + +If your worker requires more than one folder, you can mount multiple ones: + +```toml +version = "1" + +[[folders]] +from = "./_libs" +to = "/mnt/libs" + +[[folders]] +from = "./_assets" +to = "/mnt/assets" +``` + +## Avoid wws looking for workers in folders + +In the previous example, all folders starts with an underscore character (`_`). This folder name convention tells `wws` to ignore any file inside it when detecting available workers. + +Note that those folders may include files that `wws` recognizes as workers (like `.js` or `.py`). By prefixing those folders with an `_`, you ensure `wws` won't process those files as workers. + +## Language compatibility + +| Language | Mount folders | +| --- | --- | +| JavaScript | āŒ | +| Rust | āœ… | +| Go | āœ… | +| Ruby | āœ… | +| Python | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/features/multiple-language-runtimes.md b/examples/containers/wasm-workers-server/docs/docs/features/multiple-language-runtimes.md new file mode 100644 index 00000000..708ecd70 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/multiple-language-runtimes.md @@ -0,0 +1,166 @@ +--- +sidebar_position: 2 +--- + +# Multiple language runtimes + +Wasm Workers Server allows you to extend the supported languages by adding new language runtimes. In other words, you can run workers based on languages like Python or Ruby. + +## How it works? + +To provide these language runtimes, `wws` relies on the [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) project. It provides popular language runtimes precompiled to WebAssembly, like Ruby and Python. `wws` integrates with this repository and allows you to list, install and uninstall the different available languages: + +``` +wws runtimes --help + +Usage: wws runtimes [OPTIONS] + +Commands: + install Install a new language runtime (like Ruby, Python, etc) + list List all available runtimes to install. By default, it uses the WebAssembly Language Runtime repository + check List of locally installed runtimes + uninstall Uninstall a language runtime + help Print this message or the help of the given subcommand(s) + +Options: + --repo-url Set a different repository URL + --repo-name Gives a name to the given repository URL + -h, --help Print help information +``` + +## The .wws.toml file + +After installing a language runtime, `wws` creates a `.wws.toml` file in your project folder. This file saves the language runtime metadata. We recommend you to commit this file to your repository. It allows other developers to install the required language runtimes by running a single command: + +``` +wws runtimes install +``` + +## Manage language runtimes + +### List available language runtimes + +You can list the avilable runtimes with the `runtimes list` command: + +``` +wws runtimes list +āš™ļø Fetching data from the repository... +ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” +ā”‚ Name ā”‚ Version ā”‚ Extension ā”‚ Binary ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ ruby ā”‚ 3.2.0 ā”‚ rb ā”‚ ruby.wasm ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ python ā”‚ 3.11.1 ā”‚ py ā”‚ python.wasm ā”‚ +ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ +``` + +The table provides the following data: + +* **Name**: the name of the language runtime +* **Version**: a specific version for that language runtime. You can find multiple versions and variations +* **Extension**: the file extension associated to this language runtimes. For example, `wws` will load `*.rb` as workers if you install the `ruby` runtime +* **Binary**: the name of the Wasm module + +### Install a new language runtime + +To install a new language runtime, you need to provide the name and the version in the given repository: + +``` +wws runtimes install ruby 3.2.0 +āš™ļø Fetching data from the repository... +šŸš€ Installing the runtime... +āœ… Done +``` + +The language runtime and required files will be installed in the `.wws` folder: + +``` +tree ./.wws +./.wws +ā””ā”€ā”€ runtimes + Ā Ā  ā””ā”€ā”€ wlr + Ā Ā  ā”œā”€ā”€ python + Ā Ā  ā”‚Ā Ā  ā””ā”€ā”€ 3.11.1 + Ā Ā  ā”‚Ā Ā  ā”œā”€ā”€ poly.py + Ā Ā  ā”‚Ā Ā  ā”œā”€ā”€ python.wasm + Ā Ā  ā”‚Ā Ā  ā””ā”€ā”€ template.txt + Ā Ā  ā””ā”€ā”€ ruby + Ā Ā  ā””ā”€ā”€ 3.2.0 + Ā Ā  ā”œā”€ā”€ poly.rb + Ā Ā  ā”œā”€ā”€ ruby.wasm + Ā Ā  ā””ā”€ā”€ template.txt +``` + +#### Install the language runtimes for an existing project + +If the project has a `.wws.toml` file, you can install quickly all the required language runtimes. You can run the `runtimes install` command without any extra parameter. `wws` will read the configuration file and install all missing runtimes: + +``` +./wws runtimes install +āš™ļø Checking local configuration... +šŸš€ Installing: wlr - python / 3.11.1 +šŸš€ Installing: wlr - ruby / 3.2.0 +āœ… Done +``` + +### Check installed language runtimes + +You can check the installed language runtimes with the `runtimes check` command: + +``` +wws runtimes check +ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” +ā”‚ Installed ā”‚ Name ā”‚ Version ā”‚ Extension ā”‚ Binary ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ āœ… ā”‚ python ā”‚ 3.11.1 ā”‚ py ā”‚ python.wasm ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ āœ… ā”‚ ruby ā”‚ 3.2.0 ā”‚ rb ā”‚ ruby.wasm ā”‚ +ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ +``` + +If a runtime is present in the `.wws.toml` file but it's not installed in the system, the "Installed" field will show an error: + +``` +wws runtimes check +ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” +ā”‚ Installed ā”‚ Name ā”‚ Version ā”‚ Extension ā”‚ Binary ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ āŒ ā”‚ python ā”‚ 3.11.1 ā”‚ py ā”‚ python.wasm ā”‚ +ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤ +ā”‚ āŒ ā”‚ ruby ā”‚ 3.2.0 ā”‚ rb ā”‚ ruby.wasm ā”‚ +ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ + +šŸ’” Tip: there are missing language runtimes. You can install them with `wws runtimes install` +``` + +We recommend you to check the šŸ’” tips as they provide very useful information + +### Uninstall a language runtime + +To uninstall a language runtime, use the `runtimes uninstall` command and provide the runtime name and version. You can get this information from the [`runtimes check command`](#check-installed-language-runtimes). + +``` +wws runtimes uninstall ruby 3.2.0 +šŸ—‘ Uninstalling: wlr - ruby / 3.2.0 +āœ… Done +``` + +This command also edits the `.wws.toml` file to remove any reference to that specific runtime + +## Configure a different repository + +By default, `wws` relies on the binaries from the [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes) project. This project contains precompiled language runtimes for many popular languages. When you call the `list` or `install` commands, `wws` fetches the metadata from this project and continue processing your request. + +If you want to set your own language runtimes repository, you can configure `wws` to fetch the metadata from a different place. For that, you can define the `WWS_REPO_NAME` and `WWS_REPO_URL` environment variables or use the `--repo-name` and `--repo-url` arguments: + +``` +# Via environment variables +export WWS_REPO_NAME=my-repo +export WWS_REPO_URL=https://example.com/index.toml + +# Via arguments +wws runtimes list --repo-name=my-repo --repo-url=https://example.com/index.toml +wws runtimes install ruby 3.2.0 --repo-name=my-repo --repo-url=https://example.com/index.toml +``` + +After installing a language runtime, the repository information is also stored in the `.wws.toml` file. Developers that install the required language runtimes for an existing project will download them always from the right repository. \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/docs/features/static-assets.md b/examples/containers/wasm-workers-server/docs/docs/features/static-assets.md new file mode 100644 index 00000000..5efd98f5 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/features/static-assets.md @@ -0,0 +1,47 @@ +--- +sidebar_position: 5 +--- + +# Static assets + +Wasm Workers Server allows you to serve any static asset required by your workers. For that, place any static asset in a `public` folder. It must be present in the root of the directory you're serving with `wws`. + +Note that all static assets are mounted on `/`, so `public` won't be present in their paths. + +For example, given the following folder structure: + +```bash +. +ā”œā”€ā”€ index.js +ā””ā”€ā”€ public + ā””ā”€ā”€ images + ā””ā”€ā”€ intro.jpg + ā””ā”€ā”€ robots.txt +``` + +If you run `wws` in this folder, it will serve the following resources: + +* `/`: the response will be generated by the `index.js` worker +* `/robots.txt`: the static `robots.txt` file +* `/images/intro.jpg`: the static `intro.jpg` file + +## HTML files in public folder + +HTML files are supported inside the `public` folder. `wws` will serve those without requiring the `html` extension. + +For example, for the given folder structure: + +```bash +. +ā”œā”€ā”€ index.js +ā””ā”€ā”€ public + ā””ā”€ā”€ images + ā””ā”€ā”€ intro.jpg + ā””ā”€ā”€ about.html +``` + +The `about.html` file will be served as `/about`. + +## Index file in public + +An `index.html` can be added to the `public` folder and it will be mounted in `/`. Note that static files have a lower priority, so if there's an `/index.js` and `/public/index.html` files, the `/` route will be served by the former. diff --git a/examples/containers/wasm-workers-server/docs/docs/get-started/_category_.json b/examples/containers/wasm-workers-server/docs/docs/get-started/_category_.json new file mode 100644 index 00000000..11a138c8 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/get-started/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Wasm Workers Server", + "position": 1, + "collapsed": false, + "collapsible": false +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/docs/get-started/how-it-works.md b/examples/containers/wasm-workers-server/docs/docs/get-started/how-it-works.md new file mode 100644 index 00000000..1972f766 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/get-started/how-it-works.md @@ -0,0 +1,42 @@ +--- +sidebar_position: 4 +--- + +# How it works? + +Wasm Workers is built around two main ideas: + +* **Workers receive requests and return responses**. + + We follow this approach as it's a widely used pattern for creating serverless functions. Following this pattern helps us to keep compatibility with multiple platforms and avoid vendor-locking on our own tool. + +* **Workers receive and return data via WASI Stdio**. + + To increase compatibility and simplify the integration with existing languages, we decided to send and receive data using `STDIN` / `STDOUT`. So, any language that can be compiled using WASI standard can create compatible workers with Wasm Workers. + +## Runner + +Based on these two principles, the server performs the following tasks: + +* Identify `.wasm` modules and any other supported languages (like `.js` and `.py`) in the given folder. +* Associate a HTTP route to every module. +* Create a Key / Value in-memory store if required. +* Initialize the [Wasmtime](https://wasmtime.dev/) runtime.. +* Start a HTTP server to start serving the requests. + +## Convention over configuration + +Wasm Workers assume the HTTP routes from the filesystem. This approach is pretty similar to other very successful projects like NextJS. This simplifies the server interface by running without adding any configuring file. + +For extra features such as the Key / Value store, you need to write a configuration file. By default, Wasm Workers doesn't enable any extra feature to any worker. This is an example configuration file to enable the Key / Value store for a worker: + +```toml title="./counter.toml" +name = "counter" +version = "1" + +[data] +[data.kv] +namespace = "counter" +``` + +These files are only required to enable extra features for your workers. diff --git a/examples/containers/wasm-workers-server/docs/docs/get-started/introduction.mdx b/examples/containers/wasm-workers-server/docs/docs/get-started/introduction.mdx new file mode 100644 index 00000000..0742fcde --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/get-started/introduction.mdx @@ -0,0 +1,41 @@ +--- +sidebar_position: 1 +--- + +import Diagram from '../../src/pages/diagram.svg'; + +# Introduction + +## What's Wasm Workers Server? + +Wasm Workers Server is a framework that allows you to develop and run serverless applications using a lightweight construct called "workers", explained later in the document. The server itself is implemented as a self-contained binary that routes HTTP requests to a WebAssembly runtime that hosts the workers. It looks for `.wasm` and other compatible modules (like [JavaScript](../languages/javascript.md) and [Python](../languages//python.md) files) in the given folder and associate HTTP endpoints based on their path: + +

+ +

+ +You don't need to configure anything by default. Just provide a project location to `wws` and it will identify the workers and start serving requests šŸš€. + +Now it's your turn [to download and start using Wasm Workers Server](./quickstart.md). + +## What's a worker? + +Worker has many definitions in the software ecosystem. In the context of the Web Platform, **a worker is a resource that listens to events and replies to them**. In our context, **a worker is a script or function that receives an HTTP request and returns an HTTP response**. + +Applications can be developed by combining multiple workers. Every worker listens to certain events and provides responses to them. Splitting large applications into smaller pieces has several benefits: + +* **Easier to develop**: workers are meant to be small and focused. +* **Easier to test**: every worker can be tested separately and the surface to cover with testing is way smaller. +* **Easier to deploy**: new platforms are focusing on workers and deploying existing applications is just a single command. + +This concept may sound familiar to you. [Serverless computing](https://en.wikipedia.org/wiki/Serverless_computing) is a popular model to build web applications. Services like [AWS Lambda](https://aws.amazon.com/lambda/) and [Google Cloud Functions](https://cloud.google.com/functions) implement this model. + +Workers is an implementation of serverless. Many of the existing serverless platforms run functions in a centralized infrastructure where related services are close to them. With the workers model, platforms like [Cloudflare WorkersĀ®](https://workers.cloudflare.com/), [Deno Deploy](https://deno.com/deploy), [Vercel](https://vercel.com/), [Fermyon](https://www.fermyon.com/), [Suborbital](https://suborbital.dev/) and [wasmCloud](https://wasmcloud.dev) deploy your workers and actors close to your users. For this task, they created a new set of "edge runtimes" that allows them to quickly distribute your workers around the globe. + +## Why Wasm Workers Server? + +Wasm Workers Server is a lightweight implementation of a Worker platform that aims for compatibility. You can use it to develop applications locally quickly or to host your applications on servers that you control entirely. It is extremely easy to get started: just download a binary and start writing your workers. You can create them based on different languages and run them securely thanks to [WebAssembly](https://webassembly.org/). + +It aims for compatibility and follows an ongoing specification that different companies are working under the name of [WinterCG](https://wintercg.org/faq). This working group aims to create a common API for using Web Platform APIs like workers outside of the browser. + +Many of the platforms mentioned earlier follow a similar approach, so any code you write for Wasm Workers Server can be moved to those platforms easily (or the other way around!). Remember that our focus with wws is simplicity and compatibility. Since this is a growing ecosystem, we want you to start quickly and move wherever you need. diff --git a/examples/containers/wasm-workers-server/docs/docs/get-started/quickstart.md b/examples/containers/wasm-workers-server/docs/docs/get-started/quickstart.md new file mode 100644 index 00000000..82bda31a --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/get-started/quickstart.md @@ -0,0 +1,75 @@ +--- +sidebar_position: 2 +--- + +# Quickstart + +Wasm Workers runs almost anywhere. Thanks to its portability, downloading and running it anywhere is quite simple. + +First, you need to install `wws`: + +```shell-session +curl -fsSL https://workers.wasmlabs.dev/install | bash +``` + +Now, you can check the different commands and options: + +```shell-session +$ wws --help +A WebAssembly framework to develop and run serverless applications anywhere + +Usage: wws [OPTIONS] [PATH] [COMMAND] + +Commands: + runtimes Manage the language runtimes in your project + help Print this message or the help of the given subcommand(s) + +Arguments: + [PATH] Location of the wws project. It could be a local folder or a git repository [default: .] + +Options: + --host Hostname to initiate the server [default: 127.0.0.1] + -p, --port Port to initiate the server [default: 8080] + --prefix Prepend the given path to all URLs [default: ] + --ignore Patterns to ignore when looking for worker files [default: ] + -i, --install-runtimes Install missing runtimes automatically + --git-commit Set the commit when using a git repository as project + --git-tag Set the tag when using a git repository as project + --git-branch Set the branch when using a git repository as project + --git-folder Change the directory when using a git repository as project + --enable-panel Enable the administration panel + -h, --help Print help + -V, --version Print version +``` + +You can pass a remote location, like a git repository, to `wws`. To try it, let's run one of the `js-basic` example from the Wasm Workers Server repository: + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-basic" +``` + +It automatically clones the git repository and loads the workers from the given folder (`examples/js-basic`): + +```shell-session +āš™ļø Preparing the project from: https://github.com/vmware-labs/wasm-workers-server.git +āš™ļø Loading routes from: /tmp/dd21e3cd6d0f515301e1c7070e562af06074d9e8d10566179f97dba47e74cec9/examples/js-basic +ā³ Loading workers from 1 routes... +āœ… Workers loaded in 108.82825ms. + - http://127.0.0.1:8080/ + => /tmp/dd21e3cd6d0f515301e1c7070e562af06074d9e8d10566179f97dba47e74cec9/examples/js-basic/index.js +šŸš€ Start serving requests at http://127.0.0.1:8080 +``` + +Now, open your browser at . + +## Next Steps + +Now you got the taste of Wasm Workers, it's time to create your first worker: + +* [Create your first JavaScript worker](../languages/javascript.md) +* [Create your first Rust worker](../languages/rust.md) +* [Create your first Python worker](../languages/python.md) +* [Create your first Ruby worker](../languages/ruby.md) +* [Create your first Go worker](../languages/go.md) + +And if you are curious, here you have a guide about [how it works](./how-it-works.md). diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/_category_.json b/examples/containers/wasm-workers-server/docs/docs/languages/_category_.json new file mode 100644 index 00000000..e0687177 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/_category_.json @@ -0,0 +1,10 @@ +{ + "label": "Supported languages", + "position": 3, + "collapsed": false, + "collapsible": false, + "link": { + "type": "doc", + "id": "introduction" + } +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/go.md b/examples/containers/wasm-workers-server/docs/docs/languages/go.md new file mode 100644 index 00000000..e374b399 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/go.md @@ -0,0 +1,475 @@ +--- +sidebar_position: 5 +--- + +# Go + +Go workers are compiled into a WASI module using [TinyGo](https://tinygo.org/docs/guides/webassembly/). Then, they are loaded by Wasm Workers Server and start processing requests. + +## Your first Go worker + +Workers can be implemented either as an [http.Handler](https://pkg.go.dev/net/http#Handler) or an [http.HandlerFunc](https://pkg.go.dev/net/http#HandlerFunc). + +In this example, the worker will get a request and print all the related information. + +1. Create a new Go mod project + + ``` + go mod init workers-in-go + ``` + +1. Add the Wasm Workers Server Go dependency + + ``` + go get -u github.com/vmware-labs/wasm-workers-server/kits/go/worker@v1.3.0 + ``` + +1. Create a `worker.go` file with the following contents: + + ```go title="worker.go" + package main + + import ( + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte("Hello wasm!")) + }) + } + ``` + +1. Additionally, you can now go further add all the information from the received `http.Request`: + + ```go title="worker.go" + package main + + import ( + "fmt" + "io" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + var payload string + + reqBody, err := io.ReadAll(r.Body) + if err != nil { + panic(err) + } + r.Body.Close() + + if len(reqBody) == 0 { + payload = "-" + } else { + payload = string(reqBody) + } + + body := fmt.Sprintf(""+ + ""+ + "Wasm Workers Server"+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + "
"+ + "

Hello from Wasm Workers Server šŸ‘‹

"+ + "
Replying to %s
"+ + "Method: %s
"+ + "User Agent: %s
"+ + "Payload: %s
"+ + "

"+ + "This page was generated by a Go file running in WebAssembly."+ + "

"+ + "
"+ + "", r.URL.String(), r.Method, r.UserAgent(), payload) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) + } + ``` + +1. In this case, you need to compile the project to Wasm ([WASI](https://wasi.dev/)). To do this, make sure you have installed the TinyGo compiler by following the steps [here](https://tinygo.org/getting-started/install/): + + ```bash + tinygo build -o worker.wasm -target wasi worker.go + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + wws . + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/worker + => worker.wasm (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Add a Key / Value store + +Wasm Workers allows you to add a Key / Value store to your workers. Read more information about this feature in the [Key / Value store](../features/key-value.md) section. + +To add a KV store to your worker, follow these steps: + +1. Create a new Go project: + + ```bash + go mod init worker-kv + ``` + +1. Add the Wasm Workers Server Go dependency + + ``` + go get -u github.com/vmware-labs/wasm-workers-server/kits/go/worker@v1.3.0 + ``` + +1. Create a `worker-kv.go` file with the following contents: + + ```go title="worker-kv.go" + package main + + import ( + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte("Hello wasm!")) + }) + } + ``` + +1. Then, let's read a value from the cache and update it: + + ```go title="worker-kv.go" + package main + + import ( + "fmt" + "net/http" + "strconv" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + cache, _ := r.Context().Value(worker.CacheKey).(map[string]string) + + var countNum uint32 + + if count, ok := cache["counter"]; ok { + n, _ := strconv.ParseUint(count, 10, 32) + countNum = uint32(n) + } + + body := fmt.Sprintf(""+ + ""+ + "

Key / Value store in Go

"+ + "

Counter: %d

"+ + "

This page was generated by a Wasm module built from Go.

"+ + "", countNum) + + cache["counter"] = fmt.Sprintf("%d", countNum+1) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) + } + ``` + +1. Compile the project to Wasm ([WASI](https://wasi.dev/)): + + ```bash + tinygo build -o worker-kv.wasm -target wasi worker-kv.go + ``` + +1. Create a `worker-kv.toml` file with the following content. Note the name of the TOML file must match the name of the worker. In this case we have `worker-kv.wasm` and `worker-kv.toml` in the same folder: + + ```toml title="worker-kv.toml" + name = "workerkv" + version = "1" + + [data] + [data.kv] + namespace = "workerkv" + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + wws . + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/worker-kv + => worker-kv.wasm (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Send an HTTP request + +Wasm Workers allows you to send HTTP requests from your workers. Read more information about this feature in the [HTTP Requests](../features/http-requests.md) section. + +To perform HTTP requests from your worker, follow these steps: + +1. Create a new Go project: + + ```shell-session + go mod init fetch + ``` + +1. Add the project dependencies: + + ``` + go get -u github.com/vmware-labs/wasm-workers-server/kits/go/worker@v1.4.0 \ + github.com/tidwall/gjson + ``` + +1. Create a `fetch.go` file with the following contents: + + ```go title="fetch.go" + package main + + import ( + "io" + "fmt" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + + "github.com/tidwall/gjson" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte("Hello wasm!")) + }) + } + ``` + +1. Then, let's create the `http.Request` instance and pass it to the `worker.SendHttpRequest` method. In this example, we will call the [{JSON} Placeholder API](https://jsonplaceholder.typicode.com/) to retrieve a `Post`. You will read the content of the response using the `gjson` API: + + ```go title="fetch.go" + package main + + import ( + "io" + "fmt" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + + "github.com/tidwall/gjson" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + url := "https://jsonplaceholder.typicode.com/posts/1" + + // Create the request + req, err := http.NewRequest(http.MethodGet, url, nil) + if err != nil { + panic(err) + } + + // Send the request + res, err := worker.SendHttpRequest(req) + if err != nil { + msg := fmt.Sprintf("Error when calling the API: %s", err); + + // Send the reponse + w.Write([]byte(msg)) + + return + } + + // Read the response and parse the title + resBody, err := io.ReadAll(res.Body) + if err != nil { + msg := fmt.Sprintf("Error when reading the response body: %s", err); + + // Send the reponse + w.Write([]byte(msg)) + + return + } + res.Body.Close() + + title := gjson.Get(string(resBody), "title") + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(fmt.Sprintf("Title: %s", title.String()))) + }) + } + ``` + +1. Compile the project to Wasm ([WASI](https://wasi.dev/)): + + ```shell-session + tinygo build -o fetch.wasm -target wasi fetch.go + ``` + +1. Create a `fetch.toml` file with the following content. It enables the worker to perform HTTP requests to that host given that, by default, HTTP requests are forbidden. + + Note the name of the TOML file must match the name of the worker. In this case we have `fetch.wasm` and `fetch.toml` in the same folder: + + ```toml title="fetch.toml" + name = "fetch" + version = "1" + + [features] + [features.http_requests] + allowed_methods = ["GET"] + allowed_hosts = ["jsonplaceholder.typicode.com"] + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```shell-session + wws . + + āš™ļø Preparing the project from: . + āš™ļø Loading routes from: . + ā³ Loading workers from 1 routes... + āœ… Workers loaded in 135.717667ms. + - http://127.0.0.1:8080/fetch + => ./fetch.wasm + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Dynamic routes + +You can define [dynamic routes by adding route parameters to your worker files](../features/dynamic-routes.md) (like `[id].wasm`). To read them in Go, follow these steps: + +1. Use the `worker.ParamsKey` context value to read in the passed in parameters: + + ```go title="main.go" + package main + + import ( + "fmt" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + params, _ := r.Context().Value(worker.ParamsKey).(map[string]string) + ... + }) + } + ``` + +1. Then, you can read the values as follows: + + ```go title="main.go" + package main + + import ( + "fmt" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + ) + + func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + params, _ := r.Context().Value(worker.ParamsKey).(map[string]string) + id := "the value is not available" + + if val, ok := params["id"]; ok { + id = val + } + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(fmt.Sprintf("Hey! The parameter is: %s", id))) + }) + } + ``` + +## Read environment variables + +Environment variables are configured [via the related TOML configuration file](../features/environment-variables.md). These variables are accessible via `os.Getenv` in your worker. To read them, just use the same name you configured in your TOML file: + +```toml title="envs.toml" +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Now, you can read the `MESSAGE` variable using the [`os.Getenv`](https://pkg.go.dev/os#Getenv) function: + +```go title="envs.go" +package main + +import ( + "fmt" + "net/http" + "os" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + body := fmt.Sprintf("The message is: %s", os.Getenv("MESSAGE")) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) +} + +``` + +If you prefer, you can configure the environment variable value dynamically by following [these instructions](../features/environment-variables.md#inject-existing-environment-variables). + +## Other examples + +* [Basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/go-basic) +* [Counter](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/go-kv) + +## Contributors + +The Go kit was originally authored by Mohammed Nafees ([@mnafees](https://github.com/mnafees)) + +## Feature compatibility + +[Workers' features](../features/all.md) that are available in Go: + +| [K/V Store](../features/key-value.md) | [Environment Variables](../features/environment-variables.md) | [Dynamic Routes](../features/dynamic-routes.md) | [Folders](../features/mount-folders.md) | [HTTP Requests](../features/http-requests.md) | +| --- | --- | --- | --- | --- | +| āœ… | āœ… | āœ… | āœ… | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/introduction.md b/examples/containers/wasm-workers-server/docs/docs/languages/introduction.md new file mode 100644 index 00000000..e4bd9908 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/introduction.md @@ -0,0 +1,45 @@ +# Introduction + +Wasm Workers Server can run `.wasm` modules natively. When you run `wws` in a folder, any file with this extension will run as a worker: + +```bash +wws + +āš™ļø Loading routes from: . +šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/ + => index.wasm (name: default) +šŸš€ Start serving requests at http://127.0.0.1:8080 +``` + +However, these are not the only files `wws` can manage. You can extend `wws` with different language runtimes to run files from several languages like [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), [Ruby](https://www.ruby-lang.org) and [Python](https://www.python.org/). + +## How are multiple language runtimes supported? + +By default, `wws` only supports Wasm modules and JavaScript files. For any other language, you need the language interpreter or runtime. These runtimes are also Wasm modules. When you run `wws`, it loads the available runtimes and mount the source code from your workers. + +However, compiling a language interpreter is not an easy task. To simplify this process, `wws` relies by default in the [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes). This projects offers a set of precompiled languages runtimes you can plug and play in projects like `wws`. + +## How to manage language runtimes in wws? + +You can check the available commands directly in the `wws` CLI: + +``` +wws runtimes --help + +Usage: wws runtimes [OPTIONS] + +Commands: + install Install a new language runtime (like Ruby, Python, etc) + list List all available runtimes to install. By default, it uses the WebAssembly Language Runtime repository + check List of locally installed runtimes + uninstall Uninstall a language runtime + help Print this message or the help of the given subcommand(s) + +Options: + --repo-url Set a different repository URL + --repo-name Gives a name to the given repository URL + -h, --help Print help information +``` + +For a more complete documentation, please refer to the [Multiple Languages Runtimes](../features/multiple-language-runtimes.md) section. \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/javascript.md b/examples/containers/wasm-workers-server/docs/docs/languages/javascript.md new file mode 100644 index 00000000..17669fc0 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/javascript.md @@ -0,0 +1,286 @@ +--- +sidebar_position: 1 +--- + +# JavaScript + +Workers based on JavaScript work out of the box with Wasm Workers Server. The server integrates a JavaScript interpreter compiled into a WebAssembly module. Currently, the interpreter we support is [quickjs](https://bellard.org/quickjs/) and we are working on adding new ones. + +## Run a JavaScript example + +1. Download `wws`: + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +2. Run the [js-basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/js-basic) example from the Wasm Workers Server's repository: + + ```shell-session + wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-basic" + ``` + +3. Access to http://localhost:8080. + +## Your first JavaScript worker + +JavaScript workers are based on the [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) / [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) objects from the Web Fetch API. Your worker needs to listen to the `fetch` event, which will include an associated `Request` object. The worker function will receive the request and generate a `Response` object to reply to the request. + +In this example, the worker will get a request and print all the related information. + +1. First, create a new `index.js` file with the following content. It is the minimum code you need to subscribe to the fetch event and return a valid response. + + ```javascript title="./index.js" + const reply = (request) => { + return new Response("Hello Wasm!"); + } + + // Subscribe to the Fetch event + addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); + }); + ``` + +1. Now, you can add more content to the `reply` function to show the request information. In addition to that, let's add a response header. + + ```javascript title="./index.js" + const reply = (request) => { + // Body response + const body = ` + +

Hello from Wasm Workers Server

+

Replying to ${request.url}

+

Method: ${request.method}

+

User Agent: ${request.headers.get("userAgent")}

+

Payload: ${request.body || "-"}

+

+ This page was generated by a JavaScript file inside WebAssembly +

+ `; + + // Build a new response + let response = new Response(body); + + // Add a new header + response.headers.set("x-generated-by", "wasm-workers-server"); + + return response; + } + + // Subscribe to the Fetch event + addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); + }); + ``` + +1. Save the file and run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/ + => index.js (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Add a Key / Value store + +Wasm Workers allows you to add a Key / Value store to your workers. Read more information about this feature in the [Key / Value store](../features/key-value.md) section. + +To add a KV store to your worker, follow these steps: + +1. First, create a `counter.js` file. It will access the KV store through the `Cache` object: + + ```javascript title="./counter.js" + const CACHE_KEY = "counter"; + + const reply = (request) => { + let counter = Cache.get(CACHE_KEY) || 0; + counter += 1; + + Cache.set(CACHE_KEY, counter); + + return new Response(`Counter: ${counter}`); + } + + addEventListener("fetch", event => { + event.respondWith(reply(event.request)); + }); + ``` + +1. Create a `counter.toml` file with the following content. Note the name of the TOML file must match the name of the worker. In this case we have `counter.js` and `counter.toml` in the same folder: + + ```toml title="./counter.toml" + name = "counter" + version = "1" + + [data] + [data.kv] + namespace = "counter" + ``` + +1. Save the file and run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/counter + => counter.js (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Send an HTTP request (fetch) + +Wasm Workers allows you to send HTTP requests from your workers. Read more information about this feature in the [HTTP Requests](../features/http-requests.md) section. + +To perform HTTP requests from your worker, follow these steps: + +1. First, create an `index.js` file. It will call the [{JSON} Placeholder API](https://jsonplaceholder.typicode.com/) using the [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) method: + + ```javascript title="./index.js" + const reply = async (_req) => { + // Body response + let body; + + try { + let res = await fetch('https://jsonplaceholder.typicode.com/posts/1'); + let json = await res.json(); + + // Build a new response. + // Add some basic sanitization + body = ` + + JSON Placeholder request + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

The post title is: ${json.title}

+
+ `; + } catch (e) { + body = `There was an error with the request: ${e}`; + } + + return new Response(body); + } + + addEventListener("fetch", event => { + event.respondWith(reply(event.request)); + }); + ``` + +1. Create an `index.toml` file with the following content. It enables the worker to perform HTTP requests to that host given that, by default, HTTP requests are forbidden. + + Note the name of the TOML file must match the name of the worker. In this case we have `index.js` and `index.toml` in the same folder: + + ```toml title="./index.toml" + name = "fetch" + version = "1" + + [features] + [features.http_requests] + allowed_methods = ["GET"] + allowed_hosts = ["jsonplaceholder.typicode.com"] + ``` + +1. Save the file and run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```shell-session + wws + + āš™ļø Preparing the project from: . + āš™ļø Loading routes from: . + ā³ Loading workers from 1 routes... + āœ… Workers loaded in 135.717667ms. + - http://127.0.0.1:8080/ + => ./index.js + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Dynamic routes + +You can define [dynamic routes by adding route parameters to your worker files](../features/dynamic-routes.md) (like `[id].js`). To read them in JavaScript, access to the `req.params` object: + +```js +/** + * Builds a reply to the given request + */ +const reply = (req) => { + // Build a new response + return new Response(`Hey! I got this parameter: ${req.params.id}`); +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); +``` + +## Read environment variables + +Environment variables are configured [via the related TOML configuration file](../features/environment-variables.md). These variables are directly injected as global constants in your worker. To read them, just use the same name you configured in your TOML file: + +```toml title="./envs.toml" +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Now, you can use the `MESSAGE` constant directly: + +```javascript title="./envs.js" +const reply = (request) => { + // Body response + const body = JSON.stringify({ + success: true, + // Here you can read the constant directly + message: MESSAGE + }, null, 2); + + // Build a new response + let response = new Response(body, { + headers: { + "content-type": "application/json;charset=UTF-8" + } + }); + + return response; +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); +``` + +If you prefer, you can configure the environment variable value dynamically by following [these instructions](../features/environment-variables.md#inject-existing-environment-variables). + +## Other examples + +* [Basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/js-basic/) +* [JSON](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/js-json/) +* [Redirect](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/js-redirect/) +* [Tic Tac Toe](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/js-tictactoe/) + +## Feature compatibility + +[Workers' features](../features/all.md) that are available in JavaScript: + +| [K/V Store](../features/key-value.md) | [Environment Variables](../features/environment-variables.md) | [Dynamic Routes](../features/dynamic-routes.md) | [Folders](../features/mount-folders.md) | [HTTP Requests](../features/http-requests.md) | +| --- | --- | --- | --- | --- | +| āœ… | āœ… | āœ… | āŒ | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/python.md b/examples/containers/wasm-workers-server/docs/docs/languages/python.md new file mode 100644 index 00000000..757ee532 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/python.md @@ -0,0 +1,294 @@ +--- +sidebar_position: 3 +--- + +# Python + +The [Python](https://www.python.org/) interpreter is not embedded in Wasm Workers Server. To create workers based on this language, you first need to install a Python runtime. + +Fortunately, we provide precompiled `python.wasm` modules in our [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes/) project, so the installation is simple. + +## Run a Python example + +1. Download `wws`: + + ```bash + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +2. Run the [python-basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/python-basic) example from the Wasm Workers Server's repository. The `-i` flag will install the Python runtime automatically. + + ```bash + wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/python-basic" + ``` + +3. Access to http://localhost:8080. + +## Python runtime Installation + +To install the Python Wasm module, run the following command: + +``` +wws runtimes install python latest +``` + +## Your first Python worker + +Python workers are based on the [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) / [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) objects from the Web Fetch API. Since these entities don't exist in the Python language, the worker includes a polyfill with these two classes. You can find the [polyfill code here](https://github.com/vmware-labs/wasm-workers-server/blob/main/metadata/repository/v1/files/python/3/poly.py). + +In this example, the worker will get a request and print all the related information. + +1. First, create a new `index.py` file with the following content. The `worker` method is mandatory as it will be the entrypoint for the worker: + + ```python title="./index.py" + def worker(req): + return Response("Hello from Python in WebAssembly!") + ``` + +1. Now, you can add more content to the `worker` method to show the request information. In addition to that, let's add a response header. + + ```python title="./index.py" + def worker(req): + # Body response + body = '''\ + + +

Hello from Wasm Workers Server

+

Replying to {url}

+

Method: {method}

+

User Agent: {agent}

Payload: {body}

+

+ This page was generated by a Python file inside WebAssembly +

+ + '''.format( + url=req.url, + method=req.method, + agent=req.headers["user-agent"], + body=req.body + ) + + # Build a new response + res = Response(body) + + # Add a new header + res.headers["x-generated-by"] = "wasm-workers-server" + + return res + ``` + +1. Save the file +1. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. +1. [Install the Python runtime](#installation) +1. Run your worker with `wws` + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/ + => index.py (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Add a Key / Value store + +Wasm Workers allows you to add a Key / Value store to your workers. Read more information about this feature in the [Key / Value store](../features/key-value.md) section. + +To add a KV store to your worker, follow these steps: + +1. First, create a `counter.py` file. It will access the KV store through the `Cache` object: + + ```python title="./counter.py" + CACHE_KEY = "counter" + + def worker(request): + count = Cache.get(CACHE_KEY) + + if count is None: + count = 0 + else: + count = int(count) + + # Body response + body = '''\ + The counter value is: {count} + '''.format( + count=count + ) + + # Build a new response + res = Response(body) + + # Update the counter + Cache.set(CACHE_KEY, count + 1) + + return res + ``` + +1. Create a `counter.toml` file with the following content. Note the name of the TOML file must match the name of the worker. In this case we have `counter.py` and `counter.toml` in the same folder: + + ```toml title="./counter.toml" + name = "counter" + version = "1" + + [data] + [data.kv] + namespace = "counter" + ``` + +1. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. You also need to install the Python runtime with the command below: + + ```plain + wws runtimes install python latest + ``` + +1. Save the file and run your worker with `wws`: + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/counter + => counter.py (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Dynamic routes + +You can define [dynamic routes by adding route parameters to your worker files](../features/dynamic-routes.md) (like `[id].py`). To read them in Python, access to the `request.params` object: + +```python +def worker(request): + body = "The URL parameter is: {param}".format( + param=request.params['id'] + ) + + Response(body) +``` + +## Read environment variables + +Environment variables are configured [via the related TOML configuration file](../features/environment-variables.md). These variables are directly injected as global constants in your worker. To read them, just use the same name you configured in your TOML file: + +```toml title="./envs.toml" +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Now, you can read the `MESSAGE` environment variable using the Python `os` module: + +```python title="./envs.py" +import os + +def worker(req): + # Body response + body = "The environment variable value is: {message}".format( + message=os.getenv("MESSAGE") + ) + + return Response(body) +``` + +If you prefer, you can configure the environment variable value dynamically by following [these instructions](../features/environment-variables.md#inject-existing-environment-variables). + +## Python libraries + +The Python ecosystem has a huge number of packages. Developers like you usually rely on other libraries to accomplish different goals. In this example, you will use the [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#quick-start) to parse an HTML document and read its text. You have all the code available in the [examples/python-libs](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/python-libs) folder. + +To add a new Python library to your project, follow these steps: + +1. First, create an `index.py` file with the content below. This worker reads an HTML document and returns the text using the `bs4` library: + + ```python title="./index.py" + from bs4 import BeautifulSoup + + html_doc = """ + + Wasm Workers Server + + +
+

This page was generated by a Python file running in WebAssembly.

+
+ + """ + + def worker(req): + soup = BeautifulSoup(html_doc, 'html.parser') + + res = Response(soup.get_text(". ", True)) + res.headers["x-generated-by"] = "wasm-workers-server" + + return res + ``` + +1. Install the Beautiful Soup library with `pip` and save it in a new `_libs` folder: + + ```plain + pip3 install -t ./_libs beautifulsoup4 + ``` + +1. Create an `index.toml` file with the content below. Note the name of the TOML file must match the name of the worker (`index.py` and `index.toml`). The current configuration mounts the `_libs` folder and sets the `PYTHONPATH` environment variable to the mount path: + + ```toml title="./index.toml" + name = "libs" + version = "1" + + [vars] + PYTHONPATH = "/opt/python/libs" + + [[folders]] + from = "./_libs" + to = "/opt/python/libs" + ``` + +1. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. You also need to install the Python runtime with the command below: + + ```plain + wws runtimes install python latest + ``` + +1. Run your worker with `wws`: + + ```bash + wws + + āš™ļø Preparing the project from: . + āš™ļø Loading routes from: . + ā³ Loading workers from 1 routes... + āœ… Workers loaded in 524.804167ms. + - http://127.0.0.1:8080/ + => ./index.py + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +### Limitations + +Currently, Wasm Workers Server only supports pure Python libraries like Beautiful Soup. Libraries that requires to compile native extensions are not supported yet. + +## Examples + +* [Basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/python-basic/) +* [Key / Value](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/python-kv/) +* [Environment variables](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/python-envs/) + +## Feature compatibility + +[Workers' features](../features/all.md) that are available in Python: + +| [K/V Store](../features/key-value.md) | [Environment Variables](../features/environment-variables.md) | [Dynamic Routes](../features/dynamic-routes.md) | [Folders](../features/mount-folders.md) | [HTTP Requests](../features/http-requests.md) | +| --- | --- | --- | --- | --- | +| āœ… | āœ… | āœ… | āœ… | āŒ | diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/ruby.md b/examples/containers/wasm-workers-server/docs/docs/languages/ruby.md new file mode 100644 index 00000000..65070123 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/ruby.md @@ -0,0 +1,197 @@ +--- +sidebar_position: 4 +--- + +# Ruby + +The [Ruby](https://www.ruby-lang.org/) interpreter is not embedded in Wasm Workers Server. To create workers based on this language, you first need to install a Ruby runtime. + +Fortunately, we provide precompiled `ruby.wasm` modules in our [WebAssembly Language Runtimes](https://github.com/vmware-labs/webassembly-language-runtimes/) project, so the installation is simple. + +## Run a Ruby example + +1. Download `wws`: + + ```bash + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +2. Run the [ruby-basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/ruby-basic) example from the Wasm Workers Server's repository. The `-i` flag will install the Ruby runtime automatically. + + ```bash + wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/ruby-basic" + ``` + +3. Access to http://localhost:8080. + +## Ruby runtime installation + +To install the Ruby Wasm module, run the following command: + +```console +wws runtimes install ruby latest +``` + +## Your first Ruby worker + +Ruby workers are based on the [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) / [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) objects from the Web Fetch API. Since these entities don't exist in the Ruby language, the worker includes a polyfill with these two classes. You can find the [polyfill code here](https://github.com/vmware-labs/wasm-workers-server/blob/main/metadata/repository/v1/files/ruby/3/poly.rb). + +In this example, the worker will get a request and print all the related information. + +1. First, create a new `index.rb` file with the following content. The `worker` method is mandatory as it will be the entrypoint for the worker: + + ```ruby title="./index.rb" + def worker(req) + Response.new("Hello from Ruby in WebAssembly!") + end + ``` + +1. Now, you can add more content to the `worker` method to show the request information. In addition to that, let's add a response header. + + ```ruby title="./index.rb" + def worker(req) + # Body response + body = %{ + + +

Hello from Wasm Workers Server

+

Replying to #{req.url}

+

Method: #{req.method}

+

User Agent: #{req.headers["user-agent"]}

Payload: #{req.body || "-"}

+

+ This page was generated by a Ruby file inside WebAssembly +

+ + } + + # Build a new response + res = Response.new(body) + + # Add a new header + res.headers["x-generated-by"] = "wasm-workers-server" + + res + end + ``` + +1. Save the file +1. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. +1. [Install the Ruby runtime](#installation) +1. Run your worker with `wws` + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/ + => index.rb (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Add a Key / Value store + +Wasm Workers allows you to add a Key / Value store to your workers. Read more information about this feature in the [Key / Value store](../features/key-value.md) section. + +To add a KV store to your worker, follow these steps: + +1. First, create a `counter.rb` file. It will access the KV store through the `Cache` object: + + ```ruby title="./counter.rb" + CACHE_KEY = "counter"; + + def worker(request) + # Prepare the body + count = Cache.get(CACHE_KEY).to_i || 0 + body = "The counter value is: #{count}" + + # Update the counter + count += 1 + Cache.set(CACHE_KEY, count) + + # Return the response + Response.new(body) + end + ``` + +1. Create a `counter.toml` file with the following content. Note the name of the TOML file must match the name of the worker. In this case we have `counter.rb` and `counter.toml` in the same folder: + + ```toml title="./counter.toml" + name = "counter" + version = "1" + + [data] + [data.kv] + namespace = "counter" + ``` + +1. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. You also need to install the Ruby runtime with the command below: + + ```plain + wws runtimes install ruby latest + ``` + +1. Save the file and run your worker with `wws`: + + ```bash + wws + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/counter + => counter.rb (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Dynamic routes + +You can define [dynamic routes by adding route parameters to your worker files](../features/dynamic-routes.md) (like `[id].rb`). To read them in Ruby, access to the `request.params` object: + +```rb +def worker(request) + Response.new("The URL parameter is: #{request.params['id']}") +end +``` + +## Read environment variables + +Environment variables are configured [via the related TOML configuration file](../features/environment-variables.md). These variables are directly injected as global constants in your worker. To read them, just use the same name you configured in your TOML file: + +```toml title="./envs.toml" +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Now, you can read the `MESSAGE` environment variable using the Ruby `ENV` class: + +```ruby title="./envs.rb" +def worker(request) + Response.new( + "The environment variable value is: #{ENV.fetch('MESSAGE')}" + ) +end +``` + +If you prefer, you can configure the environment variable value dynamically by following [these instructions](../features/environment-variables.md#inject-existing-environment-variables). + +## Examples + +* [Basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/ruby-basic/) +* [Key / Value](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/ruby-kv/) +* [Environment variables](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/ruby-envs/) + +## Feature compatibility + +[Workers' features](../features/all.md) that are available in Ruby: + +| [K/V Store](../features/key-value.md) | [Environment Variables](../features/environment-variables.md) | [Dynamic Routes](../features/dynamic-routes.md) | [Folders](../features/mount-folders.md) | [HTTP Requests](../features/http-requests.md) | +| --- | --- | --- | --- | --- | +| āœ… | āœ… | āœ… | āœ… | āŒ | diff --git a/examples/containers/wasm-workers-server/docs/docs/languages/rust.md b/examples/containers/wasm-workers-server/docs/docs/languages/rust.md new file mode 100644 index 00000000..0686aa29 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docs/languages/rust.md @@ -0,0 +1,478 @@ +--- +sidebar_position: 2 +--- + +# Rust + +Rust workers are compiled into a Wasm module. +Then, they are loaded by Wasm Workers Server and start processing requests. + +## Your first Rust worker + +Every worker receives a [Request](https://docs.rs/http/0.2.8/http/request/struct.Request.html) struct and returns a [Response](https://docs.rs/http/0.2.8/http/response/struct.Response.html). These structs come from the widely known [`http` crate](https://docs.rs/http/) and the `Content` struct is defined in our rust kit. It allows you returning different types. Finally, the `worker` macro connects your worker with `wws`. + +In this example, the worker will get a request and print all the related information. + +1. Create a new Rust project: + + ```bash + cargo new --name worker worker + ``` + +1. Add the dependencies to the `Cargo.toml` file: + + ```toml title="Cargo.toml" + [package] + name = "worker" + version = "0.1.0" + edition = "2021" + + [dependencies] + anyhow = "1.0.63" + wasm-workers-rs = { git = "https://github.com/vmware-labs/wasm-workers-server/", tag = "v1.3.0" } + ``` + +1. Add the `reply` function to the `src/main.rs` file. You will need to import the required resources from the `wasm-workers-rs` crate and use the `worker` macro: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Content, + }; + + #[worker] + fn reply(req: Request) -> Result> { + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(String::from("Hello wasm!").into())?) + } + ``` + +1. Now, you can add all the information from the given `Request` struct: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, HeaderValue, Request, Response}, + }; + + #[worker] + fn reply(req: Request) -> Result> { + // Applied changes here to use the Response method. This requires changes + // on signature and how it returns the data. + let response = format!( + " + +

Hello World

+

Replying to {}

+

Method: {}

+

User Agent: {}

+

Body: {}

+

This page was generated by a Wasm modules built from Rust.

+ ", + req.uri(), + req.method().as_str(), + req.headers() + .get("user-agent") + .unwrap_or(&HeaderValue::from_str("None").unwrap()) + .to_str() + .unwrap(), + req.body() + ); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) + } + ``` + +1. In this case, you need to compile the project to Wasm ([WASI](https://wasi.dev/)): + + ```bash + # Install the component and build + rustup target add wasm32-wasi && \ + cargo build --release --target wasm32-wasi + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + cd target/wasm32-wasi/release && \ + wws . + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/worker + => worker.wasm (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Add a Key / Value store + +Wasm Workers allows you to add a Key / Value store to your workers. Read more information about this feature in the [Key / Value store](../features/key-value.md) section. + +To add a KV store to your worker, follow these steps: + +1. Create a new Rust project: + + ```bash + cargo new --name worker-kv worker-kv + ``` + +1. Add the dependencies to the `Cargo.toml` file: + + ```toml title="Cargo.toml" + [package] + name = "worker-kv" + version = "0.1.0" + edition = "2021" + + [dependencies] + anyhow = "1.0.63" + wasm-workers-rs = { git = "https://github.com/vmware-labs/wasm-workers-server/", tag = "v1.3.0" } + ``` + +1. Add the `reply` function to the `src/main.rs` file. You will need to import the required resources from the `wasm-workers-rs` crate and use the `worker` macro. In this case, we will add a new attribute to the `worker` macro called `cache` and update the function signature: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Content, + }; + + #[worker(cache)] + fn reply(_req: Request, cache: &mut Cache) -> Result> { + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(String::from("Hello wasm!").into())?) + } + ``` + +1. Then, let's read a value from the cache and update it: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Cache, Content, + }; + + #[worker(cache)] + fn reply(_req: Request, cache: &mut Cache) -> Result> { + // Applied changes here to use the Response method. This requires changes + // on signature and how it returns the data. + let count = cache.get("counter"); + let count_num = match count { + Some(count_str) => count_str.parse::().unwrap_or(0), + None => 0, + }; + + let response = format!( + " + +

Key / Value store in Rust

+

Counter: {}

+

This page was generated by a Wasm modules built from Rust.

+ ", + count_num + ); + + cache.insert("counter".to_string(), (count_num + 1).to_string()); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) + } + ``` + +1. Compile the project to Wasm ([WASI](https://wasi.dev/)): + + ```bash + # Install the component and build + rustup target add wasm32-wasi && \ + cargo build --release --target wasm32-wasi + ``` + +1. Create a `worker-kv.toml` file with the following content. Note the name of the TOML file must match the name of the worker. In this case we have `worker-kv.wasm` and `worker-kv.toml` in the same folder (`target/wasm32-wasi/release`): + + ```toml title="target/wasm32-wasi/release/worker-kv.toml" + name = "workerkv" + version = "1" + + [data] + [data.kv] + namespace = "workerkv" + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```bash + cd target/wasm32-wasi/release && \ + wws . + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/worker-kv + => worker-kv.wasm (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Send an HTTP request + +Wasm Workers allows you to send HTTP requests from your workers. Read more information about this feature in the [HTTP Requests](../features/http-requests.md) section. + +To perform HTTP requests from your worker, follow these steps: + +1. Create a new Rust project: + + ```shell-session + cargo new --name fetch fetch + ``` + +1. Add dependencies to the `Cargo.toml` file: + + ```toml title="Cargo.toml" + [package] + name = "fetch" + version = "0.1.0" + edition = "2021" + + [dependencies] + anyhow = "1.0.63" + wasm-workers-rs = { git = "https://github.com/vmware-labs/wasm-workers-server/", tag = "v1.4.0" } + serde = { version = "1.0", features = ["derive"] } + serde_json = "1.0.85" + ``` + +1. Add the `reply` function to the `src/main.rs` file. You will need to import the required resources from the `wasm-workers-rs` crate, use the `worker` macro and the `bindings` module. In this case, you need to import also the `serde` library to deserialize the API response from the external API: + + ```rust title="src/main.rs" + use anyhow::Result; + use serde::{Deserialize, Serialize}; + use wasm_workers_rs::{ + worker, + bindings, + http::{self, Request, Response}, + Content, + }; + + #[worker] + fn reply(_req: Request) -> Result> { + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(String::from("Hello wasm!").into())?) + } + ``` + +1. Then, let's create the `http::Request` instance and pass it to the `bindings::send_http_request` method. In this example, we will call the [{JSON} Placeholder API](https://jsonplaceholder.typicode.com/) to retrieve a `Post`. You need to create that `struct` to deserialize the request response with `serde`: + + ```rust title="src/main.rs" + use anyhow::Result; + use serde::{Deserialize, Serialize}; + use wasm_workers_rs::{ + worker, + bindings, + http::{self, Request, Response}, + Content, + }; + + #[derive(Serialize, Deserialize)] + #[serde(rename_all = "camelCase")] + struct Post { + id: i32, + title: String, + body: String, + user_id: i32, + } + + #[worker] + fn reply(_req: Request) -> Result> { + let external_request = Request::builder() + .uri("https://jsonplaceholder.typicode.com/posts/1") + .body(String::new()) + .unwrap(); + + // Get the request + let res = bindings::send_http_request(external_request).unwrap(); + + // Parse the response + let data = res.body(); + + let post: Post = serde_json::from_slice(&data).unwrap(); + + // Prepare the final response + let response = format!( + " + + Wasm Workers Server + + + + +
+

{}

+

{}

+
+ ", + &post.title, &post.body + ); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) + } + ``` + +1. Compile the project to Wasm ([WASI](https://wasi.dev/)): + + ```shell-session + # Install the component and build + rustup target add wasm32-wasi && \ + cargo build --release --target wasm32-wasi + ``` + +1. After you compiled the project, move the worker to the current folder: + + ```shell-session + mv ./target/wasm32-wasi/release/fetch.wasm ./ + ``` + +1. Create a `fetch.toml` file with the following content. It enables the worker to perform HTTP requests to that host given that, by default, HTTP requests are forbidden. + + Note the name of the TOML file must match the name of the worker. In this case we have `fetch.wasm` and `fetch.toml` in the same folder: + + ```toml title="fetch.toml" + name = "fetch" + version = "1" + + [features] + [features.http_requests] + allowed_methods = ["GET"] + allowed_hosts = ["jsonplaceholder.typicode.com"] + ``` + +1. Run your worker with `wws`. If you didn't download the `wws` server yet, check our [Getting Started](../get-started/quickstart.md) guide. + + ```shell-session + wws . --ignore "target/**" + + āš™ļø Loading routes from: . + šŸ—ŗ Detected routes: + - http://127.0.0.1:8080/fetch + => fetch.wasm (name: default) + šŸš€ Start serving requests at http://127.0.0.1:8080 + ``` + +1. Finally, open in your browser. + +## Dynamic routes + +You can define [dynamic routes by adding route parameters to your worker files](../features/dynamic-routes.md) (like `[id].wasm`). To read them in Rust, follow these steps: + +1. Add the `params` configuration parameter to the `worker` macro and update the method signature to receive the values: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Content, + }; + + #[worker(params)] + fn reply(req: Request, params: &HashMap) -> Result> { + // ... + } + ``` + +1. Then, you can read the values from the `params` argument: + + ```rust title="src/main.rs" + use anyhow::Result; + use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Content, + }; + + #[worker(params)] + fn reply(req: Request, params: &HashMap) -> Result> { + let missing_param = String::from("none"); + let id = params.get("id").unwrap_or_else(|| &missing_param); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(format!("Hey! The parameter is: {}", id).into())?) + } + ``` + +## Read environment variables + +Environment variables are configured [via the related TOML configuration file](../features/environment-variables.md). These variables are accessible via `std::env` in your worker. To read them, just use the same name you configured in your TOML file: + +```toml title="envs.toml" +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" +``` + +Now, you can read the `MESSAGE` variable using the [`std::env` Rust library](https://doc.rust-lang.org/std/env/fn.var.html): + +```rust title="src/main.rs" +use anyhow::Result; +use std::env; +use wasm_workers_rs::{ + worker, + http::{self, Request, Response}, + Content, +}; + +#[worker] +fn handler(req: Request) -> Result> { + // Read the environment variable using the std::env::var method + let message = env::var("MESSAGE").unwrap_or_else(|_| String::from("Missing message")); + + let response = format!( + "The message is: {}", + message, + ); + + Ok(http::Response::builder() + .status(200) + .body(response.into())?) +} +``` + +If you prefer, you can configure the environment variable value dynamically by following [these instructions](../features/environment-variables.md#inject-existing-environment-variables). + +## Other examples + +* [Basic](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/rust-basic) +* [Counter](https://github.com/vmware-labs/wasm-workers-server/tree/main/examples/rust-kv) + +## Feature compatibility + +[Workers' features](../features/all.md) that are available in Rust: + +| [K/V Store](../features/key-value.md) | [Environment Variables](../features/environment-variables.md) | [Dynamic Routes](../features/dynamic-routes.md) | [Folders](../features/mount-folders.md) | [HTTP Requests](../features/http-requests.md) | +| --- | --- | --- | --- | --- | +| āœ… | āœ… | āœ… | āœ… | āœ… | diff --git a/examples/containers/wasm-workers-server/docs/docusaurus.config.js b/examples/containers/wasm-workers-server/docs/docusaurus.config.js new file mode 100644 index 00000000..d15be73e --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/docusaurus.config.js @@ -0,0 +1,122 @@ +// @ts-check +// Note: type annotations allow type checking and IDEs autocompletion + +const lightCodeTheme = require('prism-react-renderer/themes/github'); +const darkCodeTheme = require('prism-react-renderer/themes/dracula'); + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'Wasm Workers Server', + tagline: 'A WebAssembly framework to develop serverless applications and run them anywhere', + url: 'https://workers.wasmlabs.dev', + baseUrl: '/', + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + favicon: 'img/favicon.svg', + // Even if you don't use internalization, you can use this field to set useful + // metadata like html lang. For example, if your site is Chinese, you may want + // to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + // Get the index metadata for `wws` language runtimes + staticDirectories: ["static", "../metadata"], + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: require.resolve('./sidebars.js'), + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/vmware-labs/wasm-workers-server/tree/main/docs', + }, + theme: { + customCss: require.resolve('./src/css/custom.css'), + }, + }), + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + navbar: { + title: 'VMware OCTO / Wasm Workers Server', + items: [ + { + type: 'doc', + docId: 'get-started/introduction', + position: 'left', + label: 'Documentation', + }, + { + href: 'https://github.com/vmware-labs/wasm-workers-server', + label: 'GitHub', + position: 'right', + }, + { + href: 'https://wasmlabs.dev', + label: 'Wasm Labs', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Tutorial', + to: '/docs/get-started/quickstart', + }, + ], + }, + { + title: 'Other Projects', + items: [ + { + label: 'WebAssembly Language Runtimes', + href: 'https://github.com/vmware-labs/webassembly-language-runtimes', + }, + { + label: 'WordPress in the Browser', + href: 'https://wordpress.wasmlabs.dev', + }, + { + label: 'Apache HTTP Server mod_wasm module', + href: 'https://github.com/vmware-labs/mod_wasm', + }, + ], + }, + { + title: 'More', + items: [ + { + href: 'https://wasmlabs.dev', + label: 'Wasm Labs', + }, + { + label: 'GitHub', + href: 'https://github.com/vmware-labs/wasm-workers-server', + }, + ], + }, + ], + copyright: `Copyright Ā© ${new Date().getFullYear()} VMware, Inc.`, + }, + prism: { + theme: lightCodeTheme, + darkTheme: darkCodeTheme, + additionalLanguages: ['rust', 'toml', 'ruby', 'python'], + }, + }), +}; + +module.exports = config; diff --git a/examples/containers/wasm-workers-server/docs/package-lock.json b/examples/containers/wasm-workers-server/docs/package-lock.json new file mode 100644 index 00000000..a08d28b5 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/package-lock.json @@ -0,0 +1,21660 @@ +{ + "name": "docs", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "docs", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/preset-classic": "2.2.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "got": ">=11.8.5", + "prism-react-renderer": "^1.3.5", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "trim": ">=0.0.3" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "2.2.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz", + "integrity": "sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==", + "dependencies": { + "@algolia/autocomplete-shared": "1.7.2" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz", + "integrity": "sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==", + "dependencies": { + "@algolia/autocomplete-shared": "1.7.2" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz", + "integrity": "sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==" + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz", + "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==", + "dependencies": { + "@algolia/cache-common": "4.14.2" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz", + "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz", + "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==", + "dependencies": { + "@algolia/cache-common": "4.14.2" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz", + "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==", + "dependencies": { + "@algolia/client-common": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz", + "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==", + "dependencies": { + "@algolia/client-common": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz", + "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==", + "dependencies": { + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz", + "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==", + "dependencies": { + "@algolia/client-common": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz", + "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==", + "dependencies": { + "@algolia/client-common": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/logger-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz", + "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz", + "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==", + "dependencies": { + "@algolia/logger-common": "4.14.2" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz", + "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==", + "dependencies": { + "@algolia/requester-common": "4.14.2" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz", + "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz", + "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==", + "dependencies": { + "@algolia/requester-common": "4.14.2" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz", + "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==", + "dependencies": { + "@algolia/cache-common": "4.14.2", + "@algolia/logger-common": "4.14.2", + "@algolia/requester-common": "4.14.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dependencies": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dependencies": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", + "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", + "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz", + "integrity": "sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@docsearch/css": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.0.tgz", + "integrity": "sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==" + }, + "node_modules/@docsearch/react": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.0.tgz", + "integrity": "sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==", + "dependencies": { + "@algolia/autocomplete-core": "1.7.2", + "@algolia/autocomplete-preset-algolia": "1.7.2", + "@docsearch/css": "3.3.0", + "algoliasearch": "^4.0.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.2.0.tgz", + "integrity": "sha512-Vd6XOluKQqzG12fEs9prJgDtyn6DPok9vmUWDR2E6/nV5Fl9SVkhEQOBxwObjk3kQh7OY7vguFaLh0jqdApWsA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^1.12.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.2.0.tgz", + "integrity": "sha512-mAAwCo4n66TMWBH1kXnHVZsakW9VAXJzTO4yZukuL3ro4F+JtkMwKfh42EG75K/J/YIFQG5I/Bzy0UH/hFxaTg==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-DF3j1cA5y2nNsu/vk8AG7xwpZu6f5MKkPPMaaIbgXLnWGfm6+wkOeW7kNrxnM95YOhKUkJUophX69nGUnLsm0A==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.2.0.tgz", + "integrity": "sha512-X2bzo3T0jW0VhUU+XdQofcEeozXOTmKQMvc8tUnWRdTnCvj4XEcBVdC3g+/jftceluiwSTNRAX4VBOJdNt18jA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", + "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.2.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", + "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "tslib": "^2.4.0", + "unist-util-visit": "^2.0.3", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", + "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@types/react-router-config": "^5.0.6", + "combine-promises": "^1.1.0", + "fs-extra": "^10.1.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", + "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "fs-extra": "^10.1.0", + "tslib": "^2.4.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", + "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "fs-extra": "^10.1.0", + "react-json-view": "^1.21.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", + "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", + "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", + "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "fs-extra": "^10.1.0", + "sitemap": "^7.1.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", + "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/plugin-debug": "2.2.0", + "@docusaurus/plugin-google-analytics": "2.2.0", + "@docusaurus/plugin-google-gtag": "2.2.0", + "@docusaurus/plugin-sitemap": "2.2.0", + "@docusaurus/theme-classic": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-search-algolia": "2.2.0", + "@docusaurus/types": "2.2.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", + "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "copy-text-to-clipboard": "^3.0.1", + "infima": "0.2.0-alpha.42", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.14", + "prism-react-renderer": "^1.3.5", + "prismjs": "^1.28.0", + "react-router-dom": "^5.3.3", + "rtlcss": "^3.5.0", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", + "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "dependencies": { + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^1.3.5", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", + "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", + "dependencies": { + "@docsearch/react": "^3.1.1", + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "algoliasearch": "^4.13.1", + "algoliasearch-helper": "^3.10.0", + "clsx": "^1.2.1", + "eta": "^1.12.3", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", + "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", + "dependencies": { + "fs-extra": "^10.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", + "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.2.0.tgz", + "integrity": "sha512-oNk3cjvx7Tt1Lgh/aeZAmFpGV2pDr5nHKrBVx6hTkzGhrnMuQqLt6UPlQjdYQ3QHXwyF/ZtZMO1D5Pfi0lu7SA==", + "dependencies": { + "@docusaurus/logger": "2.2.0", + "@svgr/webpack": "^6.2.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.2.0.tgz", + "integrity": "sha512-qebnerHp+cyovdUseDQyYFvMW1n1nv61zGe5JJfoNQUnjKuApch3IVsz+/lZ9a38pId8kqehC1Ao2bW/s0ntDA==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.2.0.tgz", + "integrity": "sha512-I1hcsG3yoCkasOL5qQAYAfnmVoLei7apugT6m4crQjmDGxq+UkiRrq55UqmDDyZlac/6ax/JC0p+usZ6W4nVyg==", + "dependencies": { + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0" + } + }, + "node_modules/@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/@sindresorhus/is": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", + "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "dependencies": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", + "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", + "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.19", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz", + "integrity": "sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", + "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.15.tgz", + "integrity": "sha512-ZHc4W2dnEQPfhn06TBEdWaiUHEZAocYaiVMfwOipY5jcJt/251wVrKCBWBetGZWO5CF8tdb7L3DmdxVlZ2BOIg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/algoliasearch": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz", + "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.14.2", + "@algolia/cache-common": "4.14.2", + "@algolia/cache-in-memory": "4.14.2", + "@algolia/client-account": "4.14.2", + "@algolia/client-analytics": "4.14.2", + "@algolia/client-common": "4.14.2", + "@algolia/client-personalization": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/logger-common": "4.14.2", + "@algolia/logger-console": "4.14.2", + "@algolia/requester-browser-xhr": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/requester-node-http": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", + "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dependencies": { + "follow-redirects": "^1.14.7" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@babel/core": "^7.11.6" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.3.tgz", + "integrity": "sha512-6BehRBOs7iurNjAYN9iPazTwFDaMQavJO8W1MEm3s2pH8q/tkPTtLDRUZaweWK87WFGf2Y5wLAlaCJlR5kOz3w==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.1", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.0", + "keyv": "^4.5.2", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001435", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz", + "integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combine-promises": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", + "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", + "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", + "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.2.tgz", + "integrity": "sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.18", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "dependencies": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dependencies": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.9.tgz", + "integrity": "sha512-njnh4pp1xCsibJcEHnWZb4EEzni0ePMqPuPNyuWT4Z+YeXmsgqNuTPIljXFEXhxGsWs9183JkXgHxc1TcsahIg==", + "dependencies": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.13", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "dependencies": { + "repeat-string": "^1.5.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", + "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "dependencies": { + "fbjs": "^3.0.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", + "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flux": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz", + "integrity": "sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==", + "dependencies": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + }, + "peerDependencies": { + "react": "^15.0.2 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "12.5.3", + "resolved": "https://registry.npmjs.org/got/-/got-12.5.3.tgz", + "integrity": "sha512-8wKnb9MGU8IPGRIo+/ukTy9XLJBwDiCpIf5TVzQ9Cpol50eMTpBq2GAuDsuDIz7hTYmZgMgC1e9ydr6kSDWs3w==", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.1", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dependencies": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immer": { + "version": "9.0.16", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", + "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.42", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", + "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "dependencies": { + "unist-util-remove": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz", + "integrity": "sha512-viOoaUFy+Z2w43VsGPbtfwFrr0tKwDctK9dUofG5MBViYhD1noGFUzzDIVw0KPwCGUP+c7zqLxm+acuQs7zLzw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json/node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json/node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/package-json/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json/node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/package-json/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "node_modules/package-json/node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/package-json/node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/package-json/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json/node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json/node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/package-json/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.3.0.tgz", + "integrity": "sha512-jAl8gJM2DvuIJiI9sL1CuiHtKM4s5aEIomkU8G3LFvbP+p8i7Sz8VV63uieTgoewGqKbi+hxBTiOKJlB35upCg==", + "dependencies": { + "sort-css-media-queries": "2.1.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.16" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "peerDependencies": { + "react": ">=0.14.9" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "dependencies": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "dependencies": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + }, + "peerDependencies": { + "react": "^17.0.0 || ^16.3.0 || ^15.5.4", + "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.4.0.tgz", + "integrity": "sha512-YrTFaEHLgJsi8sJVYHBzYn+mkP3prGkmP2DKb/tm0t7CLJY5t1Rxix8070LAKb0wby7bl/lf2EeHkuMihMZMwQ==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "dependencies": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" + } + }, + "node_modules/remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/remark-mdx/node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/remark-mdx/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/remark-mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remark-mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "dependencies": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" + }, + "node_modules/remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "dependencies": { + "mdast-squeeze-paragraphs": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", + "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" + }, + "node_modules/rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "dependencies": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + } + }, + "node_modules/rtlcss/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz", + "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", + "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-1.0.1.tgz", + "integrity": "sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w==" + }, + "node_modules/trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "dependencies": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + }, + "node_modules/wrap-ansi": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", + "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + }, + "dependencies": { + "@algolia/autocomplete-core": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz", + "integrity": "sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==", + "requires": { + "@algolia/autocomplete-shared": "1.7.2" + } + }, + "@algolia/autocomplete-preset-algolia": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz", + "integrity": "sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==", + "requires": { + "@algolia/autocomplete-shared": "1.7.2" + } + }, + "@algolia/autocomplete-shared": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz", + "integrity": "sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==" + }, + "@algolia/cache-browser-local-storage": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz", + "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==", + "requires": { + "@algolia/cache-common": "4.14.2" + } + }, + "@algolia/cache-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz", + "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==" + }, + "@algolia/cache-in-memory": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz", + "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==", + "requires": { + "@algolia/cache-common": "4.14.2" + } + }, + "@algolia/client-account": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz", + "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==", + "requires": { + "@algolia/client-common": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "@algolia/client-analytics": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz", + "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==", + "requires": { + "@algolia/client-common": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "@algolia/client-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz", + "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==", + "requires": { + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "@algolia/client-personalization": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz", + "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==", + "requires": { + "@algolia/client-common": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "@algolia/client-search": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz", + "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==", + "requires": { + "@algolia/client-common": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "@algolia/logger-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz", + "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==" + }, + "@algolia/logger-console": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz", + "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==", + "requires": { + "@algolia/logger-common": "4.14.2" + } + }, + "@algolia/requester-browser-xhr": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz", + "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==", + "requires": { + "@algolia/requester-common": "4.14.2" + } + }, + "@algolia/requester-common": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz", + "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==" + }, + "@algolia/requester-node-http": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz", + "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==", + "requires": { + "@algolia/requester-common": "4.14.2" + } + }, + "@algolia/transporter": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz", + "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==", + "requires": { + "@algolia/cache-common": "4.14.2", + "@algolia/logger-common": "4.14.2", + "@algolia/requester-common": "4.14.2" + } + }, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==" + }, + "@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "requires": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "requires": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", + "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", + "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + } + }, + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + } + }, + "@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz", + "integrity": "sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==", + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true + }, + "@docsearch/css": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.0.tgz", + "integrity": "sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==" + }, + "@docsearch/react": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.0.tgz", + "integrity": "sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==", + "requires": { + "@algolia/autocomplete-core": "1.7.2", + "@algolia/autocomplete-preset-algolia": "1.7.2", + "@docsearch/css": "3.3.0", + "algoliasearch": "^4.0.0" + } + }, + "@docusaurus/core": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.2.0.tgz", + "integrity": "sha512-Vd6XOluKQqzG12fEs9prJgDtyn6DPok9vmUWDR2E6/nV5Fl9SVkhEQOBxwObjk3kQh7OY7vguFaLh0jqdApWsA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^1.12.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.2.0.tgz", + "integrity": "sha512-mAAwCo4n66TMWBH1kXnHVZsakW9VAXJzTO4yZukuL3ro4F+JtkMwKfh42EG75K/J/YIFQG5I/Bzy0UH/hFxaTg==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-DF3j1cA5y2nNsu/vk8AG7xwpZu6f5MKkPPMaaIbgXLnWGfm6+wkOeW7kNrxnM95YOhKUkJUophX69nGUnLsm0A==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.2.0.tgz", + "integrity": "sha512-X2bzo3T0jW0VhUU+XdQofcEeozXOTmKQMvc8tUnWRdTnCvj4XEcBVdC3g+/jftceluiwSTNRAX4VBOJdNt18jA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/module-type-aliases": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", + "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", + "requires": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.2.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + } + }, + "@docusaurus/plugin-content-blog": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", + "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "tslib": "^2.4.0", + "unist-util-visit": "^2.0.3", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + } + }, + "@docusaurus/plugin-content-docs": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", + "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@types/react-router-config": "^5.0.6", + "combine-promises": "^1.1.0", + "fs-extra": "^10.1.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + } + }, + "@docusaurus/plugin-content-pages": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", + "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "fs-extra": "^10.1.0", + "tslib": "^2.4.0", + "webpack": "^5.73.0" + } + }, + "@docusaurus/plugin-debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", + "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "fs-extra": "^10.1.0", + "react-json-view": "^1.21.3", + "tslib": "^2.4.0" + } + }, + "@docusaurus/plugin-google-analytics": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", + "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "tslib": "^2.4.0" + } + }, + "@docusaurus/plugin-google-gtag": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", + "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "tslib": "^2.4.0" + } + }, + "@docusaurus/plugin-sitemap": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", + "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "fs-extra": "^10.1.0", + "sitemap": "^7.1.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/preset-classic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", + "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/plugin-debug": "2.2.0", + "@docusaurus/plugin-google-analytics": "2.2.0", + "@docusaurus/plugin-google-gtag": "2.2.0", + "@docusaurus/plugin-sitemap": "2.2.0", + "@docusaurus/theme-classic": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-search-algolia": "2.2.0", + "@docusaurus/types": "2.2.0" + } + }, + "@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "requires": { + "@types/react": "*", + "prop-types": "^15.6.2" + } + }, + "@docusaurus/theme-classic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", + "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "copy-text-to-clipboard": "^3.0.1", + "infima": "0.2.0-alpha.42", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.14", + "prism-react-renderer": "^1.3.5", + "prismjs": "^1.28.0", + "react-router-dom": "^5.3.3", + "rtlcss": "^3.5.0", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + } + }, + "@docusaurus/theme-common": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", + "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "requires": { + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^1.3.5", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + } + }, + "@docusaurus/theme-search-algolia": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", + "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", + "requires": { + "@docsearch/react": "^3.1.1", + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", + "algoliasearch": "^4.13.1", + "algoliasearch-helper": "^3.10.0", + "clsx": "^1.2.1", + "eta": "^1.12.3", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + } + }, + "@docusaurus/theme-translations": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", + "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", + "requires": { + "fs-extra": "^10.1.0", + "tslib": "^2.4.0" + } + }, + "@docusaurus/types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", + "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.2.0.tgz", + "integrity": "sha512-oNk3cjvx7Tt1Lgh/aeZAmFpGV2pDr5nHKrBVx6hTkzGhrnMuQqLt6UPlQjdYQ3QHXwyF/ZtZMO1D5Pfi0lu7SA==", + "requires": { + "@docusaurus/logger": "2.2.0", + "@svgr/webpack": "^6.2.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.2.0.tgz", + "integrity": "sha512-qebnerHp+cyovdUseDQyYFvMW1n1nv61zGe5JJfoNQUnjKuApch3IVsz+/lZ9a38pId8kqehC1Ao2bW/s0ntDA==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.2.0.tgz", + "integrity": "sha512-I1hcsG3yoCkasOL5qQAYAfnmVoLei7apugT6m4crQjmDGxq+UkiRrq55UqmDDyZlac/6ax/JC0p+usZ6W4nVyg==", + "requires": { + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "requires": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } + } + }, + "@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "requires": {} + }, + "@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "@sindresorhus/is": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", + "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==" + }, + "@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "requires": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", + "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", + "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + } + }, + "@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "requires": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + } + }, + "@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "requires": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + } + }, + "@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + } + }, + "@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "requires": { + "defer-to-connect": "^2.0.1" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "requires": { + "@types/unist": "*" + } + }, + "@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/react": { + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-router": { + "version": "5.1.19", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz", + "integrity": "sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "@types/react-router-config": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", + "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.15.tgz", + "integrity": "sha512-ZHc4W2dnEQPfhn06TBEdWaiUHEZAocYaiVMfwOipY5jcJt/251wVrKCBWBetGZWO5CF8tdb7L3DmdxVlZ2BOIg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + } + } + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "address": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==" + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "algoliasearch": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz", + "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==", + "requires": { + "@algolia/cache-browser-local-storage": "4.14.2", + "@algolia/cache-common": "4.14.2", + "@algolia/cache-in-memory": "4.14.2", + "@algolia/client-account": "4.14.2", + "@algolia/client-analytics": "4.14.2", + "@algolia/client-common": "4.14.2", + "@algolia/client-personalization": "4.14.2", + "@algolia/client-search": "4.14.2", + "@algolia/logger-common": "4.14.2", + "@algolia/logger-console": "4.14.2", + "@algolia/requester-browser-xhr": "4.14.2", + "@algolia/requester-common": "4.14.2", + "@algolia/requester-node-http": "4.14.2", + "@algolia/transporter": "4.14.2" + } + }, + "algoliasearch-helper": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", + "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", + "requires": { + "@algolia/events": "^4.0.1" + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "requires": { + "follow-redirects": "^1.14.7" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "requires": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "requires": { + "@babel/helper-plugin-utils": "7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==" + }, + "cacheable-request": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.3.tgz", + "integrity": "sha512-6BehRBOs7iurNjAYN9iPazTwFDaMQavJO8W1MEm3s2pH8q/tkPTtLDRUZaweWK87WFGf2Y5wLAlaCJlR5kOz3w==", + "requires": { + "@types/http-cache-semantics": "^4.0.1", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.0", + "keyv": "^4.5.2", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==" + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001435", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz", + "integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==" + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==" + }, + "clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "requires": { + "mimic-response": "^1.0.0" + }, + "dependencies": { + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + } + } + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "combine-promises": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", + "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==" + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-text-to-clipboard": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", + "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==" + }, + "copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "requires": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + } + } + }, + "core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==" + }, + "core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", + "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "requires": {} + }, + "css-loader": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.2.tgz", + "integrity": "sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.18", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "requires": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "requires": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-advanced": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.9.tgz", + "integrity": "sha512-njnh4pp1xCsibJcEHnWZb4EEzni0ePMqPuPNyuWT4Z+YeXmsgqNuTPIljXFEXhxGsWs9183JkXgHxc1TcsahIg==", + "requires": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.13", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + } + }, + "cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "requires": { + "address": "^1.0.1", + "debug": "4" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "eta": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", + "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "requires": { + "@types/node": "*", + "require-like": ">= 0.1.1" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "requires": { + "fbjs": "^3.0.0" + } + }, + "fbjs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", + "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "requires": { + "xml-js": "^1.6.11" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flux": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz", + "integrity": "sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==", + "requires": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==" + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "requires": { + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + } + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "got": { + "version": "12.5.3", + "resolved": "https://registry.npmjs.org/got/-/got-12.5.3.tgz", + "integrity": "sha512-8wKnb9MGU8IPGRIo+/ukTy9XLJBwDiCpIf5TVzQ9Cpol50eMTpBq2GAuDsuDIz7hTYmZgMgC1e9ydr6kSDWs3w==", + "requires": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.1", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "requires": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "requires": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "requires": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + }, + "hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "requires": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + } + } + }, + "hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "requires": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + } + } + }, + "html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==" + }, + "html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + }, + "html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + } + } + }, + "http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==" + }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "requires": { + "queue": "6.0.2" + } + }, + "immer": { + "version": "9.0.16", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", + "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "infima": { + "version": "0.2.0-alpha.42", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", + "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + } + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "requires": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "joi": { + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "requires": { + "unist-util-remove": "^2.0.0" + } + }, + "mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "~1.33.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==" + }, + "mini-css-extract-plugin": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz", + "integrity": "sha512-viOoaUFy+Z2w43VsGPbtfwFrr0tKwDctK9dUofG5MBViYhD1noGFUzzDIVw0KPwCGUP+c7zqLxm+acuQs7zLzw==", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + }, + "p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-loader": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.8" + } + }, + "postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sort-media-queries": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.3.0.tgz", + "integrity": "sha512-jAl8gJM2DvuIJiI9sL1CuiHtKM4s5aEIomkU8G3LFvbP+p8i7Sz8VV63uieTgoewGqKbi+hxBTiOKJlB35upCg==", + "requires": { + "sort-css-media-queries": "2.1.0" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "requires": {} + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" + }, + "prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "requires": {} + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "requires": { + "xtend": "^4.0.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + } + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "requires": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "requires": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "requires": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + } + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-loadable": { + "version": "npm:@docusaurus/react-loadable@5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "requires": { + "@types/react": "*", + "prop-types": "^15.6.2" + } + }, + "react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "requires": { + "@babel/runtime": "^7.10.3" + } + }, + "react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "requires": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "requires": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-textarea-autosize": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.4.0.tgz", + "integrity": "sha512-YrTFaEHLgJsi8sJVYHBzYn+mkP3prGkmP2DKb/tm0t7CLJY5t1Rxix8070LAKb0wby7bl/lf2EeHkuMihMZMwQ==", + "requires": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "requires": { + "rc": "1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "requires": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" + } + }, + "remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" + }, + "remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "requires": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } + } + }, + "remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "requires": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" + } + } + }, + "remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "requires": { + "mdast-squeeze-paragraphs": "^4.0.0" + } + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "requires": { + "lowercase-keys": "^3.0.0" + } + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rtl-detect": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", + "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" + }, + "rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "requires": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "requires": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "dependencies": { + "@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "std-env": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz", + "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "terser": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", + "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-1.0.1.tgz", + "integrity": "sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w==" + }, + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + } + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "peer": true + }, + "ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==" + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + }, + "unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" + }, + "unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + }, + "unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "requires": {} + }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "requires": {} + }, + "use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "requires": { + "use-isomorphic-layout-effect": "^1.1.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "requires": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "requires": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "requires": { + "string-width": "^5.0.1" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + }, + "wrap-ansi": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", + "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "requires": { + "sax": "^1.2.4" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + } + } +} diff --git a/examples/containers/wasm-workers-server/docs/package.json b/examples/containers/wasm-workers-server/docs/package.json new file mode 100644 index 00000000..20b23828 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/package.json @@ -0,0 +1,47 @@ +{ + "name": "docs", + "version": "0.0.0", + "private": true, + "scripts": { + "clean": "rm -fr ./build", + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "publish": "npm run clean && npm run build && npx wrangler pages publish ./build" + }, + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/preset-classic": "2.2.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "prism-react-renderer": "^1.3.5", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "got": ">=11.8.5", + "trim": ">=0.0.3" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "2.2.0" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "engines": { + "node": ">=16.14" + } +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/sidebars.js b/examples/containers/wasm-workers-server/docs/sidebars.js new file mode 100644 index 00000000..9ab54c24 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/sidebars.js @@ -0,0 +1,33 @@ +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ + +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + // By default, Docusaurus generates a sidebar from the docs folder structure + tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +module.exports = sidebars; diff --git a/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/index.js b/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/index.js new file mode 100644 index 00000000..42b4e46a --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/index.js @@ -0,0 +1,61 @@ +import React from 'react'; +import clsx from 'clsx'; +import styles from './styles.module.css'; + +const FeatureList = [ + { + title: 'Simple', + emoji: "āš”ļø", + description: ( + <> + Start serving your first responses in 1 minute. Don't you trust us? + + ), + }, + { + title: 'Multi-language', + emoji: "āš™ļø", + description: ( + <> + Create workers in different languages like JavaScript, Ruby, Python, Rust and Go thanks to WebAssembly. + + ), + }, + { + title: 'Compatible', + emoji: "šŸš€", + description: ( + <> + Run your workers locally, in a small device, free-tier VPS, etc. Even in other platforms. + + ), + }, +]; + +function Feature({ emoji, title, description }) { + return ( +
+
+ {emoji} +
+
+

{title}

+

{description}

+
+
+ ); +} + +export default function HomepageFeatures() { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ); +} diff --git a/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/styles.module.css b/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 00000000..03c871ae --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,14 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureEmoji { + font-size: 4rem; +} + +.featureDescription { + font-size: 1.2rem; +} diff --git a/examples/containers/wasm-workers-server/docs/src/css/custom.css b/examples/containers/wasm-workers-server/docs/src/css/custom.css new file mode 100644 index 00000000..08b1d584 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/css/custom.css @@ -0,0 +1,106 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + + + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #007AB8; + --ifm-color-primary-dark: #138ac5; + --ifm-color-primary-darker: #0d6d9d; + --ifm-color-primary-darkest: #20415C; + --ifm-color-primary-light: #5ec0f0; + --ifm-color-primary-lighter: #97d3f1; + --ifm-color-primary-lightest: #ccf0f7; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'], +html[data-theme='dark'] { + --ifm-color-primary: #16AAF5; + --ifm-color-primary-dark: #138ac5; + --ifm-color-primary-darker: #0d6d9d; + --ifm-color-primary-darkest: #20415C; + --ifm-color-primary-light: #5ec0f0; + --ifm-color-primary-lighter: #97d3f1; + --ifm-color-primary-lightest: #ccf0f7; + --ifm-background-color: #1E2A31; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +/* Home page */ +.hero--primary { + --ifm-hero-text-color: var(--ifm-color-content); +} + +[data-theme='light'] .hero--primary { + --ifm-hero-background-color: var(--ifm-background-color); +} + +[data-theme='dark'] .hero--primary { + --ifm-hero-background-color: var(--ifm-color-primary-darkest); +} + +[data-theme='dark'] .hero--primary .button--primary { + color: white; +} + +.hero__diagram { + margin: 2rem auto -1rem; +} + +.hero__diagram svg { + max-width: 100%; +} + +.home__main { + padding-bottom: 4rem; +} + +[data-theme='light'] .home__main { + background-color: var(--ifm-color-primary-lightest); +} + +.home__main .codeHero_src-pages-index-module { + margin-bottom: 0; +} + +/* Add icons to the languages! */ +a.menu__link[href*="languages/"]::before { + padding-right: 0.5rem; + content: ""; + background-size: contain; + background-repeat: no-repeat; + width: 1rem; + height: 1rem; +} + +a.menu__link[href*="languages/custom"]::before, +a.menu__link[href*="languages/introduction"]::before { + content: unset; +} + +a.menu__link[href*="languages/javascript"]::before { + background-image: url(/img/languages/js.svg); +} + +a.menu__link[href*="languages/python"]::before { + background-image: url(/img/languages/python.svg); +} + +a.menu__link[href*="languages/ruby"]::before { + background-image: url(/img/languages/ruby.svg); +} + +a.menu__link[href*="languages/rust"]::before { + background-image: url(/img/languages/rust.svg); +} + +a.menu__link[href*="languages/go"]::before { + background-image: url(/img/languages/go.svg); +} diff --git a/examples/containers/wasm-workers-server/docs/src/pages/diagram.svg b/examples/containers/wasm-workers-server/docs/src/pages/diagram.svg new file mode 100644 index 00000000..7eeaf106 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/pages/diagram.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/containers/wasm-workers-server/docs/src/pages/index.js b/examples/containers/wasm-workers-server/docs/src/pages/index.js new file mode 100644 index 00000000..252c39eb --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/pages/index.js @@ -0,0 +1,63 @@ +import React from 'react'; +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import Diagram from "@site/src/pages/diagram.svg"; + +import styles from './index.module.css'; + +function HomepageHeader() { + const { siteConfig } = useDocusaurusContext(); + return ( +
+
+

{siteConfig.title}

+

{siteConfig.tagline}

+
+ + Get Started in 5 min ā±ļø + +
+
+ +
+
+
+ ); +} + +export default function Home() { + const { siteConfig } = useDocusaurusContext(); + return ( + + +
+ +
+          {`$ curl -fsSL https://workers.wasmlabs.dev/install | bash
+$ wws --help
+Usage: wws [OPTIONS] [PATH] [COMMAND]
+
+Commands:
+  runtimes  Manage the language runtimes in your project
+  help      Print this message or the help of the given subcommand(s)
+
+Arguments:
+  [PATH]  Folder to read WebAssembly modules from [default: .]
+
+Options:
+      --host   Hostname to initiate the server [default: 127.0.0.1]
+  -p, --port       Port to initiate the server [default: 8080]
+      --prefix   Prepend the given path to all URLs [default: ]
+  -h, --help             Print help information
+  -V, --version          Print version information`}
+
+
+ ); +} diff --git a/examples/containers/wasm-workers-server/docs/src/pages/index.module.css b/examples/containers/wasm-workers-server/docs/src/pages/index.module.css new file mode 100644 index 00000000..887e9e20 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/src/pages/index.module.css @@ -0,0 +1,29 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} + +.codeHero { + margin: 0 auto 4rem; + max-width: 860px; + padding: 1rem; +} diff --git a/examples/containers/wasm-workers-server/docs/static/.nojekyll b/examples/containers/wasm-workers-server/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/docs/static/_redirects b/examples/containers/wasm-workers-server/docs/static/_redirects new file mode 100644 index 00000000..aa9cb1b2 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/_redirects @@ -0,0 +1,13 @@ +/install https://raw.githubusercontent.com/vmware-labs/wasm-workers-server/main/install.sh 307 +/quickstart /docs/get-started/quickstart 301 +/examples https://github.com/vmware-labs/wasm-workers-server/tree/main/examples 301 +/docs/intro /docs/get-started/introduction 301 +/docs/intro/ /docs/get-started/introduction 301 +/docs/start /docs/get-started/quickstart 301 +/docs/start/ /docs/get-started/quickstart 301 +/docs/how-it-works /docs/get-started/how-it-works 301 +/docs/how-it-works/ /docs/get-started/how-it-works 301 +/docs/tutorials/javascript-workers /docs/languages/javascript 301 +/docs/tutorials/javascript-workers/ /docs/languages/javascript 301 +/docs/tutorials/rust-workers /docs/languages/rust 301 +/docs/tutorials/rust-workers/ /docs/languages/rust 301 \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/favicon.svg b/examples/containers/wasm-workers-server/docs/static/img/favicon.svg new file mode 100644 index 00000000..4ac4a98a --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/languages/go.svg b/examples/containers/wasm-workers-server/docs/static/img/languages/go.svg new file mode 100644 index 00000000..a17ee14f --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/languages/go.svg @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/languages/js.svg b/examples/containers/wasm-workers-server/docs/static/img/languages/js.svg new file mode 100644 index 00000000..ded250b9 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/languages/js.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/languages/python.svg b/examples/containers/wasm-workers-server/docs/static/img/languages/python.svg new file mode 100644 index 00000000..3a4e6547 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/languages/python.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/languages/ruby.svg b/examples/containers/wasm-workers-server/docs/static/img/languages/ruby.svg new file mode 100644 index 00000000..7b78ea64 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/languages/ruby.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/languages/rust.svg b/examples/containers/wasm-workers-server/docs/static/img/languages/rust.svg new file mode 100644 index 00000000..d411cb16 --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/languages/rust.svg @@ -0,0 +1,6 @@ + + + +rust + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/docs/static/img/logo.svg b/examples/containers/wasm-workers-server/docs/static/img/logo.svg new file mode 100644 index 00000000..4ac4a98a --- /dev/null +++ b/examples/containers/wasm-workers-server/docs/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/Makefile b/examples/containers/wasm-workers-server/examples/Makefile new file mode 100644 index 00000000..0f040c55 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/Makefile @@ -0,0 +1,28 @@ +.PHONY: all rust-* pdf-create + +rust-basic: + cd rust-basic && \ + cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-basic.wasm ./basic.wasm + +rust-fetch: + cd rust-fetch && \ + cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-fetch.wasm ./index.wasm + +rust-kv: + cd rust-kv && \ + cargo build --target wasm32-wasi --release && \ + mv target/wasm32-wasi/release/rust-kv.wasm ./kv.wasm + +rust-params: + cd rust-params && \ + cargo build --target wasm32-wasi --release && \ + mv target/wasm32-wasi/release/rust-params.wasm "./[id].wasm" + +rust-pdf-create: + cd rust-pdf-create && \ + cargo build --target wasm32-wasi --release && \ + mv target/wasm32-wasi/release/rust-pdf-create.wasm ./index.wasm + +all: rust-basic rust-fetch rust-kv rust-params diff --git a/examples/containers/wasm-workers-server/examples/README.md b/examples/containers/wasm-workers-server/examples/README.md new file mode 100644 index 00000000..bfcfc0c1 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/README.md @@ -0,0 +1,18 @@ +# Wasm Workers Server examples + +This folder includes several workers examples. They are written in different languages and showcases all the features from Wasm Workers Server. + +Every example includes a `README.md` file with all the instructions. + +## Documentation + +* [Quickstart](https://workers.wasmlabs.dev/docs/get-started/quickstart) +* [Features](https://workers.wasmlabs.dev/docs/category/features) + +### Language resources + +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) +* [Ruby documentation](https://workers.wasmlabs.dev/docs/languages/ruby) +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) diff --git a/examples/containers/wasm-workers-server/examples/go-basic/README.md b/examples/containers/wasm-workers-server/examples/go-basic/README.md new file mode 100644 index 00000000..eda97845 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-basic/README.md @@ -0,0 +1,31 @@ +# Go basic example + +Compile a Go worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Go](https://go.dev/) +* [TinyGo](https://tinygo.org/getting-started/install/) + +## Build + +```shell-session +tinygo build -o index.wasm -target wasi main.go +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/examples/go-basic/go.mod b/examples/containers/wasm-workers-server/examples/go-basic/go.mod new file mode 100644 index 00000000..8b5953b0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-basic/go.mod @@ -0,0 +1,12 @@ +module go-basic + +go 1.20 + +require github.com/vmware-labs/wasm-workers-server v1.3.0 + +require ( + github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect +) diff --git a/examples/containers/wasm-workers-server/examples/go-basic/go.sum b/examples/containers/wasm-workers-server/examples/go-basic/go.sum new file mode 100644 index 00000000..ee18e775 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-basic/go.sum @@ -0,0 +1,12 @@ +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/vmware-labs/wasm-workers-server v1.3.0 h1:Sm+Ycp327kRIaQIlWDXjKUITnCsaZaEqUDnPQZGPrKk= +github.com/vmware-labs/wasm-workers-server v1.3.0/go.mod h1:cigUhoitjUTLsUzR4+q0cz2FymdvJtfrfIS2hYAj69c= diff --git a/examples/containers/wasm-workers-server/examples/go-basic/main.go b/examples/containers/wasm-workers-server/examples/go-basic/main.go new file mode 100644 index 00000000..fbc6673b --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-basic/main.go @@ -0,0 +1,59 @@ +package main + +import ( + "fmt" + "io" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + var payload string + + reqBody, err := io.ReadAll(r.Body) + if err != nil { + panic(err) + } + r.Body.Close() + + if len(reqBody) == 0 { + payload = "-" + } else { + payload = string(reqBody) + } + + body := fmt.Sprintf(""+ + ""+ + "Wasm Workers Server"+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + "
"+ + "

Hello from Wasm Workers Server šŸ‘‹

"+ + "
Replying to %s
"+ + "Method: %s
"+ + "User Agent: %s
"+ + "Payload: %s
"+ + "

"+ + "This page was generated by a Go file running in WebAssembly."+ + "

"+ + "
"+ + "", r.URL.String(), r.Method, r.UserAgent(), payload) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) +} diff --git a/examples/containers/wasm-workers-server/examples/go-envs/README.md b/examples/containers/wasm-workers-server/examples/go-envs/README.md new file mode 100644 index 00000000..ee34f9c1 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-envs/README.md @@ -0,0 +1,32 @@ +# Go environment variables example + +Compile a Go worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Go](https://go.dev/) +* [TinyGo](https://tinygo.org/getting-started/install/) + +## Build + +```shell-session +tinygo build -o envs.wasm -target wasi envs.go +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Environment variables](https://workers.wasmlabs.dev/docs/features/environment-variables) +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/examples/go-envs/envs.go b/examples/containers/wasm-workers-server/examples/go-envs/envs.go new file mode 100644 index 00000000..dbb3049b --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-envs/envs.go @@ -0,0 +1,18 @@ +package main + +import ( + "fmt" + "net/http" + "os" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + body := fmt.Sprintf("The environment variable value is: %s", os.Getenv("MESSAGE")) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) +} diff --git a/examples/containers/wasm-workers-server/examples/go-envs/envs.toml b/examples/containers/wasm-workers-server/examples/go-envs/envs.toml new file mode 100644 index 00000000..4c90dfc5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-envs/envs.toml @@ -0,0 +1,5 @@ +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello! This message comes from an environment variable" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/go-fetch/README.md b/examples/containers/wasm-workers-server/examples/go-fetch/README.md new file mode 100644 index 00000000..3ae6a048 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-fetch/README.md @@ -0,0 +1,31 @@ +# Go fetch example + +Compile a Go worker to WebAssembly and run it in Wasm Workers Server. It performs a POST call to the [JSON placeholder API](https://jsonplaceholder.typicode.com/). + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Go](https://go.dev/) +* [TinyGo](https://tinygo.org/getting-started/install/) + +## Build + +```shell-session +tinygo build -o index.wasm -target wasi main.go +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/examples/go-fetch/go.mod b/examples/containers/wasm-workers-server/examples/go-fetch/go.mod new file mode 100644 index 00000000..481204c4 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-fetch/go.mod @@ -0,0 +1,15 @@ +module go-basic + +go 1.20 + +require github.com/vmware-labs/wasm-workers-server v1.3.0 + +require ( + github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect +) + +replace github.com/vmware-labs/wasm-workers-server => ../../ +replace github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings => ../../kits/go/worker/bindings diff --git a/examples/containers/wasm-workers-server/examples/go-fetch/go.sum b/examples/containers/wasm-workers-server/examples/go-fetch/go.sum new file mode 100644 index 00000000..ee18e775 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-fetch/go.sum @@ -0,0 +1,12 @@ +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/vmware-labs/wasm-workers-server v1.3.0 h1:Sm+Ycp327kRIaQIlWDXjKUITnCsaZaEqUDnPQZGPrKk= +github.com/vmware-labs/wasm-workers-server v1.3.0/go.mod h1:cigUhoitjUTLsUzR4+q0cz2FymdvJtfrfIS2hYAj69c= diff --git a/examples/containers/wasm-workers-server/examples/go-fetch/index.toml b/examples/containers/wasm-workers-server/examples/go-fetch/index.toml new file mode 100644 index 00000000..e8853e14 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-fetch/index.toml @@ -0,0 +1,6 @@ +name = "go-fetch" +version = "1" + +[features] +[features.http_requests] +allowed_hosts = ["jsonplaceholder.typicode.com"] diff --git a/examples/containers/wasm-workers-server/examples/go-fetch/main.go b/examples/containers/wasm-workers-server/examples/go-fetch/main.go new file mode 100644 index 00000000..a54f47eb --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-fetch/main.go @@ -0,0 +1,44 @@ +package main + +import ( + "bytes" + "io" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" + + "github.com/tidwall/sjson" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + // Build a JSON body + body, _ := sjson.Set("", "title", "New POST!") + body, _ = sjson.Set(body, "body", "This is the body") + body, _ = sjson.Set(body, "userId", 1) + + url := "https://jsonplaceholder.typicode.com/posts" + + // Create the request + req, err := http.NewRequest(http.MethodPost, url, bytes.NewBufferString(body)) + if err != nil { + panic(err) + } + req.Header.Set("Content-Type", "application/json") + + res, err := worker.SendHttpRequest(req) + if err != nil { + panic(err) + } + + // Read the response + resBody, err := io.ReadAll(res.Body) + if err != nil { + panic(err) + } + res.Body.Close() + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(resBody)) + }) +} diff --git a/examples/containers/wasm-workers-server/examples/go-kv/README.md b/examples/containers/wasm-workers-server/examples/go-kv/README.md new file mode 100644 index 00000000..2b7a834b --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-kv/README.md @@ -0,0 +1,32 @@ +# Go Key / Value store example + +Compile a Go worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Go](https://go.dev/) +* [TinyGo](https://tinygo.org/getting-started/install/) + +## Build + +```shell-session +tinygo build -o counter.wasm -target wasi counter.go +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Key / Value store](https://workers.wasmlabs.dev/docs/features/key-value) +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/examples/go-kv/counter.go b/examples/containers/wasm-workers-server/examples/go-kv/counter.go new file mode 100644 index 00000000..b08c2f67 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-kv/counter.go @@ -0,0 +1,34 @@ +package main + +import ( + "fmt" + "net/http" + "strconv" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + cache, _ := r.Context().Value(worker.CacheKey).(map[string]string) + + var countNum uint32 + + if count, ok := cache["counter"]; ok { + n, _ := strconv.ParseUint(count, 10, 32) + countNum = uint32(n) + } + + body := fmt.Sprintf(""+ + ""+ + "

Key / Value store in Go

"+ + "

Counter: %d

"+ + "

This page was generated by a Wasm module built from Go.

"+ + "", countNum) + + cache["counter"] = fmt.Sprintf("%d", countNum+1) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) +} diff --git a/examples/containers/wasm-workers-server/examples/go-kv/counter.toml b/examples/containers/wasm-workers-server/examples/go-kv/counter.toml new file mode 100644 index 00000000..aa9f6a95 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-kv/counter.toml @@ -0,0 +1,6 @@ +name = "counter" +version = "1" + +[data] +[data.kv] +namespace = "counter" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/go-params/README.md b/examples/containers/wasm-workers-server/examples/go-params/README.md new file mode 100644 index 00000000..61da4ecf --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-params/README.md @@ -0,0 +1,32 @@ +# Go dynamic routes example + +Compile a Go worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Go](https://go.dev/) +* [TinyGo](https://tinygo.org/getting-started/install/) + +## Build + +```shell-session +tinygo build -o [id].wasm -target wasi main.go +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Dynamic routes](https://workers.wasmlabs.dev/docs/features/dynamic-routes) +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/examples/go-params/main.go b/examples/containers/wasm-workers-server/examples/go-params/main.go new file mode 100644 index 00000000..63215a53 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-params/main.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "net/http" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker" +) + +func main() { + worker.ServeFunc(func(w http.ResponseWriter, r *http.Request) { + params, _ := r.Context().Value(worker.ParamsKey).(map[string]string) + id := "the value is not available" + + if val, ok := params["id"]; ok { + id = val + } + + body := fmt.Sprintf(""+ + ""+ + "Wasm Workers Server"+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + "
"+ + "

Hello from Wasm Workers Server šŸ‘‹

"+ + "

"+ + "This is a dynamic route! The [id].wasm worker, written in Go, is replying this URL."+ + "The id parameter value is: %s"+ + "

"+ + "

Read more about dynamic routes in the documentation

"+ + "
"+ + "", id) + + w.Header().Set("x-generated-by", "wasm-workers-server") + w.Write([]byte(body)) + }) +} diff --git a/examples/containers/wasm-workers-server/examples/go-params/public/main.css b/examples/containers/wasm-workers-server/examples/go-params/public/main.css new file mode 100644 index 00000000..ca178402 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-params/public/main.css @@ -0,0 +1,28 @@ +body { + max-width: 1000px; +} + +main { + margin: 5rem 0; +} + +h1, +p { + text-align: center; +} + +h1 { + margin-bottom: 2rem; +} + +pre { + font-size: .9rem; +} + +pre>code { + padding: 2rem; +} + +p { + margin-top: 2rem; +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/go-params/public/water.min.css b/examples/containers/wasm-workers-server/examples/go-params/public/water.min.css new file mode 100644 index 00000000..fddfc43d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/go-params/public/water.min.css @@ -0,0 +1,30 @@ +/* + * The MIT License (MIT) + * + * Copyright Ā© 2019 Kognise + * + * 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. + * + * + * Ref: https://github.com/kognise/water.css + */ +:root{--background-body:#fff;--background:#efefef;--background-alt:#f7f7f7;--selection:#9e9e9e;--text-main:#363636;--text-bright:#000;--text-muted:#70777f;--links:#0076d1;--focus:rgba(0,150,191,0.67);--border:#dbdbdb;--code:#000;--animation-duration:0.1s;--button-base:#d0cfcf;--button-hover:#9b9b9b;--scrollbar-thumb:#aaa;--scrollbar-thumb-hover:var(--button-hover);--form-placeholder:#949494;--form-text:#1d1d1d;--variable:#39a33c;--highlight:#ff0;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--background-body:#202b38;--background:#161f27;--background-alt:#1a242f;--selection:#1c76c5;--text-main:#dbdbdb;--text-bright:#fff;--text-muted:#a9b1ba;--links:#41adff;--focus:rgba(0,150,191,0.67);--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:#000;--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}}html{scrollbar-color:#aaa #fff;scrollbar-color:var(--scrollbar-thumb) var(--background-body);scrollbar-width:thin}@media (prefers-color-scheme:dark){html{scrollbar-color:#040a0f #202b38;scrollbar-color:var(--scrollbar-thumb) var(--background-body)}}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#363636;color:var(--text-main);background:#fff;background:var(--background-body);text-rendering:optimizeLegibility}@media (prefers-color-scheme:dark){body{background:#202b38;background:var(--background-body);color:#dbdbdb;color:var(--text-main)}}button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}h1{font-size:2.2em;margin-top:0}h1,h2,h3,h4,h5,h6{margin-bottom:12px;margin-top:24px}h1{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h1{color:#fff;color:var(--text-bright)}}h2{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h2{color:#fff;color:var(--text-bright)}}h3{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h3{color:#fff;color:var(--text-bright)}}h4{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h4{color:#fff;color:var(--text-bright)}}h5{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h5{color:#fff;color:var(--text-bright)}}h6{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h6{color:#fff;color:var(--text-bright)}}strong{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){strong{color:#fff;color:var(--text-bright)}}b,h1,h2,h3,h4,h5,h6,strong,th{font-weight:600}q:after,q:before{content:none}blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}blockquote>footer{font-style:normal;border:0}address,blockquote cite{font-style:normal}a[href^=mailto\:]:before{content:"šŸ“§ "}a[href^=tel\:]:before{content:"šŸ“ž "}a[href^=sms\:]:before{content:"šŸ’¬ "}mark{background-color:#ff0;background-color:var(--highlight);border-radius:2px;padding:0 2px;color:#000}@media (prefers-color-scheme:dark){mark{background-color:#efdb43;background-color:var(--highlight)}}a>code,a>strong{color:inherit}button,input[type=button],input[type=checkbox],input[type=radio],input[type=range],input[type=reset],input[type=submit],select{cursor:pointer}input,select{display:block}[type=checkbox],[type=radio]{display:initial}input{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){input{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){button{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}textarea{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){textarea{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}select{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){select{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){button{background-color:#0c151c;background-color:var(--button-base)}}input[type=submit]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=submit]{background-color:#0c151c;background-color:var(--button-base)}}input[type=reset]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=reset]{background-color:#0c151c;background-color:var(--button-base)}}input[type=button]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=button]{background-color:#0c151c;background-color:var(--button-base)}}button:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){button:hover{background:#040a0f;background:var(--button-hover)}}input[type=submit]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}}input[type=reset]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}}input[type=button]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=button]:hover{background:#040a0f;background:var(--button-hover)}}input[type=color]{min-height:2rem;padding:8px;cursor:pointer}input[type=checkbox],input[type=radio]{height:1em;width:1em}input[type=radio]{border-radius:100%}input{vertical-align:top}label{vertical-align:middle;margin-bottom:4px;display:inline-block}button,input:not([type=checkbox]):not([type=radio]),input[type=range],select,textarea{-webkit-appearance:none}textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}textarea:not([cols]){width:100%}textarea:not([rows]){min-height:40px;height:140px}select{background:#efefef url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}@media (prefers-color-scheme:dark){select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat}}select::-ms-expand{display:none}select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:active,input[type=button]:active,input[type=checkbox]:active,input[type=radio]:active,input[type=range]:active,input[type=reset]:active,input[type=submit]:active{transform:translateY(2px)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}::-moz-placeholder{color:#949494;color:var(--form-placeholder)}:-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::placeholder{color:#949494;color:var(--form-placeholder)}@media (prefers-color-scheme:dark){::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}:-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::placeholder{color:#a9a9a9;color:var(--form-placeholder)}}fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus);border-radius:6px;margin:0 0 12px;padding:10px}@media (prefers-color-scheme:dark){fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus)}}legend{font-size:.9em;font-weight:600}input[type=range]{margin:10px 0;padding:10px 0;background:transparent}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border);-webkit-appearance:none;margin-top:-7px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-webkit-slider-runnable-track{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-thumb{background:#526980;background:var(--border)}}input[type=range]::-ms-track{width:100%;height:9.5px;background:transparent;border-color:transparent;border-width:16px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]::-ms-fill-upper{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background)}}input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-ms-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-ms-fill-lower{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]:focus::-ms-fill-upper{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}}a{text-decoration:none;color:#0076d1;color:var(--links)}@media (prefers-color-scheme:dark){a{color:#41adff;color:var(--links)}}a:hover{text-decoration:underline}code{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){code{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}samp{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){samp{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}time{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){time{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}pre>code{padding:10px;display:block;overflow-x:auto}var{color:#39a33c;color:var(--variable);font-style:normal;font-family:monospace}@media (prefers-color-scheme:dark){var{color:#d941e2;color:var(--variable)}}kbd{background:#efefef;background:var(--background);border:1px solid #dbdbdb;border:1px solid var(--border);border-radius:2px;color:#363636;color:var(--text-main);padding:2px 4px}@media (prefers-color-scheme:dark){kbd{color:#dbdbdb;color:var(--text-main);border:1px solid #526980;border:1px solid var(--border);background:#161f27;background:var(--background)}}img,video{max-width:100%;height:auto}hr{border:none;border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){hr{border-top:1px solid #526980;border-top:1px solid var(--border)}}table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}table caption,td,th{text-align:left}td,th{padding:6px;vertical-align:top;word-wrap:break-word}thead{border-bottom:1px solid #dbdbdb;border-bottom:1px solid var(--border)}@media (prefers-color-scheme:dark){thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}}tfoot{border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}}tbody tr:nth-child(2n){background-color:#efefef;background-color:var(--background)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}}tbody tr:nth-child(2n) button{background-color:#f7f7f7;background-color:var(--background-alt)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}}tbody tr:nth-child(2n) button:hover{background-color:#fff;background-color:var(--background-body)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#efefef;background:var(--background);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-track{background:#161f27;background:var(--background)}}::-webkit-scrollbar-thumb{background:#aaa;background:var(--scrollbar-thumb);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb)}}::-webkit-scrollbar-thumb:hover{background:#9b9b9b;background:var(--scrollbar-thumb-hover)}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}}::-moz-selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}::selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){::-moz-selection{color:#fff;color:var(--text-bright)}::selection{color:#fff;color:var(--text-bright)}}@media (prefers-color-scheme:dark){::-moz-selection{background-color:#1c76c5;background-color:var(--selection)}::selection{background-color:#1c76c5;background-color:var(--selection)}}details{display:flex;flex-direction:column;align-items:flex-start;background-color:#f7f7f7;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}@media (prefers-color-scheme:dark){details{background-color:#1a242f;background-color:var(--background-alt)}}details[open]{padding:10px}details>:last-child{margin-bottom:0}details[open] summary{margin-bottom:10px}summary{display:list-item;background-color:#efefef;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:none}@media (prefers-color-scheme:dark){summary{background-color:#161f27;background-color:var(--background)}}summary:focus,summary:hover{text-decoration:underline}details>:not(summary){margin-top:0}summary::-webkit-details-marker{color:#363636;color:var(--text-main)}@media (prefers-color-scheme:dark){summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}}dialog{background-color:#f7f7f7;background-color:var(--background-alt);color:#363636;color:var(--text-main);border-radius:6px;border:#dbdbdb;border-color:var(--border);padding:10px 30px}@media (prefers-color-scheme:dark){dialog{border-color:#526980;border-color:var(--border);color:#dbdbdb;color:var(--text-main);background-color:#1a242f;background-color:var(--background-alt)}}dialog>header:first-child{background-color:#efefef;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}@media (prefers-color-scheme:dark){dialog>header:first-child{background-color:#161f27;background-color:var(--background)}}dialog::-webkit-backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog::backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}footer{border-top:1px solid #dbdbdb;border-top:1px solid var(--border);padding-top:10px;color:#70777f;color:var(--text-muted)}@media (prefers-color-scheme:dark){footer{color:#a9b1ba;color:var(--text-muted);border-top:1px solid #526980;border-top:1px solid var(--border)}}body>footer{margin-top:40px}@media print{body,button,code,details,input,pre,summary,textarea{background-color:#fff}button,input,textarea{border:1px solid #000}body,button,code,footer,h1,h2,h3,h4,h5,h6,input,pre,strong,summary,textarea{color:#000}summary::marker{color:#000}summary::-webkit-details-marker{color:#000}tbody tr:nth-child(2n){background-color:#f2f2f2}a{color:#00f;text-decoration:underline}} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-async/README.md b/examples/containers/wasm-workers-server/examples/js-async/README.md new file mode 100644 index 00000000..88684e4a --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-async/README.md @@ -0,0 +1,21 @@ +# JavaScript async worker example + +Run a JavaScript that uses an async function in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-async" +``` + +## Resources + +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-async/index.js b/examples/containers/wasm-workers-server/examples/js-async/index.js new file mode 100644 index 00000000..e5054168 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-async/index.js @@ -0,0 +1,52 @@ +// Using an async function to reply! +async function handle(request) { + if (request.method != "GET") { + // Don't allow other methods. + // Here you can see how to return a custom status + return new Response("Method not allowed", { + status: 405 + }); + } + + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+
Replying to ${request.url}
+Method: ${request.method}
+User Agent: ${request.headers.get("user-agent")}
+Payload: ${request.body || "-"}
+

+ This page was generated by a JavaScript (async worker) file running in WebAssembly. +

+
+`; + + // Build a new response + let response = new Response(body); + + // Add a new header + response.headers.set("x-generated-by", "wasm-workers-server"); + + return response; +} + +addEventListener('fetch', event => { + event.respondWith(handle(event.request)); +}); \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-basic/README.md b/examples/containers/wasm-workers-server/examples/js-basic/README.md new file mode 100644 index 00000000..5bd19e22 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-basic/README.md @@ -0,0 +1,21 @@ +# JavaScript basic example + +Run a JavaScript that uses `addEventListener` in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-basic" +``` + +## Resources + +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-basic/index.js b/examples/containers/wasm-workers-server/examples/js-basic/index.js new file mode 100644 index 00000000..11ea4abd --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-basic/index.js @@ -0,0 +1,55 @@ +/** + * Builds a reply to the given request + */ +const reply = (request) => { + if (request.method != "GET") { + // Don't allow other methods. + // Here you can see how to return a custom status + return new Response("Method not allowed", { + status: 405 + }); + } + + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+
Replying to ${request.url}
+Method: ${request.method}
+User Agent: ${request.headers.get("user-agent")}
+Payload: ${request.body || "-"}
+

+ This page was generated by a JavaScript file running in WebAssembly. +

+
+`; + + // Build a new response + let response = new Response(body); + + // Add a new header + response.headers.set("x-generated-by", "wasm-workers-server"); + + return response; +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-fetch/README.md b/examples/containers/wasm-workers-server/examples/js-fetch/README.md new file mode 100644 index 00000000..7bc12445 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-fetch/README.md @@ -0,0 +1,21 @@ +# JavaScript fetch example + +Run a JavaScript that uses `fetch` in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-fetch" +``` + +## Resources + +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-fetch/index.js b/examples/containers/wasm-workers-server/examples/js-fetch/index.js new file mode 100644 index 00000000..784d7ddc --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-fetch/index.js @@ -0,0 +1,65 @@ +/** + * Builds a reply to the given request + */ +const reply = async (request) => { + if (request.method != "GET") { + // Don't allow other methods. + // Here you can see how to return a custom status + return new Response("Method not allowed", { + status: 405 + }); + } + + // Body response + let body; + + try { + let res = await fetch('https://jsonplaceholder.typicode.com/posts/'); + let json = await res.json(); + + // Build a new response. + // Add some basic sanitization + body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

Available articles:

+
    + ${json.map(({ title }) => `
  • ${title.replace("<", "<").replace(">", ">")}
  • `).join("")} +
+

+ This page was generated by a JavaScript file running in WebAssembly. +

+
+ `; + } catch (e) { + body = `There was an error with the request: ${e}`; + } + + let response = new Response(body); + + // Add a new header + response.headers.set("x-generated-by", "wasm-workers-server"); + + return response; +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-fetch/index.toml b/examples/containers/wasm-workers-server/examples/js-fetch/index.toml new file mode 100644 index 00000000..84dc5868 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-fetch/index.toml @@ -0,0 +1,6 @@ +name = "js-fetch" +version = "1" + +[features] +[features.http_requests] +allowed_hosts = ["jsonplaceholder.typicode.com"] diff --git a/examples/containers/wasm-workers-server/examples/js-json/README.md b/examples/containers/wasm-workers-server/examples/js-json/README.md new file mode 100644 index 00000000..c0529325 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-json/README.md @@ -0,0 +1,22 @@ +# JavaScript environment variables example + +Run a JavaScript that returns a JSON output based on an environment variable. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-json" +``` + +## Resources + +* [Environment variables](https://workers.wasmlabs.dev/docs/features/environment-variables) +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-json/handler.js b/examples/containers/wasm-workers-server/examples/js-json/handler.js new file mode 100644 index 00000000..738193c0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-json/handler.js @@ -0,0 +1,44 @@ +const JSON_CONTENT_TYPE = "application/json;charset=UTF-8"; + +/** + * Builds a reply to the given request. In this case, + * this reply method returns a JSON response + */ +const reply = (request) => { + if (request.method != "GET") { + // Don't allow other methods. + // Here you can see how to return a custom status + const errorResponse = JSON.stringify({ + success: false, + error: "Method not allowed" + }); + + return new Response(errorResponse, { + status: 405, + headers: { + "content-type": JSON_CONTENT_TYPE + } + }); + } + + // Body response + const body = JSON.stringify({ + success: true, + message: MESSAGE + }, null, 2); + + // Build a new response + let response = new Response(body, { + headers: { + "content-type": JSON_CONTENT_TYPE, + "x-generated-by": "wasm-workers-server" + } + }); + + return response; +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-json/handler.toml b/examples/containers/wasm-workers-server/examples/js-json/handler.toml new file mode 100644 index 00000000..9aabf0c0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-json/handler.toml @@ -0,0 +1,5 @@ +name = "test" +version = "1" + +[vars] +MESSAGE = "Hello šŸ‘‹! This message comes from an environment variable" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-params/README.md b/examples/containers/wasm-workers-server/examples/js-params/README.md new file mode 100644 index 00000000..ee8d26a5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/README.md @@ -0,0 +1,22 @@ +# JavaScript dynamic routes example + +Run a JavaScript project that include several dynamic routes. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-params" +``` + +## Resources + +* [Dynamic routes](https://workers.wasmlabs.dev/docs/features/dynamic-routes) +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-params/[id].js b/examples/containers/wasm-workers-server/examples/js-params/[id].js new file mode 100644 index 00000000..b53231a1 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/[id].js @@ -0,0 +1,31 @@ +/** + * Builds a reply to the given request + */ +const reply = (req) => { + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

+ This is a dynamic route! The [id].js worker is replying this URL. + The id parameter value is: ${req.params?.id} +

+

Read more about dynamic routes in the documentation

+
+ `; + + return new Response(body); +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-params/[id]/fixed.js b/examples/containers/wasm-workers-server/examples/js-params/[id]/fixed.js new file mode 100644 index 00000000..8fcd89a8 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/[id]/fixed.js @@ -0,0 +1,31 @@ +/** + * Builds a reply to the given request + */ +const reply = (req) => { + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

+ This is a dynamic route! The [id]/fixed.js worker is replying this URL. + The id parameter value is: ${req.params?.id} +

+

Read more about dynamic routes in the documentation

+
+ `; + + return new Response(body); +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-params/fixed.js b/examples/containers/wasm-workers-server/examples/js-params/fixed.js new file mode 100644 index 00000000..e9bb3233 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/fixed.js @@ -0,0 +1,30 @@ +/** + * Builds a reply to the given request + */ +const reply = () => { + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

+ This is a fixed route. There isn't any parameter here. +

+

Read more about dynamic routes in the documentation

+
+ `; + + return new Response(body); +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-params/public/main.css b/examples/containers/wasm-workers-server/examples/js-params/public/main.css new file mode 100644 index 00000000..ca178402 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/public/main.css @@ -0,0 +1,28 @@ +body { + max-width: 1000px; +} + +main { + margin: 5rem 0; +} + +h1, +p { + text-align: center; +} + +h1 { + margin-bottom: 2rem; +} + +pre { + font-size: .9rem; +} + +pre>code { + padding: 2rem; +} + +p { + margin-top: 2rem; +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-params/public/water.min.css b/examples/containers/wasm-workers-server/examples/js-params/public/water.min.css new file mode 100644 index 00000000..fddfc43d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/public/water.min.css @@ -0,0 +1,30 @@ +/* + * The MIT License (MIT) + * + * Copyright Ā© 2019 Kognise + * + * 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. + * + * + * Ref: https://github.com/kognise/water.css + */ +:root{--background-body:#fff;--background:#efefef;--background-alt:#f7f7f7;--selection:#9e9e9e;--text-main:#363636;--text-bright:#000;--text-muted:#70777f;--links:#0076d1;--focus:rgba(0,150,191,0.67);--border:#dbdbdb;--code:#000;--animation-duration:0.1s;--button-base:#d0cfcf;--button-hover:#9b9b9b;--scrollbar-thumb:#aaa;--scrollbar-thumb-hover:var(--button-hover);--form-placeholder:#949494;--form-text:#1d1d1d;--variable:#39a33c;--highlight:#ff0;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--background-body:#202b38;--background:#161f27;--background-alt:#1a242f;--selection:#1c76c5;--text-main:#dbdbdb;--text-bright:#fff;--text-muted:#a9b1ba;--links:#41adff;--focus:rgba(0,150,191,0.67);--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:#000;--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}}html{scrollbar-color:#aaa #fff;scrollbar-color:var(--scrollbar-thumb) var(--background-body);scrollbar-width:thin}@media (prefers-color-scheme:dark){html{scrollbar-color:#040a0f #202b38;scrollbar-color:var(--scrollbar-thumb) var(--background-body)}}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#363636;color:var(--text-main);background:#fff;background:var(--background-body);text-rendering:optimizeLegibility}@media (prefers-color-scheme:dark){body{background:#202b38;background:var(--background-body);color:#dbdbdb;color:var(--text-main)}}button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}h1{font-size:2.2em;margin-top:0}h1,h2,h3,h4,h5,h6{margin-bottom:12px;margin-top:24px}h1{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h1{color:#fff;color:var(--text-bright)}}h2{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h2{color:#fff;color:var(--text-bright)}}h3{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h3{color:#fff;color:var(--text-bright)}}h4{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h4{color:#fff;color:var(--text-bright)}}h5{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h5{color:#fff;color:var(--text-bright)}}h6{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h6{color:#fff;color:var(--text-bright)}}strong{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){strong{color:#fff;color:var(--text-bright)}}b,h1,h2,h3,h4,h5,h6,strong,th{font-weight:600}q:after,q:before{content:none}blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}blockquote>footer{font-style:normal;border:0}address,blockquote cite{font-style:normal}a[href^=mailto\:]:before{content:"šŸ“§ "}a[href^=tel\:]:before{content:"šŸ“ž "}a[href^=sms\:]:before{content:"šŸ’¬ "}mark{background-color:#ff0;background-color:var(--highlight);border-radius:2px;padding:0 2px;color:#000}@media (prefers-color-scheme:dark){mark{background-color:#efdb43;background-color:var(--highlight)}}a>code,a>strong{color:inherit}button,input[type=button],input[type=checkbox],input[type=radio],input[type=range],input[type=reset],input[type=submit],select{cursor:pointer}input,select{display:block}[type=checkbox],[type=radio]{display:initial}input{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){input{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){button{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}textarea{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){textarea{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}select{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){select{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){button{background-color:#0c151c;background-color:var(--button-base)}}input[type=submit]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=submit]{background-color:#0c151c;background-color:var(--button-base)}}input[type=reset]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=reset]{background-color:#0c151c;background-color:var(--button-base)}}input[type=button]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=button]{background-color:#0c151c;background-color:var(--button-base)}}button:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){button:hover{background:#040a0f;background:var(--button-hover)}}input[type=submit]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}}input[type=reset]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}}input[type=button]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=button]:hover{background:#040a0f;background:var(--button-hover)}}input[type=color]{min-height:2rem;padding:8px;cursor:pointer}input[type=checkbox],input[type=radio]{height:1em;width:1em}input[type=radio]{border-radius:100%}input{vertical-align:top}label{vertical-align:middle;margin-bottom:4px;display:inline-block}button,input:not([type=checkbox]):not([type=radio]),input[type=range],select,textarea{-webkit-appearance:none}textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}textarea:not([cols]){width:100%}textarea:not([rows]){min-height:40px;height:140px}select{background:#efefef url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}@media (prefers-color-scheme:dark){select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat}}select::-ms-expand{display:none}select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:active,input[type=button]:active,input[type=checkbox]:active,input[type=radio]:active,input[type=range]:active,input[type=reset]:active,input[type=submit]:active{transform:translateY(2px)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}::-moz-placeholder{color:#949494;color:var(--form-placeholder)}:-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::placeholder{color:#949494;color:var(--form-placeholder)}@media (prefers-color-scheme:dark){::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}:-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::placeholder{color:#a9a9a9;color:var(--form-placeholder)}}fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus);border-radius:6px;margin:0 0 12px;padding:10px}@media (prefers-color-scheme:dark){fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus)}}legend{font-size:.9em;font-weight:600}input[type=range]{margin:10px 0;padding:10px 0;background:transparent}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border);-webkit-appearance:none;margin-top:-7px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-webkit-slider-runnable-track{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-thumb{background:#526980;background:var(--border)}}input[type=range]::-ms-track{width:100%;height:9.5px;background:transparent;border-color:transparent;border-width:16px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]::-ms-fill-upper{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background)}}input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-ms-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-ms-fill-lower{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]:focus::-ms-fill-upper{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}}a{text-decoration:none;color:#0076d1;color:var(--links)}@media (prefers-color-scheme:dark){a{color:#41adff;color:var(--links)}}a:hover{text-decoration:underline}code{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){code{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}samp{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){samp{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}time{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){time{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}pre>code{padding:10px;display:block;overflow-x:auto}var{color:#39a33c;color:var(--variable);font-style:normal;font-family:monospace}@media (prefers-color-scheme:dark){var{color:#d941e2;color:var(--variable)}}kbd{background:#efefef;background:var(--background);border:1px solid #dbdbdb;border:1px solid var(--border);border-radius:2px;color:#363636;color:var(--text-main);padding:2px 4px}@media (prefers-color-scheme:dark){kbd{color:#dbdbdb;color:var(--text-main);border:1px solid #526980;border:1px solid var(--border);background:#161f27;background:var(--background)}}img,video{max-width:100%;height:auto}hr{border:none;border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){hr{border-top:1px solid #526980;border-top:1px solid var(--border)}}table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}table caption,td,th{text-align:left}td,th{padding:6px;vertical-align:top;word-wrap:break-word}thead{border-bottom:1px solid #dbdbdb;border-bottom:1px solid var(--border)}@media (prefers-color-scheme:dark){thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}}tfoot{border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}}tbody tr:nth-child(2n){background-color:#efefef;background-color:var(--background)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}}tbody tr:nth-child(2n) button{background-color:#f7f7f7;background-color:var(--background-alt)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}}tbody tr:nth-child(2n) button:hover{background-color:#fff;background-color:var(--background-body)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#efefef;background:var(--background);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-track{background:#161f27;background:var(--background)}}::-webkit-scrollbar-thumb{background:#aaa;background:var(--scrollbar-thumb);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb)}}::-webkit-scrollbar-thumb:hover{background:#9b9b9b;background:var(--scrollbar-thumb-hover)}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}}::-moz-selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}::selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){::-moz-selection{color:#fff;color:var(--text-bright)}::selection{color:#fff;color:var(--text-bright)}}@media (prefers-color-scheme:dark){::-moz-selection{background-color:#1c76c5;background-color:var(--selection)}::selection{background-color:#1c76c5;background-color:var(--selection)}}details{display:flex;flex-direction:column;align-items:flex-start;background-color:#f7f7f7;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}@media (prefers-color-scheme:dark){details{background-color:#1a242f;background-color:var(--background-alt)}}details[open]{padding:10px}details>:last-child{margin-bottom:0}details[open] summary{margin-bottom:10px}summary{display:list-item;background-color:#efefef;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:none}@media (prefers-color-scheme:dark){summary{background-color:#161f27;background-color:var(--background)}}summary:focus,summary:hover{text-decoration:underline}details>:not(summary){margin-top:0}summary::-webkit-details-marker{color:#363636;color:var(--text-main)}@media (prefers-color-scheme:dark){summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}}dialog{background-color:#f7f7f7;background-color:var(--background-alt);color:#363636;color:var(--text-main);border-radius:6px;border:#dbdbdb;border-color:var(--border);padding:10px 30px}@media (prefers-color-scheme:dark){dialog{border-color:#526980;border-color:var(--border);color:#dbdbdb;color:var(--text-main);background-color:#1a242f;background-color:var(--background-alt)}}dialog>header:first-child{background-color:#efefef;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}@media (prefers-color-scheme:dark){dialog>header:first-child{background-color:#161f27;background-color:var(--background)}}dialog::-webkit-backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog::backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}footer{border-top:1px solid #dbdbdb;border-top:1px solid var(--border);padding-top:10px;color:#70777f;color:var(--text-muted)}@media (prefers-color-scheme:dark){footer{color:#a9b1ba;color:var(--text-muted);border-top:1px solid #526980;border-top:1px solid var(--border)}}body>footer{margin-top:40px}@media print{body,button,code,details,input,pre,summary,textarea{background-color:#fff}button,input,textarea{border:1px solid #000}body,button,code,footer,h1,h2,h3,h4,h5,h6,input,pre,strong,summary,textarea{color:#000}summary::marker{color:#000}summary::-webkit-details-marker{color:#000}tbody tr:nth-child(2n){background-color:#f2f2f2}a{color:#00f;text-decoration:underline}} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-params/sub/[id].js b/examples/containers/wasm-workers-server/examples/js-params/sub/[id].js new file mode 100644 index 00000000..5af57e18 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-params/sub/[id].js @@ -0,0 +1,31 @@ +/** + * Builds a reply to the given request + */ +const reply = (req) => { + // Body response + const body = ` + + Wasm Workers Server + + + + + + +
+

Hello from Wasm Workers Server šŸ‘‹

+

+ This is a dynamic route! The sub/[id].js worker is replying this URL. + The id parameter value is: ${req.params?.id} +

+

Read more about dynamic routes in the documentation

+
+ `; + + return new Response(body); +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-redirect/README.md b/examples/containers/wasm-workers-server/examples/js-redirect/README.md new file mode 100644 index 00000000..b17e7534 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-redirect/README.md @@ -0,0 +1,21 @@ +# JavaScript redirect example + +Run a JavaScript that redirects users to a different URL via custom HTTP Headers and status. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-redirect" +``` + +## Resources + +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-redirect/handler.js b/examples/containers/wasm-workers-server/examples/js-redirect/handler.js new file mode 100644 index 00000000..9028cc7b --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-redirect/handler.js @@ -0,0 +1,23 @@ +/** + * Builds a reply to the given request. In this case, + * this reply method returns a redirect + */ +const reply = (request) => { + if (request.method != "GET") { + // Don't allow other methods. + // Here you can see how to return a custom status + return new Response("Method not allowed", { + status: 405, + }); + } + + // Build a redirect response + let response = Response.redirect("https://example.com", 301); + + return response; +} + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(reply(event.request)); +}); \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/js-tictactoe/README.md b/examples/containers/wasm-workers-server/examples/js-tictactoe/README.md new file mode 100644 index 00000000..a34e58c3 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-tictactoe/README.md @@ -0,0 +1,22 @@ +# JavaScript Tic Tac Toe example + +A complete Tic Tac Toe example in JavaScript. It uses the K/V store to save the information. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/js-tictactoe" +``` + +## Resources + +* [Key / Value store](https://workers.wasmlabs.dev/docs/features/key-value) +* [JavaScript documentation](https://workers.wasmlabs.dev/docs/languages/javascript) diff --git a/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.js b/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.js new file mode 100644 index 00000000..f0d89be0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.js @@ -0,0 +1,375 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/** + * A tic tac toe game! + */ +const html = (game, roomId) => ` + + + + Tic Tac Toe! + + + + + + +
+
+

Welcome to Tic Tac Toe āŒ ā­•ļø

+

This game is a demo of Wasm Workers Server! Hope you enjoy it

+
Waiting next movement
+
Your turn
+
You win :)!
+
You lose :(!
+
+
+
+
+ + + Cache.set(key, data); +const getCache = key => Cache.get(key); + +const getRoomId = (request) => { + // Get Room id + let roomId = request.url.split("?room=")[1]; + + if (!roomId) { + roomId = (Math.random() + 1).toString(36).substring(7); + } + + return roomId; +} + +const getGame = (roomId) => { + // Get Room id + let movements = getCache(roomId); + let waiting = false; + + if (!movements) { + movements = new Array(9).fill(""); + // Save in the cache! + setCache(roomId, JSON.stringify(movements)); + } else { + movements = JSON.parse(movements); + waiting = true; + } + + return { + waiting, + movements + }; +} + +/** + * Builds a reply to the given request + */ +const site = (request) => { + // Get Room id and moves + let roomId = getRoomId(request); + let game = getGame(roomId); + + // Build a new response + let response = new Response(html(game, roomId)); + + // Add a new header + response.headers.set("x-generated-by", "wasm-workers-server"); + + return response; +} + +const moveStatus = (request) => { + let roomId = getRoomId(request); + let { movements } = getGame(roomId); + + let response = new Response(JSON.stringify(movements), { + headers: { + "content-type": "application/json;charset=UTF-8", + "x-generated-by": "wasm-workers-server" + } + }); + + return response; +}; + +const update = (request) => { + let roomId = getRoomId(request); + let movements = request.body; + + setCache(roomId, movements); + + let response = new Response(movements, { + headers: { + "Content-Type": "application/json", + "x-generated-by": "wasm-workers-server" + } + }); + + return response; +}; + +const route = (request) => { + if (request.method == "GET") { + if (request.headers.get("accept") == "application/json") { + return moveStatus(request); + } else { + return site(request); + } + } else if (request.method == "PUT") { + return update(request); + } + + return new Response("Method not allowed", { + status: 405 + }); +}; + +// Subscribe to the Fetch event +addEventListener("fetch", event => { + return event.respondWith(route(event.request)); +}); diff --git a/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.toml b/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.toml new file mode 100644 index 00000000..a3752c8a --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/js-tictactoe/handler.toml @@ -0,0 +1,6 @@ +name = "tictactoe" +version = "1" + +[data] +[data.kv] +namespace = "tictactoe" diff --git a/examples/containers/wasm-workers-server/examples/protomaps/.gitignore b/examples/containers/wasm-workers-server/examples/protomaps/.gitignore new file mode 100644 index 00000000..e92ab407 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/.gitignore @@ -0,0 +1,5 @@ +# Python cache +__pycache__ + +# Ignore maps +_maps/planet.pmtiles \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/protomaps/.wws.toml b/examples/containers/wasm-workers-server/examples/protomaps/.wws.toml new file mode 100644 index 00000000..b9791233 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217-1" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "74d10132b0577a39e4ea30002d4605b7cdfb8f39abca327a45c8b313de7ea304" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/protomaps/Dockerfile b/examples/containers/wasm-workers-server/examples/protomaps/Dockerfile new file mode 100644 index 00000000..3b3495be --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/Dockerfile @@ -0,0 +1,10 @@ +FROM bitnami/minideb:bullseye as builder + +# Download the map +RUN install_packages curl +RUN curl -kL --output /planet.pmtiles https://pub-9288c68512ed46eca46ddcade307709b.r2.dev/protomaps-sample-datasets/protomaps_vector_planet_odbl_z10.pmtiles + +FROM ghcr.io/vmware-labs/wws:preview + +COPY . /app +COPY --from=builder /planet.pmtiles /app/_maps/ \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/protomaps/Makefile b/examples/containers/wasm-workers-server/examples/protomaps/Makefile new file mode 100644 index 00000000..5920c5f2 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/Makefile @@ -0,0 +1,17 @@ +.PHONY: all build-image + +download-planet: + curl -kL --output ./_maps/map.pmtiles \ + https://pub-9288c68512ed46eca46ddcade307709b.r2.dev/protomaps-sample-datasets/protomaps_vector_planet_odbl_z10.pmtiles + +install: + wws runtimes install + +run: + wws . + +build-image: + docker build -t wws-maps:latest . + +planet: download-planet install run +all: install run diff --git a/examples/containers/wasm-workers-server/examples/protomaps/README.md b/examples/containers/wasm-workers-server/examples/protomaps/README.md new file mode 100644 index 00000000..3d5cb258 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/README.md @@ -0,0 +1,63 @@ +# Protomaps + Wasm Workers Server + +This example runs an entire Maps Service API based on [Protomaps](https://protomaps.com/). It's a serverless system for serving maps. Based on their official website: + +> An alternative to map APIs at 1% the cost, via single static files on your own cloud storage. Deploy datasets like OpenStreetMap for your site in minutes. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## TL;DR + +Run `make all` + +## Install a map + +Before running this example, you need to download a map. You have two options: + +* Download the default planet-scale map from the [Protomaps site](https://app.protomaps.com/store/planet-z10) ([download link](https://pub-9288c68512ed46eca46ddcade307709b.r2.dev/protomaps-sample-datasets/protomaps_vector_planet_odbl_z10.pmtiles)). +* Create your map with their [small map creation tool](https://app.protomaps.com/downloads/small_map) + +Once you have the map, place it in the `_maps` folder. + +## Run the example + +To run the example, follow these steps: + +1. Install the Python runtime: + + ```plain + wws runtimes install + ``` + +1. Edit the `./[z]/[x]/[y]/index.toml` file and replace the `MAP_FILE` environment with your map filename + +1. Run `wws`: + + ```plain + wws + ``` + +## Build a container image + +You can deploy this project as a standalone server (`wws`) or you can build the container image. Note that the image will download the [default Protomaps map](https://app.protomaps.com/store/planet-z10), so you may want to edit it to sue your map. + +```plain +make build-image +``` + +# Maps license + +The example map (`./_maps/map.pmtiles`) was created with the ["Protomaps Small Map"](https://app.protomaps.com/downloads/small_map) tool based on the OpenStreetData data. + +OpenStreetMapĀ® is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF). Read more at https://www.openstreetmap.org/copyright and https://opendatacommons.org/licenses/odbl/1-0/. + +# Resources + +* [Mount folders](https://workers.wasmlabs.dev/docs/features/mount-folders) +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.py b/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.py new file mode 100644 index 00000000..1fde45c7 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.py @@ -0,0 +1,24 @@ +import sys +sys.path.append("/src/libs") +import os + +from reader import Reader + +# Provide the specific tile from the file +def worker(request): + path = "/src/maps/{name}.pmtiles".format( + name=os.environ.get("MAP_FILE") + ) + map_file = open(path, mode="rb") + reader = Reader(map_file) + + x = int(request.params["x"]) + y = int(request.params["y"]) + z = int(request.params["z"]) + + point = reader.get(z, x , y) + + if point != None: + return Response(point) + else: + return Response("Tile not found") \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.toml b/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.toml new file mode 100644 index 00000000..b77feecf --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/[z]/[x]/[y]/index.toml @@ -0,0 +1,12 @@ +version = "1" + +[vars] +MAP_FILE = "map" + +[[folders]] +from = "../../../_libs" +to = "/src/libs" + +[[folders]] +from = "../../../_maps" +to = "/src/maps" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/protomaps/_libs/__init__.py b/examples/containers/wasm-workers-server/examples/protomaps/_libs/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/examples/protomaps/_libs/reader.py b/examples/containers/wasm-workers-server/examples/protomaps/_libs/reader.py new file mode 100644 index 00000000..6a7b3d8f --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/_libs/reader.py @@ -0,0 +1,81 @@ +# Copyright 2021 Protomaps LLC +# License: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Modifications: +# - Removing mmap dependency and logic +# - Load the data directly from the file + +import json +import gzip +from tile import ( + deserialize_header, + deserialize_directory, + zxy_to_tileid, + tileid_to_zxy, + find_tile +) + +class Reader: + def __init__(self, map_file): + self.map_file = map_file + + def get_bytes(self, offset, length): + self.map_file.seek(offset) + return self.map_file.read(length) + + def header(self): + return deserialize_header(self.get_bytes(0, 127)) + + def metadata(self): + header = deserialize_header(self.get_bytes(0, 127)) + metadata = self.get_bytes(header["metadata_offset"], header["metadata_length"]) + return json.loads(metadata) + + def get(self, z, x, y): + tile_id = zxy_to_tileid(z, x, y) + header = deserialize_header(self.get_bytes(0, 127)) + dir_offset = header["root_offset"] + dir_length = header["root_length"] + for depth in range(0, 4): # max depth + directory = deserialize_directory(self.get_bytes(dir_offset, dir_length)) + result = find_tile(directory, tile_id) + if result: + if result.run_length == 0: + dir_offset = header["leaf_directory_offset"] + result.offset + dir_length = result.length + else: + return gzip.decompress(self.get_bytes( + header["tile_data_offset"] + result.offset, result.length + )) + + +def traverse(get_bytes, header, dir_offset, dir_length): + entries = deserialize_directory(get_bytes(dir_offset, dir_length)) + for entry in entries: + if entry.run_length > 0: + yield tileid_to_zxy(entry.tile_id), get_bytes( + header["tile_data_offset"] + entry.offset, entry.length + ) + else: + for t in traverse( + get_bytes, + header, + header["leaf_directory_offset"] + entry.offset, + entry.length, + ): + yield t + + +def all_tiles(get_bytes): + header = deserialize_header(get_bytes(0, 127)) + return traverse(get_bytes, header, header["root_offset"], header["root_length"]) diff --git a/examples/containers/wasm-workers-server/examples/protomaps/_libs/tile.py b/examples/containers/wasm-workers-server/examples/protomaps/_libs/tile.py new file mode 100644 index 00000000..326d00a6 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/_libs/tile.py @@ -0,0 +1,296 @@ +# Copyright 2021 Protomaps LLC +# License: BSD-3-Clause +# +# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from enum import Enum +import io +import gzip + + +class Entry: + __slots__ = ("tile_id", "offset", "length", "run_length") + + def __init__(self, tile_id, offset, length, run_length): + self.tile_id = tile_id + self.offset = offset + self.length = length + self.run_length = run_length + + def __str__(self): + return f"id={self.tile_id} offset={self.offset} length={self.length} runlength={self.run_length}" + + +def rotate(n, xy, rx, ry): + if ry == 0: + if rx == 1: + xy[0] = n - 1 - xy[0] + xy[1] = n - 1 - xy[1] + xy[0], xy[1] = xy[1], xy[0] + + +def t_on_level(z, pos): + n = 1 << z + rx, ry, t = pos, pos, pos + xy = [0, 0] + s = 1 + while s < n: + rx = 1 & (t // 2) + ry = 1 & (t ^ rx) + rotate(s, xy, rx, ry) + xy[0] += s * rx + xy[1] += s * ry + t //= 4 + s *= 2 + return z, xy[0], xy[1] + + +def zxy_to_tileid(z, x, y): + if z > 31: + raise OverflowError("tile zoom exceeds 64-bit limit") + if x > (1 << z) - 1 or y > (1 << z) - 1: + raise ValueError("tile x/y outside zoom level bounds") + acc = 0 + tz = 0 + while tz < z: + acc += (0x1 << tz) * (0x1 << tz) + tz += 1 + n = 1 << z + rx = 0 + ry = 0 + d = 0 + xy = [x, y] + s = n // 2 + while s > 0: + if (xy[0] & s) > 0: + rx = 1 + else: + rx = 0 + if (xy[1] & s) > 0: + ry = 1 + else: + ry = 0 + d += s * s * ((3 * rx) ^ ry) + rotate(s, xy, rx, ry) + s //= 2 + return acc + d + + +def tileid_to_zxy(tile_id): + num_tiles = 0 + acc = 0 + for z in range(0,32): + num_tiles = (1 << z) * (1 << z) + if acc + num_tiles > tile_id: + return t_on_level(z, tile_id - acc) + acc += num_tiles + raise OverflowError("tile zoom exceeds 64-bit limit") + + +def find_tile(entries, tile_id): + m = 0 + n = len(entries) - 1 + while m <= n: + k = (n + m) >> 1 + c = tile_id - entries[k].tile_id + if c > 0: + m = k + 1 + elif c < 0: + n = k - 1 + else: + return entries[k] + + if n >= 0: + if entries[n].run_length == 0: + return entries[n] + if tile_id - entries[n].tile_id < entries[n].run_length: + return entries[n] + + +def read_varint(b_io): + shift = 0 + result = 0 + while True: + raw = b_io.read(1) + if raw == b"": + raise EOFError("unexpectedly reached end of varint stream") + i = ord(raw) + result |= (i & 0x7F) << shift + shift += 7 + if not (i & 0x80): + break + return result + + +def write_varint(b_io, i): + while True: + towrite = i & 0x7F + i >>= 7 + if i: + b_io.write(bytes([towrite | 0x80])) + else: + b_io.write(bytes([towrite])) + break + + +class Compression(Enum): + UNKNOWN = 0 + NONE = 1 + GZIP = 2 + BROTLI = 3 + ZSTD = 4 + + +class TileType(Enum): + UNKNOWN = 0 + MVT = 1 + PNG = 2 + JPEG = 3 + WEBP = 4 + + +def deserialize_directory(buf): + b_io = io.BytesIO(gzip.decompress(buf)) + entries = [] + num_entries = read_varint(b_io) + + last_id = 0 + for i in range(num_entries): + tmp = read_varint(b_io) + entries.append(Entry(last_id + tmp, 0, 0, 0)) + last_id += tmp + + for i in range(num_entries): + entries[i].run_length = read_varint(b_io) + + for i in range(num_entries): + entries[i].length = read_varint(b_io) + + for i in range(num_entries): + tmp = read_varint(b_io) + if i > 0 and tmp == 0: + entries[i].offset = entries[i - 1].offset + entries[i - 1].length + else: + entries[i].offset = tmp - 1 + + return entries + + +def serialize_directory(entries): + b_io = io.BytesIO() + write_varint(b_io, len(entries)) + + last_id = 0 + for e in entries: + write_varint(b_io, e.tile_id - last_id) + last_id = e.tile_id + + for e in entries: + write_varint(b_io, e.run_length) + + for e in entries: + write_varint(b_io, e.length) + + for i, e in enumerate(entries): + if i > 0 and e.offset == entries[i - 1].offset + entries[i - 1].length: + write_varint(b_io, 0) + else: + write_varint(b_io, e.offset + 1) + + return gzip.compress(b_io.getvalue()) + +class SpecVersionUnsupported(Exception): + pass + +class MagicNumberNotFound(Exception): + pass + +def deserialize_header(buf): + if buf[0:7].decode() != "PMTiles": + raise MagicNumberNotFound() + + if buf[7] != 0x3: + raise SpecVersionUnsupported() + + def read_uint64(pos): + return int.from_bytes(buf[pos : pos + 8], byteorder="little") + + def read_int32(pos): + return int.from_bytes(buf[pos : pos + 4], byteorder="little", signed=True) + + return { + "root_offset": read_uint64(8), + "root_length": read_uint64(16), + "metadata_offset": read_uint64(24), + "metadata_length": read_uint64(32), + "leaf_directory_offset": read_uint64(40), + "leaf_directory_length": read_uint64(48), + "tile_data_offset": read_uint64(56), + "tile_data_length": read_uint64(64), + "addressed_tiles_count": read_uint64(72), + "tile_entries_count": read_uint64(80), + "tile_contents_count": read_uint64(88), + "clustered": buf[96] == 0x1, + "internal_compression": Compression(buf[97]), + "tile_compression": Compression(buf[98]), + "tile_type": TileType(buf[99]), + "min_zoom": buf[100], + "max_zoom": buf[101], + "min_lon_e7": read_int32(102), + "min_lat_e7": read_int32(106), + "max_lon_e7": read_int32(110), + "max_lat_e7": read_int32(114), + "center_zoom": buf[118], + "center_lon_e7": read_int32(119), + "center_lat_e7": read_int32(123), + } + + +def serialize_header(h): + b_io = io.BytesIO() + + def write_uint64(i): + b_io.write(i.to_bytes(8, byteorder="little")) + + def write_int32(i): + b_io.write(i.to_bytes(4, byteorder="little", signed=True)) + + def write_uint8(i): + b_io.write(i.to_bytes(1, byteorder="little")) + + b_io.write("PMTiles".encode()) + b_io.write(b"\x03") + write_uint64(h["root_offset"]) + write_uint64(h["root_length"]) + write_uint64(h["metadata_offset"]) + write_uint64(h["metadata_length"]) + write_uint64(h.get("leaf_directory_offset", 0)) + write_uint64(h.get("leaf_directory_length", 0)) + write_uint64(h["tile_data_offset"]) + write_uint64(h["tile_data_length"]) + write_uint64(h.get("addressed_tiles_count", 0)) + write_uint64(h.get("tile_entries_count", 0)) + write_uint64(h.get("tile_contents_count", 0)) + b_io.write(b"\x01" if h["clustered"] else b"\x00") + write_uint8(h["internal_compression"].value) + write_uint8(h["tile_compression"].value) + write_uint8(h["tile_type"].value) + write_uint8(h["min_zoom"]) + write_uint8(h["max_zoom"]) + write_int32(h["min_lon_e7"]) + write_int32(h["min_lat_e7"]) + write_int32(h["max_lon_e7"]) + write_int32(h["max_lat_e7"]) + write_uint8(h["center_zoom"]) + write_int32(h["center_lon_e7"]) + write_int32(h["center_lat_e7"]) + + return b_io.getvalue() diff --git a/examples/containers/wasm-workers-server/examples/protomaps/_maps/.keep b/examples/containers/wasm-workers-server/examples/protomaps/_maps/.keep new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/examples/protomaps/_maps/map.pmtiles b/examples/containers/wasm-workers-server/examples/protomaps/_maps/map.pmtiles new file mode 100644 index 0000000000000000000000000000000000000000..0434f8565e02ee673689ca5f61630dc8ac7ed3f5 GIT binary patch literal 1665825 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

f<&?v;RWL$e75rj)t!xD; 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 X`+r#y%ao{=JHJuA)XQnzl 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�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

ck)iHmsrJ9HL%#uuTtca-vDq?VJmohG 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

lzc>B9^0#5vDLE0qYl6Jf6$c)lnSsI2BgWHDOA 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 z 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áX@lLcFG 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 z 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 z

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

  • !%~Ix!;-rS_ghlXQxD%bz1N5QeU5h&VSV?_R zdL7g>GdhTu+SoMYBJzYTxyfqwsj`H5w2O(eC+BLEae|0f;^iXJ3Y-scPPLwv2W1^x|N_|I`qK+>d7VUa*vMyLqQ19j0AG1b^KrLiM8 z*TD9D*W56>q1k}j8YYLYK&Cgf%xJ3(m%lcKrP>?XW;fL}*pQV7UxCb++1P)LGP5mM zH!XaB(i)uE*e4d8`arA?p4BqVCSY-4md7S##j{%KnuG1_O_Q4%>J96q;p5T$+naES zolajm`|Qb3$if#rW64g6HP`eDqErWr}U^$P)b!I%&XuJ%_r zDlBE$)s~7e)v*%;6^?3mmb1}PrY%cojF}^A^oO8SmmqUn%H6ets|6On(>btquti&* z(NVa-KgC@Y=#Z@j!6pz+3CysRJ3C~7($avo%3tN2;U41*y7T>oZr5ty%FVU94pfy@ z+gdeeLI2PZcNOTLFFY9f8DN&h_Tm)+1>K-?({-wVc(m9rA0DSLCAqu>UX#-_JlU-) z6u0N4m}0C>lZEh#{5WM|z?EJ$B~4!8tgy7I8@2CXs!=~DWumq*p(1~dd!oJ~Q06Gu z0<~RG>L{I39xQ!mN@;odlwiQ!F|f*CTRUYn^um+qKWNmWXUX?ra^N6x-GPbSFvL}! zR$k#w(@u1zX%n^J6(j|m0pby=G%%1}3v>q&C_ShoWXv@oVZeMuF%$hG!`x9!e|GD^ z$aZ7?AoHqVD@mNhGI^3Umo7FwA{@ufZB=`wwyMQyWG57$;KUlC25YoFnN@G?;zL{U zkfDRTt}$tk_?}1e>RcJpVncCahT%!b3wn}tZgDK9RmH~plOL+g&B=DMF;cd8xpC)_YZ?Ky`>RyIl;V}9R%^r6UmoJ9IrD)g@kbVNPK{6Rb zti@X?y@jyH8WmoLF@q`=KO}CzwZw38BpyvYE(_p7`VEi|7Z0VUd*>=w0@(|?m7rP+ zs&T3+(-?UZu>{1OVCn+jXreZ5xO|Frs43etG|o$piF>rZP&dYuU>az3#I1!qyU$zV zALgD}Txl7WA=X!khf0fu3vvRZ+C9Z>oiL;GS&Elnv8X6T_5NWtzRfm@F&P=24G{GDTx8@iOopM+8Y%o0{cgaV7Pzsf`?g zw}W^uGVXxNnQ;@+CXt!;Jip3c55z};e$SCyG5uZNNhs{Nbmp!gl-2eQIu5zM<$Q=9 zS@5{E(6<)8fPcX?^adQo+K_tz)Ekt?934wil@b|WUjQ?rum*n=`wU}A`E z1+MQ#z7HUA1)^%h{cp)F1eqz6}x6p9ak)xIlK|Gw^7?8W~?` zUHy%(C_>4+8Wq!v=h%o}$@L`BiTC5xa1r`FAm`KX#x+0P=W+b(T_{QY49K;*=SZcc}819`%D{Yeet%3Z=bu6$+vrVP37CKuh)e0UdN0X;X9-s z&(nOn@+pRIxBgqmx5p1F`1Z`dgyB5cUe`8j690JcFH{)XCFa{VRwwiA54%J*f%WJU zUy=Mr@7lMp;Q->(qNKHPZhKQ*u(`Imsip7k&__RYI6R=&fUg5$m|caT67~jK$uPuK zrR^)UM40x9;4z_w_8Pk{RG3KVzNBiCp_DNMU+jGKKFh!lHWeJ)2C8WLusa;U{ zS7_XcvaUkfZ=kyhLf)5$kmF~R@?TW^4c7h)R3{=|0j?wd1U$S1?}iV_tfP>#0p>rC z=Kl(9+rk%6{Cr~kKQCMibl>ZiaE0+l)$#v)y~45)VH?NFi-XM#^)p(Uf-TnKzBe}y zUf~!L!?$z|!M2%=;aM{2Fdgdqk@HnoFYd*LP#Hml%6dx)+5Z7UUSthI9RL6yiwFP! z0000219iL$d=pjLKb|v}WM(qC%_N!0V++Vo0GN@=;*f>05JLJKXHf(1m~ zch^!75fKnk5fPC^MMOnJL_|bHtSqwVDk2Lm`ue)adO?;|78QPHCUiLX|NQ-Y3~j#O z=W?F&obx;yNqk~%Z6aD+|=05_1@|G@5*3)13I`dIch!&(rLiHM;A z%d?h{6Xe*bTC~S+9X%!fkM{WOP)zep12=r>O(~%nAm^qm0 z9w${By;G_AnPnDEuhU^TAS6Rq%iMY0Eu9iQduGe*@|Nzl7AZX%*>H7OG7(s|1IT#b zjhV8ZA!g6&YK6ZX8zP+@0f$acnb*plykMChI^(>Kq93 zJ>XH`FqBu&RMJh_?^ewN9R|2{fO_e^m-eRxRsecs?!WP~IAJ^sbhg1JrrK7x9}Lg- zml3wL;KrzV_;O&(dmN16NpD55WDPh8%TNJ#b8@^q%SudH3+TN2!1!!a%fo=Mm1gAE zP+aXyx4~D>XFdvCWOCxwo9)T9aF`C`{y;srsOLf&@1UOv|7yI1*@=MY z@oJoGJ_AL`IPT&&ehMd!rH9s|?KOJFMKp;9X#& zZV&+`bel0>imIfTar$b(=yo~0rl2lFxXl*PpiDH55uBg8f8CCy3smDgeZaW9Ocs65 zV>^J&^$hkJOer_DOe0w6N65t$vad4V>8{9gDBuGK*kd?eCfma!^7xFA*%mH~`su{` z52Qgiy_kIuG*L#Yj-_-~BTEAV$J@-b&S>Ex)Xy5xLm$lA2AT$2Ee*Fgg3ulnq%q7_O_4=bpfh+NF_Zd5BTDpkYG9KjW=C1pVl^4Z zwPs~Bj9{6Oqbyv4TJraPUW8sBJCV~1q8#mE2wF7aMqh@B5*!Ac@fspf`0da584UV61_e zyBMeL*EIYWqc3?E+jkr98l*P>gWf=qEJje0nb9$Nj3OD5z}Z1E>j>Lvd(=tWDS}`D zMN$R=Mv=|u9g!lhJ;QCIxm<@)V)S}ON8wCs!apF}MpAl$4_A2$#*3^YVlx)Cddz%; zH{>?QBu6aUQaCx&&PS4bej`WmIet^YG_&58={9CJR?4o(xPr3T5s`Lg+8G}H3$6Rh z9|t$!ltFLNn{We3(m0J-Fnj^14<~02h)*nV*|VdPuQ7_?a^_((JT~uZGjMP^_TgB7K}8IW*4Q`(-YzZDRV$SD9qSM5|9|FH^OM> z7@OB-&0s8LerHxp%)6s3rnPzCrkO{*LrvYb_ za2s*I(-8{uRJM`gy{y5=%jz z%b*_DKo|Xyyo*aUviw@W17Ho2gvo{5ABXAeqSk3N6TOVQf=dR9HgGyc{S%1#Ma&bp z90*ugZ_rFzIEh-Xfo6KCp-`5?H#CMqV@4^0e?|lk6zs^7qh?`Dfk_&zfG;56i>4i% z9P{OmEDXi!Eu5EnQ3GxC`shzt@)8iC!}ozKHl!Hcju^dc7%K;Sg2(R_-3s;^f~}-; zWr@PAE}AeYHs3&OZo^IinZ@8jUbYj4FvLQN(mq6KUt~{0E)fmZq>EAAIfQ^~LVHPBw)^8Dhg_h5hY@fy z{%;_26lvyZ%BX;UMZjN)XMvo_I#L-%=RgJg1f4I_7EZRC{ZZZ+P}QD5z+?X1dO6|C z7+&ZOk5Ir<2zbeN8D^Q?XwP*pYJ5&3;3gxCk5lFuSFWh$$p4`>vCn{P79Fffa2l1| z`U%OcGrs@el0bWOIAeju;TH|!>7Bms@OYF9HdhEz8AGsch43pvI9{+jGoHs7OW?K? z2^#DZ6++L+YlNSOB_N&?5M-9&#j@O3QXwot2-_oP6Y;QQ5$$GoURic@ph8%T5c=dT z`glOfs`SE9<9Gm;nGm&9BM9^{`Z+u$d3YyD3Qn`Rq9l|tW0FEzhLHMVi^HiL);2Pq zrZP-`uviJot&ko-NISq9JjJqlJeKDT7Zwnt(ddM0U8a_6Bqx257@5*jG^^K>6x@RJ zG%Yz4MJo|SA7@`oq{7Z2bAygRvC&|5u#}Xg4D4OCOG{76p}eKpas$T?uH(5{r7s}i z#QgWkhaT#mn4UrVO_HvL227PQXP2&ncA6#KSobgwt<3eypZ>hMU+sSP-dZ`z* zlK%pTpqqLg0gonsz^;?rikeLR7gr?9p=6n2@&&|XUumr(2r*}wBKRUA_-pAq*PDC^ z0aup&4ZBWq8v?E^dlbJ;@?`|vQT*`rYPTccm&K1_*MYAf;Hr|x@au-T0|6H$9|FiQ z-PEfHxF`7nCYPvc(~>(8@O1JuR4v?0kpP`8sklz-E=2IF(goL>d>sLomfed6$WQg% zzxmUJR~Otf;s3?rC3-Sq#tbC`4eUfEyL+DQCkXV{iAV8NfWcX--jrj*4Wgg+sMY0( z-Tfq3KoZZvgN)gd$Te|AiiR_vAsWiA;3-Q2R%_91&zmK6X;=eEGH&(L z7%A%%C;#=?H7D06Ud7@AoVL<3o^g|aQFo?q5yHjzFL=Dk!>a^`fl>+IA%sium+*MG z-Bx;on{hiSMT3j_UL%<3<3&o%byhnXRO>$=vPa@iWASp%AhHDQt8;M03gH|=_&WYC zEIvr2eMT6bB%dbyh!B<~egN@OyRD>7V7)9s3CiftBctCM{~M6YF}$P<5XDOT{*A=% z`=XaXD#4Lfk)b`XSv415T|O5y5-hce8|8@E7|1X(K?VB{f*ng#$YF+#WEj~DWrO=k z!<_WG;_8%#BApyzDXp?tlV*L|yPpy7&c(N3a=F= zM0!u*aTqcuUsC3<7c1az2za(|DUhRKe@=c#DIpT|>37${v94r_TyC|Llv%9B%IWR6 zhH-RHX)Hd#YAU^vr`)1mul5(8A+l>rZHjCnX)zZmE}!`Bn#<>6-(vAGdc3BZB!U7U z+=}wQBg!wtbK~U$vLo5KcAL#6I+XLyNey??XXE#PCY{LYbb%q5&g9bRyrNELtWnQ9 zr!=BO?~Xg0IF6wcB@U;-V6*1tQwEF0?ofE2BfO>YK}}YUG33N-9Gq8sK`}#HY)+N; z4}{l~7~ABd03+!w1B`$az3MXM>J{E;gx8m7PxC0-03)vOV6x!$dSxJAAOl%m+5?&} ziP2$jAiyMGz^@JjSBPIC#J#1vK$F=CTSTcU(_nP47MIg#pi6@a@qZEG*NID56XAo$ zK&grXMuEV+A`VPLX@&R|LOc-v6>A!b>CDhz07j6l2AIpJ!~ANO^xd@-*;jNBz=qG} z3-X*-S#n>0cWucnFFFZQQ4h&D%@&WtWH9Hued@mUPlU9%WE)78zz$ZzK)?k6TLdt5 zOFx5{*->%<$hvU04hu!po#oX_*D~fysmB@*dn|T}qRqJ>DX0*3B7{C^qcxrvHku6v zi#_D^_!Yuy2w{_Znf;Z20FL)dGNE8DA8?@DCY>?&a|LO3lPw8yOs&Nvx9CySThT;x%2X@mg%x$CTH z%39Fmh?q#5T;^pRG)X(F{9MpPirET#AHrTIE;3D7ca6lq2Kri)<2HNQF?aM9lI?(8fJqAXIs_X$o zc8&9dMQ$$@qSK4T0!8*+M0S<^kX4ZtVvmDSqIz~Xh{*1Der1(oVzND7D4DK+?;+s# z;ufpSWEPm|jF@`T=|jMa;!y}j3fO+|eFQuq?7d#{5CVQBe5HW-tTB`Z|AK%^1bEWP z6K!&?gHyNq!wC43^9Tf;d^lII2Nm!G1l;P{&dE`$F|)vCRwa)h;Ck0Fcr@iK;e3lZ zLp^$-4mp0c$ziJ_8noGS74RtPkaHO)hdD=H$l}abzz-2{yYmcx9rzIf9&=v03fi2i z+P@*-X~$mvI-4IO;3DS{RBeKK`ibYRf)RQ@{yOLdd5Qc8!@8Udn-QRmFdSKugEYuq zJrxP^g6vig?yIky=vVo*^;@4@;_;Rgxjkx~+k}8GS`YZ-sN|04yF6-oJ&l0R*jD-F zgvT9+l7-5OdPW0z`lRiUKVA|j7~{7&GaM#K4Z^dC^f}8?FPu*yn(I)qFGOwDK!HAJ z`N)&FDf)Fc`W25W(v zGC7P^L2>eV#K|S5{oZ(~Y_uBz~s6(b!e|3gyZIqrFdTd&{Pds)DDf{ zrq@}%@-~(FyrnkUB4s$78NAW#axO!g*&`hLKQl@m+6%8S3A3{3K^?6eXb>Zrb*XAZfy?q^N8C(W= zFytg0vP)0%MyuND?nivt!|(JUzPPD(5O5WDLdjEaX_4EPR4WVuUf{M!a*pVZWeXm) zguIJ@oA^FSPWb$#MczPCaqJ-C*d_j$loHKGr0GXRH}Z)a~L7@@T)!Q92iNX=rXaemGh}X{Q%v} zY`Z;hHes{J8YRJKuoipMJ{>_w7p-T!kYq4BS(D^2l1#BXP5LWBT4mdO9f|GNbQB@& zv|e_lM7S@Mz}P4WB*5HINFO4kM;sfal+|vgBeDE&hSJ{iPF^8>gphXgOI@iFXikLY z1l6bXM*BB}bk_R0l)`+pPG>L1bT;Ks(TppkkI~t-?slcjcGeJxSr|R#uoexIYzpZU zbXx3(6rWgHj+j_TvM1|A)u&?!X)|{~fR(}MG*hmag~l0|C1;pI`V^fz+ioExnN1?2 z_a>C&vQn%=Sj=rQ|C0K!)yT ze4i^GgBza`pZbjShVyrHKjA+YAwkHg3Nj8Wqxg_Zozw_^dXfFIFa<`~DyruIM`zvP z)SCC~HJ{Enx4Gk)r5TVb(ajvCYoi0C*ko_EBV5)+15y?SF^o=Vt`5SEMUoUm4yV68B) z1!}bkQm-IJE(!;nRklgolQu%_LR?(-rGggz&3#Bb;H6 zfi*K0sVXF@Ms^}bRtcAc^0?2y!p#}hy#n{us)y*xe1;n)!K*X*e87CioT$FI|#Vlv5}W$&Rrg|`P7dz4pg^U!L`-~TS{-K*9Ny7gI!&q zeF)*0aL@)dxZ?Q&7qU|6HtKzZ@S<=IY7pIVuSIV%kxCQdrw$>6L;RNt!4>!0D5J^1 zsV4q{`oQm0Oel5Lo?)ga)x=>mCHeJSJjZE-hjxRx$dxwn0YZ3$KfuKkaOVb;xnlE0+YkCCOkw z?Ij*Yz$1?JJ_U>ydDC6UBMA76;|x3@dA#v_w@>Yz9!0?YPIy8pm%Z__piey^thU@R+%24!R6en=Jvo0vkTf+pPv8uy4l(ll5?D)RJJ3m zKC#+_CV~AYSq|HSH6dQER?o8tc+#;uAlHPw@v6|(^DJWbpkrAuo+tXDV~XAMY(0xe zf6Jc^$%8T-IdvJLdMw$DI%U5Yf-x6jRo?W+G|wU6BaU54#9WCAe>%Umpb78jljT&v zRXWfwse9P-2)NO)6HcX1i1(}Aihy6+F9sp#Dyj0P`{NhTsLp^!#o^qI8Idedo&>L4Yk& zkDN+K%4Y`f&_bI9JDc8pwxe0XZwbbS=D4GUZnMi_V$~+_6-3KH{z3rucX~Q133>T0 zf)-4ydbq#mixo>3^?yiZ-|Ce)hURQWWf#VDdWq<2nc1e?Hk;X2-qv;Xhv}`dz&M6< z-QL#S)i!5NptiehX3N}J-5v90$`T_EpV!hcx4pZqWomm%S71ojl=hD9z{rj{vV-A= zEAQUg(G{ql*U{P*XlUu|gchy!kUck0-`Um`XqYu`PMhpvgfT50)7t|rS%LcY&W^6G zw!nz?ceZzQE2amw&g|&wm@~J#Wp2l;uE3~i(>kWM$vk5l*EVNvTlds%C^{#g{389& z9T=mZ-Ptm=O}*&mrtbgq+7Ehr5+aaEdTIWyERIrc@L?E^UpLt4trDqb61^*I!f>}6LbsFFpp(AlFLVa-RU#k|Rweob&phZSmw~U-~KN#}^ z7FYq4i+cn?l6tO&`tEG+&fYXLmp*1)=^Xzpb^uhmdq7QdQ}ZL(-@z_$Kfa0l7kCZ+ z`yS9uUqZZN=+|I?8h$`EY!}Y3Q)YX15o@qfoezNx;O4EMeiL>-u-_V<6nmU_2V05X zt3Lp8`!!Hpk~()ygG_%_eg$uO8GKKUn>;IKnEW%)%@^;^x)&eU2mYhqPU-puX)a8i z`r`cdg=s+xy_APFu_;H$yCGZo+(WNt2zbEbN~m?Oo&Wn)R*>Eu*hi)IV5`ARN3lCk z;_rj${Jr2YP&EDtuoL`-_iHzC1=JJQBpVsXq<>|JF2;=;*CdLuXsZoO#`CGQ&_)+h(@G^>wGR zWUnrSKyCkfBIB&>Y-w!|)VBX_VGw~IA9Kql#@O992d?_Axg9N?+8U9`z}d$R07%-s z)S|rJV}h^8zsiwWhJh>a>E==E1e6Tw!hLzE#Epy)-1e^*#ZATrv~>c=}UCdi`rg z_{M!>r1NFU&ED==Ev@Q`k5gZ4`_F=&o@Nn)v$`|u3SNE+?80um{ZagL(&RCU1AD-Y zn*qo4ZvzCuo;EZ8tYvN1LJ-l(sNDtRkGCs4(!@6K(NuY=H73;1CXwUxBGyd)i5zYz z;lrkYAwZN^YXWg!*dC)w@Cm|XccpO|uuY@8`4Y$2S4uonnp)##YC=+serAMO_~ppQqFmGuIL-xYLuGlGv{3$eGr<6v}QTj&&C_&hK^ z1;9d#tH{ju$! zJLRp+jui)t&BlhTn(C(N=nkgO1~K=^k`>Z!Gxd!I}zDWosU%jqp3K141E=U3ibesjD|bmbKcatyGiq~=6) zI6u^o=@^+cBX>3*_Ye0ss-x8FZBS7$_2Q9TThfYx^wx}X1>_AXq8R8h2F=XJd;#ym+ zz9KrwI)uo;93Vty(b+;#?r1eadW<7ExW))BK`qv71n9lx>!qg5AtN6Ei^1Q)O7Jtt ztYt#-D?t3Cxy4$nc^0Ma)1>U`r02Bl1i51j>;vEsxOoHkU9JVFr5c~5FO{zHa)a*f z0sjWtx-O*d*BD-UZ|hiSnprlfE6B;wv)qUy#O_ry(y0*A-Zf?A_=_xRL zbm_gI=lA}5spT4-rZ*I>jWExGYb$XewNiug>4UDFuC>5rd-TX`_jC@aBjE7 zw}TtQPlCh?Aa4a0yBEuQ8E^j(o4gR4@^>)#&sZ<`UoiU>{2cIdpTXSy8+HM_09Jwd zGv;^QHsjW=>0JXG;OskqlM{{M$2X_0B1qlX7ChP zjcKYYsaG_?2))X-*xn0*Vy-hoO4>)WBaBt~A^(jdMok)VW8LVosrC1Oih2GanzV;{ zRgO@5Px=Tf^gT%fPu-}9*)$FyO?>q|pDU}h?R z+DtiDBg@p=8re+mpn6%E%?M}5jd?)h{E6z*I5VKauZ@Q=yWtG+o$ACwsmVj9&K*uuT4@*JtGVuWDwrm5!N-TGB*4(nq*n=Q$DmRqF z@|ojw`pf|$tjjZwca3ok3YH5|Ta5H+_H(EYH2Y3^KfTGA8kF5QNndXb)f7f+Iag^& zDl78Ge;)PS2OE|yxa#kgH(A1VRa{fWgT|4 z5W7ehJRK_A`%fBMpf|#UOF2fl)&qPaFeI`k6!ifA;Hx5T(v5qd$PlYRGcZ00EOcWpo>wL??I(#I@|{8F?s z)!?!Jju(Mzr=Mr0_i;TgxzdprlnXuX|4%>jy2f&Fse+jkv4tNP+_>C!P*ebi8`bDK{})lJfz7| z^nT055Yre!(8CDYYu*!P8oUU41VIm(*M}M1U}aSg47K7JMc5?C6=RX|9UH78q#tpxSGV8{fEGubeSo0Qoxc*vlN zoZBW3OLfGCVFk{Cfg!|=M3614nb?eHaF1Qvn{KC0X^N+)W=~+{u2lWlTmL6x3rOBo z-7ZYl-yX|kCRo-2yulIkMsAoqv!S|tNYk*I{NW?y?2#+Lpc^7(r4vhv!=bz~Pp({0 zIx%unY+z}1&5+?kQuSk2fV|x3L{B~O*tKrv0YH7B8NO556#cz;-iW{rVS$Tq)1nuE zzBEbZfIa5UDGFD`f|-mpOph@HmVsht3Y$RR#V-azx3347x^1_B z!OUi$yCvgAU}(sOXNfH!(b&hPDFut@qG2X66>dtp-c3huH z`dp+8?0vi+ok4Fk?Ws7ANz7t^&)_>P!;Oo8eFum<0^-jAU%P&!emtFHiDwVaXfLYq z_kzMoV`Vs!sPvQ&W3f(pifJYAj<=05O(Sa90s0wCXLv&9EzXg|NJq?4BE+(~Z>}8W zsmcx-{78mvc;cFO=dHVBrV-P2%{=NM^{*ThRHPsAZOt1Rw#!n)BTF7Bk|}#A&dg}K z@~G7a`+|RMY$z_`PMqOoKHvyA;HyPM3eY1O+et4cUcgfxmt=&eKfRCe8O(6I(qfpP z)@a-Seb#q0XG$g;v*ws{*gSL8oM(=~*C)VNAlaN%sdYn1>M>0!M6Zi3D(%iQ4WM)A zOn2BnAWJr#025m?y8Nxdm>YO`8`4#;)daotViHWT7Bkt-A)6M%#UPygoq<vQCqx=rjJ0 zV$AR;GDqtXbf159A=4N`(5Db|wf|Tl0}JjobR&Xp@$Y~rD*I;y{oa2v$~5|rW7g9M z`muj`j2SixL7zp?9{*2Ja{|%489|@P{2piOf|_hC^}L1_z#VcWENB5ggEKl&&*2>D z69$ZuvZW;BvIaRfXY=t9K{VPejL|M=L5ovcH6=cJC2<9xg4-P>eApWk0wyQVIVeBp zXN`=>j&!FlX)-K*)_*jg+YBDUD5K_hfO-XCEDL;_&+PzDV2nj$WKwTv436IHJs*`P zJOG;S153asKu>GDEb2{-$J5{E!&2XR1pMJk{1o;vcpDTT-Thuf;UVvm0(r^`(7XUD z`~pxWq^*2QUdE3A*&&!5qy-o?lUYy_H}XjHS_te1Pyi_Fss_n_`Xt+>ye(Y+yCJ5$cG>v(r1h`|`^pTqYN>XF6r6 zrd0MIXMw+JOo2Y>yI4?eqpPzR%j5^Z$UklZ|3xP)n>wnI9rPOSGx73N+n?SB1esSh za-isE1uYM9s1K1HahYKyNEI6M9a#>qkelxa8hG;Bj+je*g!phg<2_KGOWtPr1j{&u z1zm39&p_`&j{FDJze7tmQ71f$<5Tj5yKm?iCiwAOYv^P0|EM+OUrnpQeN6dl81o>Y zt`&%4>OD<1NH3DVW~PM8iSp{bptcX(bO5*pGs81)=RD5HfX3!)$7Prlnix<26zJpP zIgZTi%%aA-<%hv!7CBd+RR5SQoneb}msiMEku{qcrxjVXCl8$5(7z@R=WQ>Qnv4mP z)1cAai6Wp&D&fihrx}zF|Xb= z=5gT6X85ZjK2__k_5b*5TEswaC~IaC((hXM5cQ@;vC!WZMRP*K=gcS^Yb&RRYu<&a zw=|NK?oD37awfSm3P-u>Fy5sV@GNSd#^ULd#ka?Q0QEvJqn5mJ^jL(eJAZGvZ z)S2b|X4eQ?>`cx$Edn0uG=hFDo-;Eea}e|k1l{3UYhl{UwInX4zSPhl{i}G;JmnQI zkqa#VwKNVD=tzRZNGddP1853VYf7`IFaLSEZ{gM1`ItZ9%jpB1l7vMj?E%A<15JN` z+WO6zzbw4E0MWdeO@#)3AyD+JBsuwt=xeYhy%E`X&If;(+ubtt z*55w}v@+(wv%1v>_gQlS<67>Nos4~SCmdFr^7Oy9eO5kW|+)XG%-QbeUxE zJKN^SMut|d3IxV=bWK-u)j~yG3U5eDw~R9&rVg%UM*rZ{fz0c=RgoW98dnB8ZPu*0 zFtEz4fYEbjb$88zzXS$#cii5lTvxa{n9+0F-r3&W)iR}Bx!IstO3j)-6AnG?q(ba> zGSxn7dVBwc2dFgF(h29G6Z(`^3P;#DtMm4ju8y>@v>v+yQ@-P;Lw)8cQU`bbckQB{ zO+dZoa3bd&aP^CdoYdM2Z*IJ|A34wNGH@7%!S~O+`rU(%_P>8Q)NAH29S-0B27Uk6 zaGw#rPe2O`U;gm*XZznjEMH)u1-KJP2AFGI9dosWoI7h?cgLKWN@BIonlrm&E}U{W zA0yl52Wr#zG#dKfhKVt|V`^8&)JbzX=C&yTn%@G`V$zhBIk%>7RZMB?n%b^BeV*Fh z(mfr{*Q7af)jJ@vkMYzh@3l25mo@^wzfdA=VU?R0SHCq$iP2v%>OY5{-P_X>5pj7B zMjsW<xi(;lN%|jDe`1_M&uQU1KBy1 z`5tc|%j4G-8IySa9lea$#aeMj}gan}oc(w=Mux)Y?! zuL}j;wxSGov7wfo$hP5=bR&ox@X>}p!f*|w-U8MU>@aF((VhJLfVcw0`+@yIV86*e z&U2%+Lw65g7Xr_{ATe4uDLleDJuu8u<{1_)qJ{-tB6L>E$Wbdnt>@+jzM-HoIjFil zYh-9BUsJsXz*)7kH3ie$C6?hrvu-#a;A5d0cb=s|s5JbKvBWsmpJ@Trx{7dp|Ce^P zQ$PIBKjN|U?y6mhrPv*Tc5yR^^?;bQebOD{8lM6+_k!lPfNlk#=2>sEPPg8zn{Id# z6il~_(6v~q#|4t*Sv{bjS$Ww9=fJW7B>&{^&e{O{HA31F4v$Tb|McxgX-jt4-oewW z?lk!sdBY~~0J)P;CxHMYH-g&wYd^1oK2v_zU2EuGpu0%k57v^Of^%@%=B^-Df`4GM z9tV|w1JslFqu8+fvD4rsYy+_n`wIID(fS&eR;TCYQ)hZ!Ub;Y4*G4Y@C+r)sm7sY* zsq`mbYYjVK6Sx8fWwhqaUI#XTaXY|90K16UJHej@d;&ILf$wo{IW}NMbK!DOJXjb? z4z>=8M&(q!@5apMu$gze{ts_?8LN8C@Mmn4OZNhE8Jm+HuK_lc-)n{g^j5Ohp4tth zig8n8yIxd%bu1rYlU4E_y_e;w4^2V(PL^9S4mnyRe%Ha|SLJcm7rHG4}emAXd& z-5$CF_Rtj@LDeD<+6k)X3ca9kIGr|Sf+wyWy+1DK>B&?7O5zH>m`v&Jp;uA5SFt@< zL-QS@&Vb4Hl1ucz;2G-IxZ%o|*Uh0m{qMP}LM>3}WZ(qwF^|w+V(ZDhU@zGRz6TS2 zB@cm)^T6>8C|Cu8tH8rx8*ssHzR}+Ubeq9DpyGb)0QdyB-vGvY@MHMX#AcAezJYIm zQ>1$m@55JsBS80fAU#XgYxj`QOGf=)XQvho*g~>@U`!)GWfcE2d>nKIa9mmO@Y7ee*q|6!~9vZS`{UyDERut z2eeW@)#4LqY;S4pR$76;Hyi$i!+%~|{!c>6QEm{mwRF#IS1N@^#Hk+jKP&7yui&uj z>}k;HdK#`&onv<<47Y=)?bNny+s4$kZQHhO+qQAnwr$%!&&T)tiM_J3k}FG>G{5k4 zvUng8^8Z^v(oy$NM^Qt%^{g{HabX63+G1u9W9}a#SoPNqWGdWip&B6`u|hy81jf8G z{C58HkJNmwJ+jMmm{>Hzb_v0V2beL_B&Kt{d}wIM<$H^jtoAZNCOQvtlUaYV?TZmc zr%z9%=c3Y6B^|D)Bs_)YUN!A4+ZQ`c8c%!U$+V^q8YZ2c*^CMAf;U655mE=_@RdRM zlr~vetTjMm7%>u90K$ka7N>*A@oDO0t4MRU`F@@_+%D2WTzm+pk%UWlSR%+gGwa_> zpX=)FYaV>Q7~`*_TUZaz1fh*krK`Ak*lsHzF&p{~mf^%UI3nTF;Gr?fomyLrTX2|1 z=-PZqPhbORCV-d*lr@M;(BY5n(y`~G7p!>wl1Q2tdTP4y@y^9RzFT0W+jVK_V<9_} z(p9yCV_}WsHO}|mf26(XRGV*+4~Duc=s>y?3n>BM%{H5#{YF}^;(Wm--lQs|y~C&` zeEaX6l>%E+#>>}nE2|&S!NL{kQ6T)zk32vtbb^Fbg6*Ao zckWyBB)+E2mhr2#hzAEm&#ONRZfn>-< z>LWRi-oe~C3x$L!sAvdycIDdb)`<5wi4-a^k)HPRzJsfH^nmMF%#WdZWD!IYpY`~W zFEU=X(5@0DOE?(m013$gQbIz`ny9A)V)!_l^7wx-)44pNW{ehl8qt{y)k8E9@sO#9 znDon(L@Ls&M(Rku^gD(UaD|9ew1GLvp@=h#t}KN2P0Ry!@%~h`y7O8GdtipRFzDd+ zB3B0Yfy92xkep?Zt%o7znrB5eVML=;T@U~3iQX&D9%qj1j|MmJbi z-=G?S`0AXWuI_|itMbjKeh4M9`WOnlx$y79BgUxiSSX$qMmz3rAs(etz!&3=^qNu~4cO{dW)N z)xBsK%VxEX@Gm@Y5?J5`{kBfU0Wcmsev z2bYnx$FLRFbcd@MXSy3&bVl9|(sz*KeBrOs4h{{vthHZiw(((U?yKS9@at%(!L)j* z)joAe?fb$jfM9t%;%fL25B-F$7t+R|PJTG<_sa7%cbjJ^@ZTVJ`sIHV6nT>~DK3_6V4tu)dasNuo^hnq6< zO!&roDvy{#;b>5f2gex|a)+8b^DtZm4Mk7R)Kv;6kyVnn;c7dGtC~v9Xk(}(voaXm zp3=Xb#QABSV6wa7-6AY?K^+yBnu6D_u9{g5kF`x=d2}xl(E6LJW!2r`TLC)Fj?Aht z@g?FRPxA_~^|bP?e^grw*!Os7vbY)v220~uHbYM-mP{kC*3f8- z`tgS=feR7f(TGMB+fQ<@(mAI0kN;_a{Tvg;1FU=aJxEbz-5O1DITqQ-m@qGI_xZ5t zsk7i`Y7kR&{50}G#If~S-pEECZ>E_v*H!khTx_p9-gyG(pF5qFKn#KK{Zast@L2?r z@UZhSpY-0Lu5~bJl-T5RVI1U9Bm@()78pDHOE>&3fMz#2Q?uaW8WsWVbApAM9tkYI zib!zs?GX!!x#?V@Stpmpc|;j!*aieKQ=}KM08wyzktrtkYy2@ytVK|BI$rVH`ut$X zTs7!l-Y(Dse8QubJ{LG|tViH4ghWz?^N49_A|NrHhdbTHx-U%sj6H>5ErNG3rwY@wxSE5K?Fswl+T0_c?%!|ShZWkw@zL>P|9 z4xDZTP?!hd#Pph3Q)7Awj3S&9QWT$AwuL`s3~T5HXA@8H?k5ky10aM$w|@~MXag~! zyp7V?QdX)uTLlk5#X=NBZYC0%`0ldyZ?DBOM71#RR8wiJ^#$K{1(cEPr13k~a|6yi zL8Q048XBehn@eci8gI>*j5f^#L1R+lF?GeOr&`gJ`IXoWr=+y|AdCIcrJN69bKuyS zJd{Eud%HqS6tnuty9qVxSd@-zI~@jxsi6Q&xKy}E!7@Cik+HNv$_-#<4`mym=>*xi z4{a{+8){mh;Y|b+9=DIR<+GD+G~SWNch*#EbU}o*glC)-Qg!&`pxn-*T-HF?(CXp% zd?5yZ@nL8`=BYg`+)SfghdmncQ8+$=T!r^+$Wa<_IpDp)nB5IEQ^X}98&gi5ZH?#< z%xQNqQ0)_3J}f&^+k4lpR;f=%^;BAzVp9)SGKGN3G2S(rmHQu4NV@H-m(S@40m5h+ zD@72H(2b*zk+!w|D<$lMz?r(vT)+5@3*+UnaI}9;oK;YKLNHZJHDwd%;bow0@^9vq z;eer-M*E8|x-w+EDRHv22PCL!BCM$ zs8jgWs!;FZL+j~A9lRWi-9Xw|`?1X$op5mdWdNBrVTL8b zFEovYqvo*%M!Cg0sYJ8cRP;Fd87m|xPLrViOSNvZ&z!yZ$5bC>5CHgGwCk6{9+6gv z^XmMbDTXpftm2+1TE$!z4k&ssi zgQDR%$w~3Hexf)0xZ{$OCnHhabK1=B+y;xd~wQC#lju&tU?`W{TdV`fIroMpBPV^ z)RUVho?rNi$^+YFN0Uo{3T|-3`gm3!*f0C;r052RzTg zC^;?2P}2+xA9H%;gFh5T9#XXp;-xRZbrCqxRvMQq(Nzy`8h6d(u0u9s(|hSG0M$v# z2KW+lFhN;`puNDS^SIh?fVooNxG>uD?jrNDK;gRQk!5_~lr{F{+nkZX&~gKj&)?}X zpwTV5q`|JjeFK~lP3K$+)C??W-@$$)^aA0=4cejVz?TRi#Y14*du{}4cJax} zv8StJZU$oRI06gXx65HsrFFP!IZ``eo}b*Fc1wi0#MQ=NdAxWx1ML7@Unu;Et`fb* zw$$AB*{cze@63hL8bL;lkrjLWu_glTt^|5t-hHzGS^dtMU93K&lmC`Qp}k&+O7Io7 z-A@S5b=oO5!)zzu2rj6lrK7qf;I#2g|KZYIRqzO;3Jbqx&82y<^~QpLq;QoT!6cx--+(=xWha zoi|pN69~QWEJguEali6uXyxUksHg$ohy7HsY7LPFe0J+Rn{SGC4RzMJ{+){-K7YP` zLN}W&8s+IGCKgOoOq{x*O;uErQ`EpKM+9~}+$~qJeoYwu&>P^5Y`eUo_5Xgm1*kPX z=stTyP4t)?4>;1@&#(`JwdNw#)pfGu({1^GLa`^qqc&E9XMKSt%Xjd;Ctvtc$`$+s zA^z`oCZlSltfYq4`IP>0X zck49cHoJ2Lu@O-`mFk(*Go{*7qk6kUk($8o`~0{sY8DISL^xHG?)HWA0(bYS05*#K z75IfJH4SR2qg+2BRbh`V1vB9IkLDZ^Ln=KYSZ$q5yl~rOcvr zQ*?f|>7ecmvPZee4h4*`t7=4dd`G6^Nc%>;KYtl|B=|F=2N{4`X>D(a?XhMV#)eKQab8+=n^O%*Gv$fw_mdCeqi zkT3M1N`4+TLX2>K7Qrl^lVNQ0evx8WYHpHH_!O?UJs*8gTau&d3Z(EMA;dkiew>?~ zemom-l2Z66n$1x(G9KM1bSbSwIC z1(MR10GImY06&OI%?DL6RydNE)-B_Q;U=uP9=^cZOcQ#HPq1eWC^l*i z3`wP%47+(@4k45rIYlDLiYWvl0&6UxDr&-aievRQ!BoB)k}CiD2mbtt>%V@FAJ8WJ zkcSoG7YRe1qi}8!MG27^aJLjOo5_L%`cKY={@@Wzgtc8-lb?6hICD73#TV zGs#eY>pzRCe<1=Q&i(fXwV+47n|C?FHw4HXJ#!A5p!l621BYXKg(L6SvXuHBE;mrH z9f&lxa65(pdc$YW#NBwY^+HAB{a6d156CXiri>G;tmFcm@CL(NR#1TW@AX8CZmQaw z_&(RNlRuI7U;6TK_CTJDw6xH%kUh(X*WDUCne0KuD@ywqWA~o`r<%s8^C9fs*V6>U zJ~5<9$4434r;T{$II89uo%UA~W0C%<4B5jdgDk^BCqwo+x-mUW{0<(b9sO7s_(zlN zkhh4V?*2LE&qF>qYhc>HiGNhh79QSWE|j?fp_CmuvtY_vM2hFMRv?2nQdjoVU(JD ztA$9zlN0Gd6IiE|C;oYmCxXq>)Btj$%ee1J=NF9o-1(bEI+^%QJ9^t0cAB|rsi^rI zDa^CD(yJAZ8isw}m8mpp!=W^CTRK4(UjLe%K?Or>j*}7sOiQ)6t2~geJyL)1WCbc( z@O48UVnC}J0ZuKD8$wRxEEqyT03Tr14TfKFJ62R-(ugObqC8zx^i=Ev@#y^x!b8HI zjYYA2Wb(=R=s*LgKtpfkTs)y60!NK-3X|I6U$wG3r7;n}hvwBNQm4_&U@b$qt4Pk|e?q$gbC9w0^)ZZN_&L_7+{b+(+qp^b~F zU{!xJfm8UR zqyu9Y`Ay1O5vR-D54N(!Ls%YVIU2E0k zj8N8AQZsO|Z&q&JR#e;1EO%0GRh?0yfu~nIDZ8wq=4?PIBTHWs??sEOq-ja1Rm70a ze)KDO{FYFA!#SZan@NC(%$&T5%s;w9yt3r3q;+|Qi`pIzCv-cB3duFI@82DmgMXb-tr4gxPkVaAzDoyH1bMRb5Ei+%%(SG$LM zKTld0En<;yMd$;(&`O)=W5~1Q6I-b5Zd!_o&lk=1?PR%==E3!DMEDDMh$IWqT` zrxGWqSe1eoNKkAK+8ti=jh?u1A={cKa4@%@8qEt!RoSMZv9Wjnu(@n<x#oDBaDyYM?iIbiy_}%e*jji$8vc` z$R9$G0IPmU(dw_2j{P8Pm5W`AW{pafOOdTjON>#BZn@fe`sf)g4ha2ny*u!Nn6*D3HJsz0m$6`GjB4+0-}Z4brG~$nYPp_;-*y z!g_eYH^e7w0e%szgI_cf>4f-wahF;4)L0<~!wd!skZiyNV7OAK`!eik0;cGSzPIae&R zK}dHxc^s5ZyhiMLW9pSzK;?4$kEMObEE&XHRHE!8bhTiW*(oq5+?Vdr4Pn#Yj-o%d zZ3xEC=YTeuQ+k%p9wg!)ycaXaVObPurbTkV*MFhyLLoL`2fvXwOq3ZA6;DlPX6(wv zCYYe?A4J61Itv%B96gE+^oX~y%?xg-Z|Od=bVW`Q#(bboxjlX0fiw> z3QQE;_?lN%%Us-p8ak}BRFrj<;SAv(uh+3De2n7jl*)aM0A`E7uv*M`?**zsaYse} z=T+(qx)Q>#+W;0m#AF z<=a5}K|aL##Vqhd=>8Vcr{Ob&6X;%%lL9|LOyQ{zzCyvB@^lh-G<~4FAHy&T>rP%4 zUD)84AjS5F(qG8A)Ndd+g6S1~<5Gqp}DL7=X(s0X>!FZ)$ z`t9hmLzW_f!X=i=cw?QQMc9N^?j*A}1ktizbPg#6up|4@cega8ge)pmy<4lM}n`JB?!i%enGGkdEQ`X7OVL1Ni0B z03e1LU6rl9+1W72)w2?3%|bsfe=krvhfk#a9MLn%?*fl>GIWR%(^tnl`Ru6xKpVFt z)?KBSOyfmLH{$K`g>+RHZpTl`cl!D-vHF4y8%Fz;>`nnD&#@$L^KPJgahxgBhUTe~ zAoA`>36R3*m1O)|osjdzln1X8Y?h1mA6hwqkq$RQotXkqa=Y~cVF#8ip71RU_IeLZ zcUA+Tm5bzivAChaMplLqq^JnuJfajS^)4ypaz2DrbucGVuzoy;Mmh{Kgtlu$`9NoX zz~z`!I&at=R#q-Jpkjg<_@TZ(6(anKz2zQsw$%C*i){&k-5iG2hI5H7FJ}cWMGe3I zQ~_8gpOe2&H}zVX|Ku#pR!OUb-x!~KFUQ^`8W;j8Kn8JoYm<2^ z`mJP5uJ#POHi4@@I}lb6ohk^uR6{Ce&)*FvtkihWw2+5?hM}G11~*ZV*pj@P4O# zWa14Dm*7+%#^e8ZAe)jW34#d3mkqaBfNE%>J4^Ba*7EYF8a%FtX8)!1pWF5e($MmH z8R!J1OO0Z_3K)P zK*ILfN?Nwle?eOx9NPE$8PAQ}PH%uR{RhsxULgcw{}S8jRN93S;()Y{ow+3V?`o(> z+S8NLLQm$oMq=9laY_g?Ud556{gY%+QJT7hpuOeOf*iHyAE%_L#VZca511JC5DzsEXc!C` ztu%FXq1Bz}qOm@74Q(Ery+OYvHlui3AxZ`2Akk-;3`_+yw$Xg!2&FDIDu){vE@~!9 zt_7%@&E(9{4jrrGlrYiHZ?#$VpH(JqTNp``Zm2om#4R}?G=wtCF*3%V`euZJyMuk$ za?E=TD?$h-vwS|gHEbGNsH?JU`({_FZ1hz>DdW`rD^RVw2KY3D*Y<(mFs(_6&YJ0Tm!B6Tf`AYv4bg^3ahLQ0 zr|Z$!4`tsHQ-|U2sI)_C+#!BPj?cz?TaGe9Sn%rhku<4S0g6vNCgFFJ6D7>p+`#+p zd#{{{x-UaDG~T~2H*giHx%Z$m?tj^m5c(E`W}%(|F-?7JU5qAlw`>SLr6{cC?s->7 zxjvyT*eN_DWXvx1#?^gxapku2voDfS^ke6nI&gC05fY5fh@J*`*tqNbBs|nqOyzc_ zyF8qW)G)+v^>g8OcMy5zD(=SR6>6$){`I}RrnkZA#=?6_VqUh-2}&`zVqWZTyt|Qv z_k)H>-d%4<8=6ReHj)@>)A#^I%ffFfMWj(>!m=M6U|`@8mh!?JgOv0~^2Q=(H|V8N z2fUuH1=GW>kvkY_2A2Jk>D}5*soW)&gRDmk(xhJJpCnrVWcl>XrbYV#H~m)U80$f9 zXM($=+oYQGRoa~+;`K$v=6&r*IzA4Xaw$o9wY<4-2(3Ok1AO6}QT<5!6(fe^kKcOh zT&54Wp)Dd>mXQ|#RX3c}{yPpik8F6EM+kjeO3JDR87Ap!kL0D)$^_ht0xGw4iHRz) znni|47ui95tjb040a=NvV&59zYI+SN7!11c3C6&o4#=<;oN4={j^+xH0glSxp z7#Y$W+W@#k3EQrM)(x{!nTPGDk-xz+8+cY$inUZx)u@Vw^$alHy46nb z+m!H)+>O&hG&G?Hbo7n@MnH6UI#@=V!IJLS)4^ZeOX_c}T(n<4#lr`B*K?yPk zXGN3Te&}Av0w)8wC0Sn^Dg<3xI0&r(=(!$#)jZlMo)TyF$a#|cNIPy!-pNZc_9$G} zsHp>X{So*hxE!0f1EHVLi@qziuZ_?A(DiFSQh$frtfIKJBMl;fuN=FFM746PcFrTZ z&!h{zEzSqF%h1XvMgR`{QeLjQRQeRhxZWL^x4)Y{c2~zBW_PbV$IGD6k^a5z#w&o# zJ~4N~19rN7zb}c(46_a_{&l84R4j*KH8@EjxADH8bk=04N*e z+I;8F?LM$QHo{r$@3kcRYi&+P)uAHhqg_AEX~#PPThMCH0hcf$iBGeA(Y+`5lAL$^ zaw@{ANW8}1NkJFb!gs7T=H+Ioj&mT_OE-_C~sqgm|>B!XMDmPV_+zqx8PM(~S{H=>qL&eXLK?G(D6pVD3F=W4#iVH%6FpU1(-|R*!or4xsJYcL6F{oSakmh90l!)oTOQrtfnDbZH|d()H9u=SMh99vU=p zT8<+Zg@7f%W!(QW3Uiu~iafk-BLDyY-9lYyb%pPChkTsV0OBtI z0gTWehDhN=5EK}dY9)Y6=eZI{@gFFnePs=7pg(aSRAi)o(3BrWmm-!2!XQ=URvrb0<9h zS49CZa~8u~_?j>Dygw2RfN9B)Rdt`*dWen1kT>=4Po{nNcilf;SAG0m3L(Ya0So*R z--sfLQ7-eKlfm$Th%EWwsa|{+Y#i-CzR7rRL=c!v8;H!Sde{qkgAOcj&Y_fgcSsdf zg`D7FTJ>+x8@&27d%wVLFnr;5>^0DjK>HLCMTs-PJ8T0Fs;H0$I8|}!)aK8%RLs^asr40rzM}GMN-jtheYKJ5IZ{y`kDYu+BbjNz2X7sln(1N@-N#^j#WIuN|aJne@TeMFDjevr8kvYyuZz!A}mQ9HJ0eVqh6yJ7^s)p_22EhaW%&qs@7<{}ZHbn=sRpXb z#^RPs>Ed*()`pOQNzUKPgiMw46O_jusV+!FDwB=R?@Er($jdgQ0<Y`M`-sJhff*n z>v-QxkJ5YEN$~+z=-o%la_*|OL(P;K$jnSlqbC`Xu~G6(HhLNXj2R_8LOgX^m2>t~ zYOzlC23kZ#ad1B%u z9E|?V0kO`1c*ASt&pg-LqtOje@$9V5t;Q8)3!IU$==yXwz#37laAPB|S_Yd->{Vs- zfI+iNb)HM9L#`LI(RFVtG3ndhXchsEp%Uu5g6^b_Wl^PRJ#w;gDyKAySSy(!t_LAw zKCuI}nNNZn>Fo?&fC}G|tFwBDwZ?v}xNM+tS=5 zVH}h{xFaR?tSU;TGHDmp%o&7rhQxGS-%F`EW9dsM3?zobL@z?ly zfA&_Ppw>EETpi~>%$G|Gdg`NXL`ogjiCBfwjGX#_ zrx~b5N_^D^wTr852_NEh0uOErRo=sgENHkJqiIEq4E?*eq?12B(KmVcXb)O-(UBBp znNRqg3XjA{u|?uLC)nC~wyhs&X-eA|9^G6g@!k-88@blW9$7vQ@}-;UQ9`*OmQ?bZ z%qgBVpKj6LA6UIa$Br4y4j<8}j$reA!7ST?>l>EGBE%*A29urr55F$-AFL9vCAPN7 z(^nuvuI+uiB4kGV!c&Sm|I;#52K*Dn(3~4xPC#rK@h=}kT38ruAF_3k_y|!ZBc|Mt zK?{Ya={aCdS$A#8w5m&esVSti!)L_>mvWG_7c_=xSI}vkQd9OOQHCRw)tR|RjxOQW z0=Z}OcP49E1ajJxna{8xZC2M^@^btQXO2oQP|*akHh*41xS> zvl?s6b1KNc*^{yd@Hp{i%BEqD zxO=`rsn{lXE_zL~rHnYEnL&R48ikdTY@lk73Z*)uwN*+Ge#;Ygaij|}h5UdTIi<*b z9}uNb2HCP3ImezJCFyv4i!p;>TWw_mLXQH4Ry zF=n@Snm}5dn|eonhXvBuJAl)eP$EVtYslytuh<+9rcL}EJ9zkbrxl(Zm(3mh_617* z3r!Or)qpJ-P*NBTHRaN7-`XOcp=~wP1{5b@>pnY{ya)f)`T72Ohl$DTa+e+*vj;gti*L zPJhaZ{v!rgJ`~6W!xhVioxodYZ_d8QE4iv~MCtl!&+vSzt3ShYUN&3kg2t`kzRmRz z*Ms()=sCf2oEKDXCu&iVmS6RwC9#HKIEFV~C^vm0i+Eg>0k13R2u-3J=Y&Hx(c zM`(`sNi!5knE#4SDy_K_HDl9yzjFQhPPNUBLADDj+F?o>`je(I6sCJ3eBau6*=1Tz zjz(ZN+^`shn2oa}e2O#*gPvMEx&qd0aBmM*l# zBcm3OM?RD1o!4kr==&J&H96f-kuXwgTG@EeJ99cuKEy)xs(@<9{SKjMk>3RM7)Lixv>U%*lhge*!Bnc#A)p!Y%W=-TGU>Tx zx#OKP^?&Z}2Ia>}Pe)-5N*<2h*>~>?G#~Yd$dh6#*gNPs@=itu^FEp`G5#?JFC@k>tmy?t zX5QW1vlMITmqqaop%D(KN>T|1$dEc6edB&j-_okPo3UNd@xkd`<)R&8n)EE$N1wc#J$6~JY}_&(etM2>Gt^t<{sEnO4_LIM76V`L)pYu_vuRm+@dXb zh-KqXXy&(r41?J?ctYPfUe}hXHI@_a{~_V-*@(A-I{`^zJ9593W+wm1&co@dOR8i{ zxwfdBVYh&|Z(!dN=rf=(V*Yjx?{11rN;G&1GP{oH8k?&q_|VYWu3Fmb{TX&eC&&uD-9ntpD!Yye8O*wsD5l_ZI@KRyT)qhKRbRV=K7Fs9l}8 zM!58lSCWv`Wo8bk$8A3T`tmOxTVH$qw4A*r{*8Kc2sjlf zz;V;q>=uI4XXhTQ4+d5lfoRjjj)T0WU-4?5yRRE_RHX1A(~)88|8`o1_{6+;I-}x{ zxtDUAcu22LwzsKuKe=et(4b}W+!pIcRZeKz^DSd_2A`QnU5N6=)&x{e;4*J$XrH=( z04*;_eKA=kTMXZttiBnJ(=V{qE1%PDu?D3?6Sc@c`!$4b5kimS_4)uanRM%StGAZa zqn4n?R9+e!;!0Uu(Osd{h7X-^9*f5L2=^WG7h&R^Vir&gA#NR=O4cF#%YqcNK!BPe z<3ocNrFX3y6;#D)mzrR@2ks#9vi6B9`M@H5<>j93GuE3l*>V~;=@sE1aiJ<;C$(x2 zQzc`Z=uN?RM^c>p6@r)iDIOhTtw7Xk?m$fO6-ro-2}*C~=gUWP@G?Jpa&o7zUw%Tc z5S~aW004fm>RJd{4NDpoQNPbutMPUEk3i^ zO1|TTpL@bp_Q3CL?5;w35Ww+>rnrb`O?>i`uB^|%wW1o=P>w%cljt>bl}*xA6th0e z%D2f%h+z_OH_nYOQxDnPSdxTTPff&2vX&gn=N3ofyaDqK9_FFgNVZ-tF#hccyOu04 z40_g0^vZIuve;1lz@V03WMGx+feEF;YEE5hiaAn_jj}HXQ1-^-jZCp|OCB2+INnzQ z7cs`KV@^wMQZ^>o%gkv0S_p?(lK;aXDs0wh05ygM`^3uby6X*WT@^4%E-Rg6K!>-H z?);}{4he?Q-LfBKg)vV*Y(Zj5`wwV*4LGj6>@DNi?auhsxes$9oGs1Oa$Us7btIWb zc(g0+wMB_|tRzo*g7xUw$~~?oPV4f%St5yPZE-RQ82hviZC(9abYkS2+h*PUE#lnk zvA{fL$Y?c=9n$Nqgf2a1Sc_(@-Kwpp0{y7uR93<$&h4^#-94WsKBnolV*SmlL*m$@ z26WMml3!?9ih}w?mGjW_$fWd=JT^By!-gT{3B}-9R;l>KpS51T)gr3JqKTGCvSd!` z6bsI3D4Q{Z)nxehPl8ZI+!6Z!x?46Hkm^cet1}s1Nn2h`DLwb-__x>V_HYqqSYcAeSTRQ+!K zA^gtEI~_mT$$riLuO%>*;RJRKk{*lk!=mQmVA8%>EL~!&{rO$6=>yF2*Q)H6OeeA? zBE4V#!D7(ExV7ky&(3U=fihOAeqVqF8kJH@SvQ(jz#DnM0vGK(9dy>)j{F6rk zx6B`pwlr6IZ;nD)Mzx9iAp~QD zdjXM<@kJRjwh_w2nsiKSo;0R3tJnUIvr(Z|;!!v=b`Xpz8xfCL_#lx|sC-qOoi^7d z2xLC{h|g@X81!3#U@?PjdU&LXd!T;Cg825&m!c84xM-f7g|sO%B0VLvyc~}Jo}5L& zjXMy~Q-Q9__<2b*!>ah5u_zv4%R>eY9K_l}N78och3C%oux!a&gb54gED!>iw`(Q# z+=`JLJzEmu@G~MKBaVN6u-^-?^3!3vnZ!(hqOW^;yj>*11n+iyy4?1;Eg!hyD|ty= z@}dJ5@Rv|T9X>Jfivg$?DqYeV^Hj$MC zrVP{<1SMtsV+mKJoV=idqK0aA_~YWvbye<)tE1P&+wfFs?-QYRU?St^KG9e*;t~M* zTJ6;Rk7y_7b7?_8&7YWzBkmx`_z|cCaXI;h0+MrjrHgV;dUa7f8E!Luk8=YaU3})a ztc`!V1^hk(KRWF){%N~N5KVR=Ci=1Ql+VgR=!N-tYrm~)>cWzAd2^soH`Gd^3Q;`= z2p|3~Wj#zYG^rujG!cKrlZABsBlo0Gi3o`!=Biw9@<{o-bA#E%8Z9ekYLP66IrkOu z_kAXL$*tfeF|Z1xZ~&0lKEXAqO%2t9b58ETd=40=NhW-J>nG+gR1k497qp3IExb+A zTp(6ZC{W8#K%{B*si~jpTsYqj1lUJYkgLN-2Q4^~HFr>~PZpy#GM+EgqWmHADdjAn zpC-%Jq29H9DSY3&Q5N$kB5~3Npa%jK^2JD(hC#;BT(V_y3>58{HqU`7&Pn%HBNov3 zEDU6-G=}L<%CU1@e8DG}_=_}?no|P<`v%$eQE~QJ1-jFcu$1eT*x8t)>Z_-Q2YH8;>{__zq;eTbQ_vlHAOkYgQKK~Y zIIe#=A*>u=9M1_LMjQrRad*{6@fj&u+Vf0Cf+*x$*TmXHmMl&CvEg&|;#s2=Uf#ji zQ^?F#_0JAiH5rUJkMQ2!|;yos&BgZ*S8g5*xb(c;%D)M1-TBl zkMlcIUp7v?b3qAXm{N9X_(~+;YqucoL>|^|rEyc|h}O##fyCMFoWTnCoY zWrroXU@Ga+3&XFkG(Ez6!UIWr`Z>k+`Y?j9@s!s~V!8zpx~Fa|jRKP&)DnV$I{oUf zLYj4Kn%jFqz%h|ovvEErkF~#CUR+kI78GPd0#Qgf11lLJI0bUv5G@lo+&QgtK=i}v zG6u>0h_gU&pMN%rUk!Qv)u}H*zed6DD!iql7i}jf!`m=uqWe?(f%u+*nm_UFIfQXT zzDpkdm?%$7HE4@)A0W@OS+Q+UJLzSz?dZ2=D(WdqMx!bD4{UL(?#m%o{_$d9ClvD` zD^_sZ%_RTNo9!WeXs#sC2t^70kk>3F{XYO(K%~FRU1i0rm|=!iR8~!Kz2YjF$kL23 zr?SLVUO0)BF_Mh(ib9jC+=Ky@E>^;bx_%f`QppM!a!7@121_x5EG#Z5Vi|_Ybd?t3 z=ZV@!TwWuXTIwn+_8jqn)VVJX9AD^;(*Vn-*Qt*hlmaecK?rZ{mFK!e+v#&rN`^-e z1W9&^SA6@~yw#oJ+m0&%Sj;E*q<|B5j6%!z^wgP%OerZZ;*yiH;-up8&WDLb9RGAz z>BO4y(u$h$VvcQTMWL&-q-?!kLPQp))xCl@*mUSUDs0yqE^pxVQmM;+)l| zvf4GlRa#n7%qkgqpOVVzl1fwdk(LttQ_&>t5*m+NSn4V-s;MgG20n&5c!$gAnz)QE zn|5dJF&+TkP5H!>imEYhLh2$|1b$jW3U>yT~tK z2ZZ^5bCRLBfaSbF;C33;AR@BQ)I2+FBq;`gKoj=OW_H8 zM&{2U^cRV9uoWgGs4kIPsk_8{e$K?h@Bp11(3f`(a2kL_daz?ND_Hrl&tAf5B;PJuF3g;9ax@wxY~UWZn+G zEc723Uot)51URcPpJgzj<`$H$092@d0KXGOyWns1EovYZS9Uat+lqBq?T@s+iA2dK;dumw+p@{<`ehfXQ<;}gDwR=&Q$l*J?~P` z&@J(s3EO7=CSeip5_N^oTP?aKJwCupXv=h2A8hCOX!G`4mc?@8uv=4yD$=<29N}FNph_u800F zL=@#Frd4d_{~>IK7CiPfn0h^$cpdJbU9gq-0lp=U;3--`E=5ZbuivNe9^`pf0i`UV zHlE?~L66m;be;2VuX=PI3@ylc8p4~v+yYb+sAn>EWw!7Tpx5QhQJA8fD40m+M~;o` zCn^)p2v`gHMZg_PLgG9=a)G<$d@^qC!e+;$O zHSmt zr^I&+LX1yf#3gmthKdJn=VykH5D2lb;DCHA0{ z;_1hU`{cj87Eay&ZU6EPlpIInZ9&?9VAyl0xPd+a4^r$!{^~_4J^p3wt3df4D)owe&i)GCfbCl86FmBUr>Gp|hgTz`(VT?D4z=A$oO)s7e?*8c;{Y+o`T*M-D+WrM_9&&EX5)7 z2w?LVh+#(R$mdNDJ76^3nz1o}8NC%c7lHxFZCVC%bp*u)nN z+JV*+Z;}_urI7k1_<5~bsI?~^btxgL^7ti-+;9yL?P zPXMD(7-?BZd_ktZ2@A=e_+Do&1nR-f`o*(7$~D-VEh+c#;la!xj{%GzmVs~sNGcS+ zqMrYNH2`W+f0J|Xs^A)#YU6O{|e zp`)1Bc+UxXF%rH-Dt-q30CIp}gtVVHO59gn5nkn(4QZGQ4NA;KPu=z0k#ufqzv7fa6DP**EdS#qdo6* zxAvC!=46H%<(2BG#izT8t%;kL%=pdiCYDA$INK$*(Q9HBm?sA(_bXTdAHxQ;hS-E2 zl95F_h&}u>=r|cWSeGbd2{m8axinSSLJIZd%PtF6db{jUdOe^lG)&k_5~w#u8smfe z#^?hrVfqwN7#Stkvw`8lpl$*V>cdZdYVA;0)3xz#1^YGBqVM4s*n=9;1$6u0A;U=> z^5V6gP-goXmZ3Rl19|}0U@dwM`_Nzi))_>#Ub%Rt)}zyl-s``_Q48&G5)Og<0`NCN z-$wKmoQ3u1J9rM`euZu5T_~Lco8h%u81xXL(!@;=QV&s{RqKZhTB&6Rj$P|8=udww zxgX*@3meh&osd145vYlx3?BzC_d@M-3)LE457`9+r`qCrsC#JIpr{~j9`qin9UW@d z*pkP&!C;U}rA$ze$AZ5nNWS;(hre`K@S|5NRz}&UjS1E+rw4>?5oKAOM^*bJ^%~=kqD1N+wR4=9-}u zRFoHU-$Z5cgw6}_(&AT&OS>!VGS}pa%6u*fAVwXNe1=l$s!Za z11>4=0!tZjO?hFdtE#GGLP>EEt6~(mgmrb*u%^Kr2rHLYaMf*DaZyQ4S%)SrWUGn` zE6R&pm7el8y=P3181BK-IalXb6<5AeQdrzw`+9_~!YQnl(PT_=RhAZ4RaZY#vA+3I3k33Huc&i#w4t1GZ98>hEiR}(5K zs35^3 z9Yj@rXlk-wPGVI96mEuqqfpq0=D;=(cK!cl0M+>X=z`fEqrK<_{+CfL)RC+CKN5%F zTbTJSu?@NU{{v6qBC#E1t%5A6@f{dt`4+u{eg!H%wG9ocmEWMSIfQ_~S;7jhxp4ZB z{BgkKk#!)DBP}7;X@5cuC_Y8OKLbM*gd*@H@eOK*Ssl8hGJ$&6s~bkQimvD;%gO3? zc(nz>;!@KGCG}$a84|<^yg{NXu$v53bSUz1K|sCd)%*|8R|2;XSIFVjaRuWhR5wE{ zEC72NW7gCIdkBdT&n_|pk4NGUs@RP17ll9a{!2(glV6K0n%Ve(Atcf-Kt{ZYz5$^~ zs2?+Y1+k9U0Mi#jqDb@~^eGyWdyqJRrVNdUk4%t6fxkdz2;2f$c}6y154;7eq98EY z5~SDUXydgZ+hAJmlvm%ljQ%8cpudRJv2ExF7#Ne5rBS^;Y-q+yDGku;Cgkjgtj&%Y1qhXi)Sq=--I(cZ@@Ks($t}c-1WgDfK*MVyt0LGMvI!$<#uj}UpOx_P%4HVr|u?TAVyn#sq2j#vQ{&BE$Xwu3&s@1ER zNZ&zEWo@tq1|Em$Jsf76+D4gBZ%J@qq|q3ri=X7 z7#weptiS#F9FHv%-Hg|8-U4C`xfOZ@+6Z&_pk0N6|AM4x;Wr4p zhN^!cPNNNi)%>?{!G8p2Hv3RL@f?=GB4Q1ckspB@_Tdt8KF+efh0`z_)gpr-KRrwyjim3kBz zFO`YH0#jp0#Aan=e2xynw4Q|_`2mHZNZvB=8>Jp&u9HZ3F+++ z-2h41>SWXk!BUhSRKS-~YD52KNKDL*3spxelNnYRs+v5gw>~*?W&^m1Iq)^Pj2PYT z5G;aBt0S-pCDr(*<~P(C9N`>FXv7!xMV`wFmZA72L`?##AgRD=X z5#;!{=isl)+zq*kl@KtH-3Bkp=&y|PEX(0t7#t)QYfz{tj**6{nH;T zSceSBpLG%bga^crAaVmycvGGz2YG4D6RqIpE$;$e9yN%495Oo3gjHu))W9XMe=M2Doyq-Y5wC9~!3dP;@ zOsK%8W;K4_|APUymmdOdSMEo+{dqrkFEsx|ByP9P=YFqS$h9Xw=i1FzxErChC%E>* zyDxJW)5ujcgmxBpOH}Ntte(Ujjb)vO@pbNIY&?C1acADc z>n>skkp05H6m_1)yph=_=_qO!;; zi-?GbtcxrvDk35xDk35x3;#2dc6#{z-}i+Nq0RUEJm)#jdCv1ZXJ!)H)9?YvN@my3 zY-sVex^#8)7hn8*p|$k@u#jAYIbb;J?*w}w)dt3ehtghkAVJSgt_1XhfgljfX+pK*{4Ox+#r95+cYM%ig0HcP}fYi3V$?+a33OEt~v!) zK}k0N-GIC({U`t53Tg}ZgfTCtm@Yt`hLX?WYvA^~M}GxRgNhTNsud_V0mEk4a)LYw z)`LHM2=2dk^jP}|@IU9k-}X|QVH>#~e3l{9ItWRdY+C)ySuOQVHfH+N`su0qmWFy8 zEBx3zp`m^nC+l$nN4fSsL!#FO9gvf-hyUoty<@% zSBRjQS(bStkg=PzrcAsfQ=D(hD{}iwcnvEt4c9V==ezXQ!lauY`AKZ# zL$$|3oU62--&xY%$AfDya9`$)Fqa#y@;XBq!Drt;c~%6^Rc(%Psqw|OM18=@gFj;6 zn#}rAE_Hv%UN$K#fEO_EYG!#EX9?DqT8k%^@PY7?2x^)2)$3#2_zj@ge&0rrReTYX z-CuJo!Bw|Ja%=t=cktlP7`Q8QA;yihDC2jVRWTmCjDZJhSH!te4Uz0;)S&os(Z7nI zf!STtUJ|wVp8{ixZ}pok-j-Tk{5MSeTJ6;&M@fn4u{*;#Ja`oYH`KgZ%GtvA#I42m z3XA(Y2Ck_6A%VcD)j6T*RXljE`Q*`6+2R#t)MDkEvy!n^(PEmU2!78MYsF_Rk4_&HH@^g`bv2wH|#Xf3ZqJ?H>%8qLj|{7$A;OI`JsXvsbQkGs@Vv?S6W{_C+?L^ zsnsP>KLnnEQnK`qGU=Uaorj($5-iO2^5vzO{*YV*hLMENK){HcfJOWmZ7*Z%QgI~C zjaJA?Z)Kzj9$bKdi>gniIDh|8uCHI%!B1h~%Y9S0mflj5DK#)QjZ|jQN@RwZ);54A zJ&cilsO&C9BamQ^ax)17$$u-bGnM7lS5cZVlcx?FTU6(y|wme zCTdst#@0IR6<(c6NYxz};cU&0+GrgzEMG~o4#rf*tN-MeKJ`DOmQ{0=c4u8hj!Ovn zPciU7`RPio+GPw@IZeW}PGI2P9@ zwelm#dd^W=;ml3&Lwt!1aXNXVG8zsWEe1m<+OKxtAf9jvBb=<*m5vVg=l3r%n|w~S zO2}_tVd{@ny_(?$bH?DHJbwO8`ZOlpU46DXTA6DMI@EHLL+z^JrN73cx2C!(xxuWg zau7pT@ZcE?+?iOP=HjCxxv^V$@8!_nVBqe`i&b3GW{f7RCZRN+#lQs>?P)G-%g+>B zJ;IpZ;wzS3QH7S%nyj$e%6ONa`vni>RTUY(Nv6@!YLr|UozKV#8ot9c?5Wt2=1eL* zXO^3U>UACicU52I9b%3Sa$1Ch|2+mCs@h)7)w#^^T8BkQ%0FV@xw5TjN;>BqCE8pe z8(qM_)irH3T%BDXt<5nAY2qi$&u!_W; z5FtO~@twY2%~j{-q^ca*@VSJ6^D6h(a2Z!lswU5l!l#h_MFex0j`HsEkp(8X$)r%{ z>KT%)ahnQFDwSC%beNXYiS?D7-(QmS`AUTZ^eYA)tk_${Rol(U8i%cfpW4DjKZ;Yk zo;;n32JDGDYKpiLlgcCnLc2&n)hc;1$$31HsM{SC0^wl{>`I?Za4Chhe?qAdw(cSf z+)=(Y$;D~;Eisuw$SI34@Wb@H#7%Xs0|PIncA>gKGowpnic!49k6;$hOD!so1}tj3 zMP)3g%`XtbX9*^Kp=?Q#tJFE}uh8Z;@ZeGm++4P%j7w6I;Uy$BOvps<^ntG?Pb9dw z!F_K`@41H$-A_f(%$!LcMp@XdFVL|@|CnN(Q$t&XYIEWpTzy+9m+_kmYJIkRAtSxh zXZhaL=0r3K0V=jc!6*Q4LlmVDeX=z527rDjk_SZIUb!@V63dMO4WHvO%Xq}ud%6JFI^qacq~ejidGtw z45M*d3xr5Hd8ALv>e$8dXq{Ke*fn{{d&+ErmM@R=X*m_!5YGg?aurRR?RvG0bvuH> zCOmbd&(Qthwm27M)x#rw+%Y*LXw2a!QrSQs{}5l}32$zrn0O9d1XJm+`wK@v&gan99^^N%DBnh39 z2|@A$240SAPoQd)UssV=AZ)82F>rHuNsNmtw710MI$=Xzz`)PrSJGT%fjYM$Un8jf z2?KYR98Yi_Z%NQySSl>cMGRaMJs;zu(R^<#;w|JI@-ya;&XR5MXlbUslMra z9@|_IwQH0%mqza`ck;E%O)opux4ws?N6RxNl~is~ku=H_-l}|qTR5CzT26;9rlJ;= zGZk|h@@yKFaQ^JX2s^^N%A=ft)ml{UWFpU!&l|ZMGxAvILK#=e8M#=VK?tA6F>qUW zZHgOLY3A;$uprP&uMj~yvmtUkH8N^Z+HER@Ic`^4qBf=dC2(i15NP|(VCx##o8auU zyud1Bg)ch2;A>3n`$ zA~TScrS&9fw~~}Ghh(ex-ur+^vM^hHXsg&EnF>%Kng@WT5U>vks@}y^9V@(Envu4Y zQH0SALBs<lC|E8bTYS({rC>=37bq<*D2fFO`C9$H2<9+XiqDmf%!PnM3BGO&3AGLYeI5vfqu60g z%U*w5f*YP|t{&#F2xr3&FmRFgPzeWvF^UY83TLfzHwFz#pNgE$z)W!HIeuzzR zYhY6{$|=;*D!s~=%R-@1|2IZB6WEoEdQ=isfks_0$YF}{k@4O)eUY)%d&oahnzjI_ zNlK*EZv!2fxJ4$pl_PmW=AP{{WS-}GJ~z~F4h->G(1y;Vf4KhN9?*zR&6lJpiX!eG zGTNPYf3sF?5em|8FJ2c-Y1c2(NAHMha=ezZ`yU+Q7Y>eZzjVECgQ~aKxbZf1WxZ8X z!AtLdsZV;pcAF_`kN4;DQ?+@%QBmQ7!8@3Ax3SH{dA);%78VX3!b=~(q_1jLv-W3T3=7jNJPE<2)fP!??vP{h)VB~}4pvW*YCuFBgnW&A`#_gdy zs`6NMzTPery7w?6It|xNoQ)e%X?5NrEb}1@{6T-o!Wm2vzup-2@#^2l)L&QZv}Ope z91_8N0u*Z@;p;EN!eLCqGW}K^SD-UT3-z`TKgXx`_RVpR?3^w-*dw>uRZ3e!#3uB~ zYxnj^pOY@oa{a6G{r##6gaBQKfd|-4T8{PHYGT|YjXby>1Gh@gX*rw5?6s;b!u6r2 zG4Ka!o0glLv_>1t>>>U_!Uhr4GDqkx8`lO@%*eSwN#Dvx-$oHec}cp)I+7dy2*{Wt zE~VP-QA^||Icq2t^8O}llxwo%R&Kc8of+oKo<5$zz{~V@4VS#-?o49D*c#q1n=!wv zWk0b+N7`ftuR>lhJ6|WHyk{}#v(l?3E^H~jH)0M84d9l&ee1G5Lw%%mit7^^@o^^*i^e5p2@;nCak!`bb28G(L zS87m57tv3?)eAbAGh~}(eA19N&PK~QqfG7^lA~}&w7OWG#WsZ3wD2Gv8(U;tz!j-0 zaz=$F;1LY$k{^?BNxN@!nImwk(83*iY4O}12c7a!NZXj0!jzN{B~0WM2(b&yE)1F(#DJwSwSFv1OTQJV8o zvVl&L5Y`4F!i7B>_s{R`KPAhI(Q!e&*R6F9EYFEI3)fmjf|l7Wy`tyRu0abxdEVgp zLN)#QkyXd$_r&N(8Mw)IX2})(9nS3YB zI9-e^$0ZY*Fp-GrL}F`{D}_Y=gm8r(HDMTdu=GNdgZ)Yg(7!~uB>5W#UN6}kMmXUQ6*Hti%}xl2&nx}*>6%7P9A<_h3k3|tVq5<$mc z<1G=TNob+wVc^c#f+%Xh^tU)>HR)7mt$hds z4@J+QF-_KZ$ZQcVbu17;)YnDUM53iOW7MH!OjbEJKu9i_^oek1gbSO@r6GM*bvp*G z4POa!VS_mtGFpTKkED}+1RJ+2d^s2;Dk}&=t|y4dNP;IU!3dq9OTlOg z5=kckXfr_wMP(_b{&MhokRwuM1W}d}mT(!qzQJ86j+12&BvL||eiQ>&2M@$Jm_lG# z7VN}bS-d>X#qHK;%$hCHk73}IqOLfXR4J1QrAqMgatvHnv?|V}1W+M>kK@iLJ{;$C z=_;MJyjshHD==__|9XrYZBnO388t$3T8V+Xd_Tmv+YRc<+w>Y?@2tYWMZPUDE_ZOP z-7%<6NWD+s2Kja(C*0Bxf)UwXWirZsTbP4sA0#Tg!pf|{ zR;Hu)AX>URN(ds)35k;11=UYs(iZ}ILL3o9gyK>`^;!&E75Fg1!T!kk1G3Au4mT>$ z73M(#^viGI>4eZ#0?9kG{(TO2VbKxfUl($rGkfo6>rLPV0VD`VHn^Y1z%%}H zVUDT`K~NhMz-{=V7oFw7Vo3IYFJRyS-w$C<6|6F-i!;J)j_nwD%(o`OsRC67Wl^=B zpU#WebPo8Ig`=uqiAJI)q0E{RqQ48@tG+`aPLqtO)QPx~2VcU#CBE}P1lAhVi8^82 zZVcQOydFSdT8lPvop2s{8IS&8cK|IN@=|_USb!b4+TbE2=`AOS{H&K=xhc>t6>&s0 za$!|A3SY%QbSMpQ)a@|{Zi@<%ui?ou(BVf06+)uCKmd2*&JV2dqeXWRpdwq4{*Kq2 zVjfJR4b=ng!h<`w7pbjuqHu8uYG20_77yZTcVpoC&@o=E1NMUdz`!?n5TXi62t}}z zep3Yf%pvbu-#h@>s012lLRuMo4WaOm(oBq!lv$x{z&;?XN$WN&7D|o;xVTMe zkL9R@L*QHtJWz5Dfp(=WX3btMori(zOSTvDk~}C#&fkU??9O5?DoAFp^tWN)viK5y zOtn4IGv-4WxHf*V=%z6jU|@IraFL)k(gQBUz&-IDMK`H!$G|JG9sE?(u96&`&=Eh3 zfoEbz16-+H%au5?;35n>9lz$!f;l?jGSOlTyc|E_ze#Ne23{&T!cRrZ#d;(k!N9iC zt|DHoE0)6_a@_QiZGA1|;n=+5Ou)hzSgG0-vC?V@$zK6;(@QZ@SL{G>CT!Dk49Vz< z%mz0FS+!7E@%0U(^(8V1v^kR5%8G$YA_#=lWss;z3gOm?&$|e@6Q*hiB2g_!K8Aa& z=m)gtl2sHa&j^ysG4N~=awiPdKv0~?KJ|ft=ZfYP-vq9}z$3+5`JLk?KzX)iti;_Z zfN4Gp^NnW_{bg(SiTOQ;yVkr@$?6a|GWlV89H zcMUOcxBFy*V+-AHbjSK0~#VMfi#!Tl6pBM(HbeHh##Ve{sx=Xs{HoEcuJ!q z*?^v+&}oTO4$&}0gVm(gFARAW8}f74iUdd9Q4YbFY?AyI13z(XE9KyDlwL<eU4j-2^%D67!h&7E zyt#?H6dP&FHK<)48LiQ|U1~i;m(_3%p7;|+T;pm00(7i@Ny-A7QzpDFf4YQh3|83WgNRzx|M&6?}XvE}eH z`W2heUf0^_$dpa(QA(69pPrH%8AFkYrQ|&E3PxaMHc%ss!kg7dpRw)|VRBTf4Lp$l; zu?YAu?*i(N3>rXHmQk`10g@+N!w9GIHX%X*LqJP}A}i7Y;lCK+lf2W#QD~A9&|X22 zk)%MljuH0eEkgv43_?o`lI3ZkxwwJv#=PSwBl#;R;HwnC*13J)t9hNMMF=9*MU@hv z1Y+QpyuC%7G*u#%l$8qLJPh2BciGQT{&I>eObg(A3|y9fJcz(TNEUj9G21ZkglA6> zsV%1@iLB&97})7Ka5K0719!L&Be1eU^wh$+eU3Ph-yV!g2PPM;0g?EbE9sFN`@%1BrI6F5(AI97Zsxg_fe86 zzmQ&6VGF+A(^?#*qDDw4@?kb2(4i8OUg24dyyQpDFUl_X>YFS+R+I&OSrmNZK8>2lrN zzI1txd&8Fj5idbd20|z+awEZ$)?=i7+yY;QkQx9?xgnu6LJ-NW)YG_ut`EJOD;&vn zgu=q(R2wj_tX`y5=wBbfhhxR7ZvO@)f)+l)Mq-ycS2e(3~qg z-SR319xeGK$ayS|sN0+?+;M*m1J{=xD(3ulN3h7@67KTv#C=|RwwMd>U{0xVyAF#BnA^Fwd9;U&p|!rAKd;+>L>26X%hnB`4tSk^Bb+o=jZ7 zS@I2h8Ivo*NYWAL9rH~*wfHs+bJQ9V8v|P?S-vv(bx0u8J9ZBo`gpQ2MJWAk;Q$TK&`pPR=s7G&ePk zZ)vEXz$sXEbaTs$DfNGpcrAbgU*LBHL$W68s< zaSPxi%;BCZ8k?Hx zCpB7YAzJKPl`Ux$K4T#LLbW`($`liO2bNCNVG|!ye z&|>>phbAU#s-HG-){F*zW^?FW-|(LTS;c<}WFoWAu*o?Ou7a*ZaPmGdZV#wyBhQ28 z3)0!uUx109g3I0x(O5L(f;+2gK%-jR+YX#*K4S$J`O;clIZE!^Ozu|81 z78v#5Qu1Z6k@^Zg$tapPN$E>cbhMUcJ*T^ee!Xw#fy^4oCg(1&3fK?8R=SPsU_nx;Q{E2N)T^9yMkm?Ha~dY&?u zzeau`{TjSRo|7!4dKF4^W9c(}3I{L?!aEgM$({r6fKe|4bL>Il70J)kQ4|Kt$X`LPcB!s}{-#g6i@BCOAWt2G zt?)x~6SAank-)fzXI(b)GH=KC-t*^VkV}urj6x(fXgW2nsg-^b}RKO*-NH% zA^O`svW)O+ArXdhDD zJo;|_^E_EHixSO?ePkmdZ?;8=(=cXoHjgQqxfmpG?d8gK_4ND=*L%4`nf2U=t>6vG zi)0%lexR4JRo>gv->WvUvS-QZAHa6<8?X~hKLD4)h44r4F;#b9Miai7t7O-tvSqNM>0NLEJPbSF zGhp&Fvgc+00Nda@)PKl7eF4^kp?7@%9I^A@S#oNuSFKJLp?9>2YVFJo@@+EuiFz}; z5(V_^^2cEt^)maVlz39!E27s`(y#T2_>jmY*r zE5-+O{bjoW{F{c|2d3yINhdM)73XV-7l4A`1uaO>s`Ju+|LyQUdjz#;Z>@^hh}G~> z@HXfKqtrT@vPp7)4cc}2^rw&i&^yfay#yq9g$|@JS64tEUMNDf|+_@1WKBpYR(9_|qj6VGj^jB=3^Mzod)F z58!KPOZYxuHcBk@55rL}la{aG#2?{4B>EeaEv2@A_sJ2DPy_x8+rdimDio?+9^jx` zS4)4)@!X22Xv@%3`UzWS4fv0 zq$J(PnV_3KA0dj052IeLBPJpc2~7?1c+} ziC#gjN82NHfZPSV>|r?W5VTx|1+6e}0;E3&w;v<-0%21F)b9A`N8Wq1N2!*%RI$zL z-wrgBLBQ$_8SX>vDhY&+6jAf&r6QGKHYZm5Sl#0gQDlIYFj5Jsg&e(1q$rq^sji?c zPaRW-WICE>krJdPOg}1e?99$YTj5A{KH!GL%PWi0+JTa@k~>_iosQd)jYtMbILQs2?eH^`9q^SfNCr>-l?x?R6sX{!+KWy~4$dNPiDlPEc*HdZkFPF>9(@>!NoTy(f7cjw$>RrPgP`S~ssq*U$Pb z%721s@*dN?^fHm9V@{SYD2|qre#S31`t@E}0rHM84a9WQkBUrm0<72_;AXD__e~i! zK#@R$Du7a0iB6HkFxOLEJ~n=X9}&SlE8(Ia!|duV?<%wY1f1^fzPzX4(b^szbvuYh>G*+vm%dSE~YLNvde%;r;%P{|IIN~8#`wE=04$gTP{`FHZrP#QU z{1^BbJ^{Xib6$q!zX0d^WZqAd^E>E%6qfu7%ASMhXwm#7eDmgr8cP2lj+12er#~s& z3;MIub-RJbEA>eHR+EFxWABty$<0QmH77^!P&*`4j?|i@IbdUS%IGK-h(72?|0rsU z2-;d+1IBlu_Hn>`1i;f|;$LL(zu|3fk#o`EWX6BN)VJV#pf219p9iiQQB5(uZ`sKn zHD>0Ms%zoQaxfsSuhicW8DCqVc9AZKVx0gQT8rqp^nXM;&Fsv45@LtU!SFKrOA&W7 z*Q$0!{xHnzE0qQ9cNo&~O@Q@;yMcE#P%=e~@Cj-Kbjk&8joCvsCv4I0TE^!A%ByjTx}5 z@=A%nsukSb1?pSs7Xf{LjOw7zh*X9-p14@X&fWoq7Js0c- zPR6P=JLGx5P3LK>HZ)HUX@M@4&0w&zF2XKxsqIEfj>aK%5@LQTqTlU$ah14P&|sNC z(qZ!3+{FoVxpov)uX+NC6eHYJfOqoL($4a+wRkE5&zF^MRyT8!9Ug>7M{hzKj7rXGyQ!6n2b8ZVcBdC9ysFa8fanXC=Nik&BVUn!C&xV)eFBQgYU!oImz40dV&;6!$>3_B zq?C{$l`@$e$WZ;1({fs-lBft3rJ!krR6*(_3b_I+h+g`+OT9`A%%a5MvJ|0(cfuh= znIuoCH5-ND3WX?rUS!Jo1}mw%FaB>Z6Px}e;p;xK(?49ZA#QW(nkz?zMTV39MP$gC zZB?Jdbh*k^;69O%M_&;MN@h!DXNfIGV^)0({)Xu|B7A@=tK)J(SE)|z30>`rY7gCd zwwIt`wtGG-^sB1vsQ?!aj<<-;3)0v2{CuIeDLun;%|T@ zea=Q9df=A}y&>A+>N48mi$Qhaargj~Kx@Ah9&k^KB!+nwb~@SrfH=1LH-sxiS<5yV zPE)oQ;3g_o_!6~|5?LJGy6L(YBdv<{R@-7Y#c8N&?;9wWo-1-#<|w^M&wd0uBqHvj z=ZUz2xuR>=>s|pHpf(p{Tz#>Ru|eN$*8Ls41rqrpBSOC`T$#!?)O&JIg48Qu^5b9? zSPK5~BN+M$>;gZb&b_eD^Z>xF_B&+{2H1LN$b^-mK z$W}3(p&e0M@q>|v!PMtr_S`|+D6im<&z}20(#j3FNdG9M`pX{TQhE{kQm zSpKRQs||@8k)uBmQ5AF2-ciYgq-8`zUIs;uonCXGPs1te&I(pHT=a&6KKpJj$}n%i zEfp;Lc;61P)92pp6aI)?U%_f-WBaS)(-Z6G_C#@)_JGm$Em%$t+5#F5_FV+v=)b@D z-R9l}xj~*Xv-?mdd{h7Ap?8TKh0u)YK81t610^@H3hCEHmRh)+U^@;1C>oE#zuiO( z(N`9n+%vbQ_ie2^m76gdJ^)AHjH@7Lu)cpzRBJcdvwaus6FQ(pt6u(MZcnvde zFR^HKW~o`C)k=&~vrcP~Sfo0Q)FM{+Tzau6Lo)~5i^6QkkjtZ0NzsZir zFvcQoM;M*RVw58mk617t6O9*LT2z2Sv1nDq zHdZw=K3yu#+DktvGIY!_Uu!f<-|tF?U6XC&41eiul7oWl*I=&i4jd@fX%uWwtYEox z=f@wvJ+B8pUU4>{v#Omr;*mE(Kl90d-k;Z#c#pc;{Ud810Wt@bbN_$AxCgyuHN)5< z$3j3jM3ruO@%k5z&g*f~?vm|Ax`kj1ytS*>u26R4iX;`YGkG~=`x(rdaOd-21jfpx z9}!t>R+Zh!GU8AH`nBzkU!B*J<6G;dMD@&lrcbFw)I(tKJMbNHA^AKdvLp0Pk?mkk zr2^4~)gdk?l@!6i#YmXcXgc-d>4UHJjvKn80(z4Qmdwfk)M)9yPN zNNJT4T4o?T^iYMz6c??s(_7Z|GHK>m^7AOGDHc(VUiB=0$v$h+MbDx#F0UaU#MpW- z)@?r_a#-d<-tw64Z^NTWEGe%RafUgVcRt2G2W}PN0{Tf2)-mV(SNu^eJw$#_BqUKg zhEXCfK(7&b7J)ZdVzkIra;Xw18NE(k+(6f2P2E!>Th4R`w}y2cAkP9sLN2`)vwB(Z zWJIS?);X|3vrfcmrn|B;%~m&Kb6)pipY-8^y$*ISxv0-rj$Z#_pWi-l?=f(aNJ%vb}y{n2ZQIBx|_;M9z9o7&oE!W z%~p0DnDW0a1biyo^5{7jrdxwHli%jCao8b0mp&nKSm7$H&T6xounPsBVLC39pAOo5 z1$pQ+d{b%o9OLjuW*boiLX7XG0&@}@N4Ok4MDN3|mKV@piVO{NF15Yb&lXaJxpI@u zZV@!)^jtUo;I;Q3YU?SytBV!|xx5m!nKY7f0k-}}L=vipMTh+C-2v<>z`sOP!JPDO z3fN>t)F@3+F9W~7Bb(efY4Ys)IXz#r+0^i-h9;Y|d0GSi9@)}xzfICqKc}I^CY?EJ z+B6;;-_kg7Qp5l4$rk>$$<)Sa%`Nxw_d7ThtC%%yLR0;W8IAWhHcaH8ix3#~f9PeP z-)6SVnl|OWrp9SgdcMt*qgYr|#@}R_+Ay(k*3>MMW$Bp>Ei)VITjubD;t0oB3E|I$ zH~Bj*f||ZtF^E24&V(j@A{@zr2pSvw@B217R#Vq9YwC=tjWcJ~H@Qak3^S~;scC#Y zQihBh)=)pOdA9JIhE-)6nwro=nkHtsT2|fnPF+jmpBnh_XUuGvK7)TEhu7n(MFUPi z&CN4;+vF@G>fqm>(a`dz#t99afz|bIY?(3B)nCwF^QVSsvl=)D zn^W6T-#mVDOMT-+SAC(Yc5-7qLMKc{zfb0cM)LQoTmzeD&1mQq(z9Cp-P-0^Ei-xB zht;=Cm^^+~%e0=iEUc;at-m+6%yiW>HO+KQt4GGawQa)WhOB$*CrsgNtVMiGY4$YN z81%oZwy|Zxtj3v~l{Me&A6I`g$LaMmC-d^RMH7)EZ{SVODP{dA+_>wdl}6&ctA|W$ zo-k#6edDw&1uey$^~fKtk&QDNI3ugSZNlV<$V6m2dK=B1|AtsIYve6zXc2Gi^>~0^ zy85PR_2XO6Fs?Dk?I;p5EzQ&Zr@=L_Vb&C3C6PB!th)vXcMWIoUK=&3rLlP;KSs|Y z+5!(imYP~WV+wyK&)M@0x#NV#DsPajNshQt-a3#VTGKZM5Ng}Y{DWlF^yWt4#-E8^ zy7|xxb6Yn7;X$!|k?ZBcw;Gt}?^gf&r1<`d)S6V!`#aWP@3)4!Qo={^Ep*$N-=137 z`+m3ML#K}7A4dB>+?k!;JY(j44Q=(px66Y7x@QLyp1OB<(6;)8H# z{haZ0T#>S{?RSQMO04J0czMHz(DVMupWD4?o@LCA%reJnFxr(Kn9d`%Nc2JS0I;Nq zYvfO0s_}hv6x06>LQBDY#5&*{5}P<5^+aEglM8#lc=#fq*9r%AUfUOd>2mMUbxJf% zBMdWIL6Iaft)D%#2Gn^wz<_oz$rIlVb^veH#0RNSfpHJ)fY(45*$%FO+Ex%F+^>T_ zk11CW4}=c^%h;KT!lq;gSPsTDxpso^4q)F6>?c5M2U$CrrrUsXU@Sh)J8@vF4UC8{ zrQEN>(06deVmRtMawAwrz6kCv59NFZ9s}RNjbL`+&j=rBk*awu7sPO4V(hDBC-lM6SIZ%Gw*$u9eJIGCd zum$vWRij5xelnbI z1LwsX``YIUIvvb<)gCf4P*Z2A3}1j};Dm#Kp&qAxCkHPD+3Co2L+PunZ}$kKm=lRL z3UcQsr<+~goyZ~s@ zs!L#Sznx%|;|WyIC657z=9M0URY>IgjkfRS_snp0=19q1o_O_N>;<&KZHU<&v8bb_ zxo}W{BXv*}Vvt9lC24_9S43YFNoMAH?W@TQqzJ#7 zE;i-)6m-z)QD@0|VE8|N7q|F)NH)8mq&=H|^ptYF^|A)NF7D)?#@N0NqSphT&>ZRd zZ7ToN#r@4Fc?!h^ueG-zWi#t%Ha1V=B(4MBZ51Axm@%Pc)_5eo?F5ZpKYNo`_1v=% zse0i~^y8=N0H67*P`R2qbrzrKT+OJ0p?r-P-{f$1)>h@3AY#)|0ce|OQ1t(w+?4#%R!6xQn#j>z};67m3 z1A@!IB5;E2-`=aqML*O>RWiq`&--7ob1OK=Y=pR&l3aY;Xm7`9>+s1wdcY?2=^hH2DMzJ3= zmdB}Q!ApSpNxGN+?42<- zD9%zG9Yse+z;QYFK%oT+VnI+|QdE{RoqN(Yxy$@WvhMeNd+)Q)-us*@uYx;}s9P56 zR+2?Merb`=lloY5F};}#VR8sIA>B@Zoq#Xu-(x>d@LS;!aX!YAR{)E%A=lE*8=l;mXd_=X-jlt06hbw(tfVahEyGdSjlI zm`tK;VpE|-DiD56lU(GT#vwd2x5$?x80}`0&2DxUHWo^%*F52WX_|$+5Lt)lY%2*~ zXAvh^Bw6_2AETg|ybul2>2h{SvrC%Du)P}W{&1A?WwZ3S^lF_&@(KIXn2l_X9)n;x z54keZ)y^^q*D&z`jrdd~j|$bl6LnQH2@^kZF(cj<{Q?Eu=D;mcpF30}nLUiKN<%mm z{u>T9sbLkEu;?L<8n&i27c*-bh}_T9+luYMTLX^Nnhp(ST%WDA(t5YADU|1rGGXsv zM!2W$X`qdMdr5=OF_D3N8u0z<4VV@;P4Wi9K_83h@L(pUS0aCbVCA@ipfj78^K2yz zjBrFl_@d@b6fBwMv}URMRZvyzvZ$MSbTG52{q;XXq+Ay5RPr^JIt}JA+3p$^e7`36 zU+b==_0&@t@_DP6hhrKKC#rWqu&m6Uo0C%-oEn`zgAtBv2>qcCaq#Nmf@$NOj)2d? z5}PM{qgmmBhSw3DN$n*w^4ape!ih8}k)4fg!FsQ~#AC^Fcr5-f6Mw4_Z>#+j=uFX2 zKZ6J%1`cSzT~$XhEx%!sck*>Ccd~F&v#7W0O|)9J2di9cxAKHj8sUSXpD-NBNC7)d#e7C%eRt?9OdVz$ zb!IunFz|Z~`1i&uEE~??3}5bK=K2SX>whJO&ZK^JQ z)E4!WduXFKueQPCPIbd2jqu+3e*um7^J>HSZnbE}3WI4dmpoH9gykF#3l@WgU{1z@ z$uK-5E^ADjs5%O?xVWM^5U8wTzJJpA-WLkdMz^y%?2*+}bLMO&YY3Ba;uRqseNL{Z?C1osSiiOIUk6 z8H1h!#LN!t{d(<+5ue-9IZT@nS34C@P3l-s2`4p#Av}m_5pS68!(1~XfXsKq+7)UP z#Tz=4U5jE%WARo>L_>2j9_yIjChx}T8DdDpI$D-=DeMFZ2`}|sR)g6Ds>LGmjyQzr zdBlm=z6-WDq0T}MBQCfB%HM$UGraLGkABX}f?5Z9jsp&XR4Z)D$P36R(~I~I)gq}{c=98*mXvl3+3LH1Z_nNbE8(goh6)`J zU3T#p!*~lZm|jLJzyYcfW59@)s)Xl1Nh>M&5${L0Pmrb=-Uf7!Rr~-JNv--;GH+r* zHn$y&EL^Npg?ee4@crsd2ksjdP9mqHYLz=U&SAG($a9FBIc+VRhda2Ph8^fnXAGa? zPu26g7XrPyb@*&{YS{)55RpeSD3jDNy(r$%GV(W;RAMTu#JiRx6)K9tf>^Shu_^E0 z{&_(C{`U1K)r~2$% zROdhN>SrK7U|_eBWM`};bp@ypHh#SB-kzQta}muaJxzObky1-9S`DwkoR4*Hp}B?U zU?XgS$KhG@7Nn97YVyYmpRDg+KP#Se6!E^)@^V`+!|X7E1z$fyX+PTqJy* zCQIaraCz_{2)2zYn=)>p_m6t>2ve^z-NHbcDUh?3Ls&G88%Y~dWBopj`pBimZT#$# z7Xg*#jXw;F_Tqz3-GO(mqi@*oxqS3xR(EEV<%eFKj@GYSt({soD%9~gCIR0&?8|MW=N7i7T4Xq#tV2YdDYY7t zic;ZF8a0!C_m4nJ^)=k2tQwT&xP@o-WGozaeS}2mY8Ay`PNnPA-cgj0f1u_ZJ35oY=x-XsDw-ooBC#N@BwGBl86jJ=WS%r7 z<4cuH_o#omx|PLU)FPT@#S;mCRJAoqw?89HYyi%c6O`5(kzjrjSV+!cN@dI zl;qO*d_}&CP1257_mX5R!5VRfaHZ$NhgS3ysiUQeJW(@*pMs0{1Q>0}X*>=}cX)-Y zRbVtaohIJk&z(O2FX3lFux&(l3E7XJ{cxi?V0gCi@~BzOOkoi$>+ED>c zXL(2ydQz`GN-Wvk#tbJ%UVZx6+*H&l)2Cl}7@mYT&`MatAB6Y#7twcccP}izIq%l% z_k;2r#4#Mn;kZ80LN54w#XIv?!JJzTqh0U~((eF%11}yVxsUT(;8ox+=-+2QuL9bL z^xPnRw2-s>9}S)EwSEl%03VA80000000IM5m3weh)g8yr@0@cV=k7CiA)9Qn?B=>5 z**r*-h5-V>TJr!b%(OLxWQM|Zvm|Tw5$|pY0ckf?5)3i|1`M{eRHqV3>VtNyI9R6- zIxULzIkuJ>AdFg6uln@8|r^@0|NPzn|xOumdZ?fSw8)t5!En;E2lMFIUHy@0S0vt@G$ZuM@BQIV2ZqvXc!Uo2dgBeEHDT1y40uJ>janwZ zp99?N?8=+ut5HQ-<0Hu7L&P2wlx7nI?&;O@bDq*GE)xxV`w%IQF%!UQiG1_5Ss;&H zv%iHaFm|@=USwNjg0ad}9}zy!9lh5Zhj%2;KcQQFig@M1%lgPy_NCbEJbk9r%!F zR#zXoy?mK#mcnYAeDvKM^%eG<`fqp?c8}n+iu6gChEaG3{~S)>2{?tD9;fS`5*&fg zVQXZE`}a_nf=}TfwD(U#^kKlE+~!2>l^?rcUQgETMmG873^{}=#N)W`Whftq#m7M& zhy0yNmD(bm1^jKN@>}RtyTxv{rFwJq9hR6h=spJCeSkVh1bwHh*-|J~-m4Welj6p>jrt!w#K;R*0cu9B=m!R57 zK>Oqa3Yra8^32|^hh-D7HxlpqVyYWqoy*}!vfl`sA7-0w#7tVF{-3@PP!=3u>82@s*D0b5(sKaqQ z?|8-M5OhPot5jg;Z0JAmH=a>X!Pbtt+bUip&*E}=!P zSWyl`F4$uET27YPPgYG~#W^rfojgCMjyGhmVx6zP`qG^G#IiF)QJd$f!!OUN6HBLw zf{W&<`{${T)_+D6B+R?&8?Vf&PBt9KkP6qLqUDlC@&%77BLPGrajsGR^tD+o$ewhZ z#iM|mahtT#R_OIr`<9lht@Rd`m3kX3rL@NB)e6g{;@siqC%4oS>FycO2fwJi(eUhqvnd`@@My-+dGsl=PMSoN#_t4bb@@HFe2H2!EQ@1uOxWOK81pXjxwOBpAh- zvYPD7vj*u=p-e*6wB!Zsa@EkHLQ7uF2yFQwuo7@N*hTsdIRq!*8^um*0S;K|6?-7x ziL8QiVS%kmR3TqpXWxrOI0^g6Z9Eu^fp}(*^#28Brv8|PV<3?*i_57IFbm4Igb_}r zxP9h>dpvuy9XqTWsh;^A`;uApV%e5GiqVJG^csZ5$bDqvGeDmK{4iAx(;ow$aeEq{ zf=9S@8H??mZJks2d6>fA60hQew2Kp$vCI|D{Yv;HXXHod3I0gw6n+lcI^DyN*tDx| zS~ML014E?T`8@~#03VA80000000IM5R%>t**A?D#cUQW*lJ!{0FIg|IZ6qTbKk)m3 zZDAX1(_k=$#1xFMWlOOvfh0rB4Ds3~DPW+?0OnO1LWh(BrKCW@V@Mm^bjm>5@CY!( zC7FagAS6xNfiTkqcUNH9)sNNAp6`6;-0z%w?lt@fFCms*?FzetcEQTs1}sE=ngo)+ z2#ipDIDZdKqaR=$+=KxbLIT`_r6VZ#F7*cd0(hIEhFhX(mCYmjxH|m{D1|L#=A!1r zEHqcu1*M8iolTpsts@7)>f)M-6m4>1Lu_wxlcHBvo*YWtffoM(t^Ec%cc5#q1M+_l z$w#27D!DGUra0Y^W9c!~5!*oD8Pg;WnHp^F@|6|+kpDHzYff6C?UkPaZKqqMMGX;b|hf5q}W{YnVIEzZdfQseNU-bOB1$ToQg9wW^up zmG3xtqamxv6rWqH<}7%_qj95-Ib8mvI9FxOEPcqp~4+~@MQi{GTGHR281$HXAJ zK#Wq#+)8{@wB{>vE80l@8m-!bcH)1d5%MtXh1~No#J}JKjr!p%ybFiGbQa4tQp!)D z^eyrtQgbqb00MznmW>mP24;+WrzAIg7w(W-Wb_Aci6r{=0&x(JJ0LC%4^22|M2EXh zg8;vRK7!Z_<1o@Np0$CAv}2do-~Q~?6?D6Jmc<>eV7CO~DeHy@`Qr1;VT1Vm?yD(= zzsaQS8VtDFBfaXtk52w`n;<-&fcSW3xlmma*Au%BPQaUJ?M|dGPROcGi3A2QzYIKd zY8;%vyhRDs^(no0kvcOm-9lOj(#(}DXo;fd;!Ve{?sV`#`Tlzk}4*VcKr`Hhf0ifSc59 zI0z*iCTNh6a*^4HU%mR@(}NLa%v_jxx{#e=nN-Ek|2S}d@L3fHN{&|6^WrjV+hzoE zx=fbDq_(uq#Zh!6{vwLbV6JBi)dQf2U)+YL>zfpbh1#98DWqE~8v?V5(Asp4g#7Jr z4#;f~WiaEPZf<#HU4(&UzLg2p?0MKrMeRlSNz|Uo9H;MAv=Es|t>T#0hyDz|MaN+E zf(>w#x&n>Hg?&?YpooGPp~?L(_jo%!t6ja%MzqhpO5EdQ(A~i+S+?8j4+LAKp63}> z9&!g)dE4APvJ$+Ur2}D)JIKpeYK1H8iJ)CCPC~B;db?f0UI|cDRFEru>IekFQm71Z zCsEz5P?xlkEYFU;Wsy-gY#SqaLYTe7K@elJh8^NK8jcK{aM0xsdBc)NDSmtZ!+t?n z50Qln)%%N_*T@_2F**#Nqcvy9J#Y?hN8ih@!acI%JuD!x#1Y9z^679h$b&AgPfA5v z=_EOL4Xdhk1+C8of?63@Zqoaq;WF(YUZX#v)T7j!GNSnedRuN2bYD_}yih$}(24oJL>&PkI z2TkXoukRml6Q$%wdiW{VsmWZAY+I{XnIo#@Qwee8dLJLCWEYoADm&Sel!ozbiVw4E$UGRHI~U55N3 zakkXs?9>e2XKaa^hGuI#%Co?&!ArS?#s@He01ASY9W&IG8Z^3gMy*!M59yZM2*U$@;Yf9$C@rG1xA+cP$4lMOl0cYo? z>C2Qp)EJWu3k{7>#HKPWP_Gj}JD*xcFICrS?aK9#e1SR$e?cqn!;(#??-umKV;BS( z5I0m~vk2lhdiDPR(=?^(oC*K{ABzY8000000s~!Hdt6jy`ajQmF7uuEiLl`ib5jTfSSA8iil}y>Xvy+i`+~_bImO6vffK8bInRy*WA`N zZ?&z}ruN&4-#LRG=J(@|VfZ}X=l-1M{k{k5@JA6x&#P;1hvh{PC znx{3j%xII0rr|&Tu=dG?9o3@IB=%+U6FgeQXa-wJO~j6AXD(-+!6>~7EuVys%0Ml9 z9vxH*R7nbg0Rl+EV{yU_=yg`WZYQHic8QuP_=GGpv)7>qM-Zn1erSP8Tcsg^wZ%Xu z<3R7B;}VDiO(ajF9;5+KI7Cny{va;cwd7?qT4hp^*rcR5OR7$rqUY49#d@t+st;vg zGJBI=ibj_mg%4q5(KhgEGarXe$WETv>d}YSLxB|jnYi%(1_w2QAzGu;wpFVo;m2{p z7s(Y^;CxQZrn_QQ`6N!b7oEd`&XvZilRa8V_*tBAA-s(R3#BMF10JB|o%pY^P|tn` zE7U<;-GJ$$OcIpEw3c_^3o?Lbl^r-3!0Jf@6gUGTE>|*eDbB!2`dcPQ*(@ZojxwkV zB5J9m|A;H;X>yGsV)Ynx7FW8XXpBRTRf1UpeHjPZh`v`uOu;-8qslfUj|dqVRWMe9 zYd;>66Su z%3#T@LvjYsMfRG4B@bo0l5|i z+3h7;)RBFFpm;MVkkLpeSVD=#F1hh~8D?SkmA?rQlaAG?aMd)g!|bXlYF-5rYC|0A zV0cYp#Nfzs8Egp}-dgS-Fs2J8NEyBLxA*!pifkzrREW?i2_iufo{AH0uUJtk@R-)< zS*(HMYO-3yr!do}* zIKLQze=>RjP|snhnWmRwJzt>&-%vme0U{`t;WeeOgZT zfT|~4?=X>!MVDKvSL+=GDehbi=Ptk$MN8m4ao`^H{|v16yOaH1N0KMW$SKuIHD8qO zN>_32Y$>BxWU!W9s#{Sc_)F3pSp&RwDWkoz(9Cx0ZWcs%D?=Nsqe_i-OM+S-Op`kN zstnSzD-ym91>FucuVxjTS#L>_Qr;&6yzJ71lX;zBeB5xqk^=i zGL%Y-8I4}@{aT#w!)#|Dl9^dv!W%NY6;=Lp2A9Rg@AWv}J>0FVV6nqqSmH=<&lwPy zAOZHr0hTI0$qEK2#qc?5rf4umv34Jb%l}QqGQSXF=s+&bh{dtvw`E}h`yF}Q=d*cJ ztt3t4Xjm!pCGS1KXil?Fd>+XZlU~X}X+8)qW!S zgoxM5slB%B%G4x=O|{$7q~^aL*ZiaU9*xh1ZM8*)^q*;w1Lx$V%&Ihv$K6 zLN_pp$gt@xoXdjWY+nBX`<$8zZe!RQHsw~L!g{GF^IU_gk_TE7F4Bq*BeTBglu zYmg{HC4OQ}uV`gGh-R|cYmQ#B{xZA>b628u_NCZ_iO3d zUh+>!J;H0>|O$b|D^p@BjHr@@m%nyTC6T>DU809JoJV+^HY+jRNjeGA!IzAEP=?#^y1j=t_Q5gR zQF+wDO?*K1KMb$fefF-jh`n5LNx2uy$=ck6$=W4AKEMn!EeF#;TiBK7$tq5MC~Gf_ zy8#RG!-fH5IiG7w-vY-#XOx}g;vZl9{$QUuC)*Y3s4TXncfcWNd={3H&y(MfKcPG1 zPI3kL3KEqRfJLP|{NwAlkMt=ei)C6C82u8^L*YNS?-@*ffml5}~mzZC1CsJDz_!K@(m*+?k5-fTb>B1gE{&v_!=KtRI6d1aIe;h(*Av8C# z9v;302jOk<0{luYg?ABe@p+qrOQCqYKO}hl)zjR5+1FHjL-sX-y{11*Eki;*S4x*S zLw3J5L>0OoGz}(85=)XQwE@D-hfMk2v5ukG%al?%>=x(9q}s$uX{-CQ7w~b}oQD0i;&i!SG^>rY7W#vH0`LhL zG>1KDTWQ-uMjwabv4P=3ABU3W{AgqixJG*CR$c_}qux#6SqAP$4deMr$8cM*Q06WU zRa!mPGR~n3*h)-3M<(xglsUXUm&Y3zYVqkjI6xIMZk>Loj22!D+F{gb3`18Ln120hvV?iawnfxZA=Qs>}2bpdvu z#v%L$@N6YB50S38$1sBb@K)CkoiTHMb~nG?Q$M!{zJ+B_-viS>fs8J+2t7wVgSODH z8|anfz;DT57umW5JZiLr<`P5yohTROmGD6AyL$&wot^H}F;ji{~{&~^e&^n7V zi-j?oiG!z>w&u*VJI#qQuo_>HfgyHHV4q?mRBi^(PS6&l4w*0&=NiT+6AKd7(e^g| zW6W}J*olNReTF4(4ZH>9)BQPA;aykXJ>6$1mtDr+NZkl8!|SjO-iHt16pRW?Fyxss z3X^|hj11svQp*!_=^A0+ShAjoJo-@mL$V<+-f;24$9;wj>^XcRvp7pxpiBWXN>HgS z=298y!W(6zitSc*Wmzc;_>!l^we#@xAO5-MZacg4)<%SG@&mX-oX>-*UHxxTWjv1j5Y8IbBUHw4*bjcm5aM#D30Byc$elDp?}b_M>qaemh0F( zbdrzAN}3#A2!^)O$uTP$l8k2_ipHiHjq~c}Tghm{^t-QOnj7XeG+UYaXw$SA4T6f} zX4O618l5b$4uRzqv!hM3>Z0=nhNH?0^Me9%5iw9x%RP`tujjN(ZLVu;YntBF5L0Sv zh|X=A+8`)6y0yKrAu4@okJe3{DIS8#Sq;;g=FIBT75PtlL$tj~^3eA-NOS;_v)Og+ zjgqP9t*z}+#F-)$qGr{#&6Jps^X@yRDKYxBHm#Qwh>q%KG6dOvnB z#q=6*W>-?wSxt4sxt#SSi_- zy7oEIx@IZaY52XaZ6YV~isczCa)d85m!VMC0c9P4y=9i!mXWS9JjK%J>HuQo_|L%7 z4Z8I}tOmRkoChHLFc8~e6|5%l$m|Z%ydD%MVRB#{l#O!`?})eGSnhlj|9jKUyI!WS z8>yw-Q^-}VsebSpxTX|#L)mt4H7d44pi#FSO1DGVY8XA+vlI#+HLixHkxO8FYQaLd z3KRbVLk_{bb!5SLAm(Xjgx5jUDsXOtv;_s@dZ1uZc2wKv6Y>8d@k^WUIlVx#mIKP%Ik!4rUz2g_Wu)s-eMU8t!o9P554^gC6hXUYLMjWpIwe_^q|EWc6{a0e6eRrwAd z7bJa@4?+;cL0e`}<+0g@g2z~z;mX!gZbJz+P$dd?N?9V8WYlJ9Ra%2G-&~^h+sl$l zGXkbs6yU3g>TtbL$nq&ds#5ECx{$B5O~FxJaloJu)c$NAcJBR+wv`rfUVS8 zZL5ro^*zjlHo`fu7DL%{uoeQ9-r|v!wo=|Pv^Eg*RQk&7h5EwW%w%&$K~Zi^Rk)(4 zC_E%wl%AcJnpe=a1S+a>C!~ifCZ|_8!#SgdB;}n1=adFRL2jFORQsT51DlN< zQ1m-(H;81o3eQlbgh;X54;g+(%r2fX%AGr4!iba%;svZqUJB2GZ55cug=&;yQ=W$o zXf50Z&IQCO3Z+2$~vqs^u5R4z(M9haD{NP!H7E%XtI z%KMx-S-Iwc<{X^oN$l%4$v5Knk8T(Dq}1;F*_*i2^(L&PS{~YhI;q#;6!|=?fydFO zWH@4&ODo7$?ljmFKPK0<$m0^2Vz=2K|< z7>k~eNX4a>xUwfB`=+bYC*1%0XQ{W*$KuJdkzS7afQ-o4Psu<#+hITLEPe@EmWZd% zZFHRa9673{Hs`IOzoz>X6#PNJ`#Qf9cTc9Mu>;tPk^hq4Bk^fCPj|zJoAe2~mvVNq zC(%jj4!VP{G1t_q=)?3GbW^;vh>yf+-5*g8sviI7h-p6J6ZiogBwtn&w_qpvv}PB1 zAMw~u?kc*5w!v*!4cpLC<|;Zwp2r>ZI_d;9Zwd7mW~q1t6&#|!AP>>KuugLZ){}?P zN!3l5+`6Cs0v)11gAv`Zikfj7?N_9A=&w>8ih|f3mc+pR|2wR7akbuCH+?%zz#KEZ zHQLbDF3_$g|GFE*3+#=r)Z!nf7w?a)^LeeU(hc|6rhxeQ(PAWizVkdKXgPI-xXWg^ zMmE+>i#E*=HLiDmO@bZ6My|}33fV69OfwiM;G;ccjBClX18Pj6iiNwFQ17zG)#YRAv@TgB`?Y9Gtd1+vo={CvMy!`|?o5Gh5T zqo5Y@tKw{Q$J@B%{V#B;8d>bdJNm_1b~p7i79deym-Q?tt7K1h-1C2okee8e9TFGF z&iFunP7}u>q5e})hq;2dKz7C3_$KWfaNHnSoP%HO7u(oR$g}iNQm<%A8Bji?Xfup? z3l=Q+3!FzOd2vy_7H{#Ec$MLpjC&UEp3FG*Pc7+a?mv~K5sirarZL(u&lQ;yZINcZ ztzCQuW=ZVjo`%GN%3InSo0^+rC~Kwk>ZYMiJj46wM;~GNLV978&hE+TC8J)|NGRmo z?1SJ?bQuVd!1Pwd2uwE7j8w1%2<`s@@EnRiYa0LnABzY8000000s~~dd7u;3`Tw6Y zlT2nN+hnru$;rMalRY)zh19bM2c66h=@ojA|j7 zly>YOP$gaklMM=2TfxqG&2rsn3+dpYPz`hPX$t|9cn(a7YNoyftQ9&0m^z)G;%Ii@IP>%#mnBopBvc$Ygw&{@Z82dj2USa4@^AJJr3~P@Jcr z!kH_2JZ={iX5u&5bbOvZ))GdTbzGmfA4J@YR*1PG7M;aS(>l9KX@l+AK$@l^6_pZ3 zb-aWAsAZ*NHrfUZFvGhhr}ggZBzO{oOEs&!(Ci#jHP}YCN${T-{E+D9p;fpoWl7$i zmEb81uCdOr!h}|riEFsD1V6!GpZTl{#_XPa*x^Q&pJH$w-KT)DjwdHZJHI|of@d(e zQ+ZAf141L^FZ7_M{0oCKt$U0x@_V`f)J(gfQj_&EmGs%Pt9 zCX*G?IU%Xz?ev8f)H0dP1a#WdWtT;$NQVEx3|BMT<&g7Eis?MPs6H1lxWIAV0IlYm z@3B~>+$F&;@s_ApYN6d;soHE+PP(N_kynd6R_ZG>;Am-w-Zo6No1-ic$cfgX4@unrg3z*aas10a<$ z7b|7A?vPQaMJ7E~^7mXPiYz)lNWa(;*q9HiogZbDYq>Yb=d-Ge|3V656}x*A}g~FYy@>P$8c(T#N83M#XF|*;0r)<^$O;yd!DUs zbSJ$=r(Vn3yHjn~4FGWUYHKR}nIZkU9$30A+Klr;=2%Dka(9uh)IGLK3aVj+fl)OQ&6?;s_N9fO6 zLMO95yr#Q%IHwzVyV-L4FoRrgQjqL0L+B+Sx%>iixt8AC*=x5(Q);!2)2ME|I~*K2 zPR)*=APFyF!b7fO#a?aILCFIpT2(R-q~1u9x*K#-*9=f~@?Fw59Dk-LCqx zz|3kr7FE}Gb$l27e9J!1Y)fy*uLV`D!b!<=V^-l_~=?NkR7eEidApnLL_-EUV!eMyr?LTnt|1R+XV$-Fdf7(=}CsFJW+Na*Jq5 zYj~BCLzeR~xGl7|0__Bd*#LodnpZG*#B-(si)zwX(os4IF2dj}#qKt71M_(u7U+}U zYZx40kJg~qt5dstT1JA4aZBayP6z{&Ci?x8CrI!I7+jXv3nA;&$dwK?DZwQe+?d&v zfM%nLHRxHD1b>LZ!}&`Q81mlru-`ZB0SPX{;358G3>w{OyWW+uN$?E}E>s;#LuX)I z%@G}6kl=C*o=$Gcz<~SuX@1uYsBhoI;QZj8D75o8KH)G;c|?LMFnGqfGy+-JZC1H@ zP?>MxJ>)(pz`UHfy8zVFCAbQMJ42TPQ0=`jpz%-fNbqe8u1cRzLbclERB7DE?HUa3 zc5KMP5N((kR2os=uEpSG<^C?{bz7Vsm(?M`pJH&AXL%KtInvmsqYcu|wXOvX%(=v1 z8LlOId<((PiE%M0`a9^K;gc+JBn#EF%B)hV(cFCpgL9aDozPB`oQ;udB=`#qt|69o zKs6yoaG4BE&rSG%v&Y+DsHj&53p^U|U*a867>K}3sJ)(y)==)X8H48vYr`-Vs&u8J zHI!ri3NJIeC;?N6N=GtYMV4D|$S&)IyjpcA_(Jf=vD_PXeZMda;Mi(^7l>xC#lzeT+;OyXzpg52GYLzF1 zy6?9bTo9hw1~U}kvkEzK`+L0O6FVWK)H*rIXcZFNg~1i%><-A&3ax>mQQy9Y!F|Hq z7}TmAZjH)`I^hr3)b>CJ45>}^pvv4W!9QZ~tan=y%JgpW#Nm=j@K5-VxmOgRwq}xR zDrQuneHh%7TNM)*@V$@v{CA@TydQ%bGK-QBdKuQ|VNpamfWd=~fh-KrOg^Yo=Op+c zzL@meOHiwIxpg`(n)QFi;2zI`su*v8+OKR*%|mz(C1wgxORIQ|QjPlduXvg6qhWE4 zI@B7E8+G3id{k7Y+8`_%SWkgRwf!63L%CxSv2QI-jjFi}|AEH^VtEJDT1{$=#f;n@ z$7e!pb`h#6y`52TXz721!NJ6F0jBK9$w^BJol{O=aIgDl9&%+9r70Ov$A63mWW$m; zh>Q!2U1kYmdf_+66a&o0t2WYhM{2PNi zJjbgrrql;}lc@5`;?1^3S&fMyB7hrz$up%Xo_L-yPP~ z-$E(;=a`FSo^@?PUaKi~t7w;+pdFInKbYWjVsBPRI2(^zG)m5-8UI~La1j$64{xmq z5zcpCr-h3fDRV^7M zWl_wnf=WPWBtbtWIGI|N79ydk_t-32jYc#1MoI8ACODg3oDxEz>u>V=y1GdqC4(ON z8BDM*GNUZGx#;k=sMTlZrTpGc&uj@S%v{s?bUhUqHeSOhDV>H=>NTTBNupVpXg{;R zR<}D1W`)9H)@s{|{@~Z{kd7VSYl-a4V0kc6-wqP-z2Ihp{hKz@GI^3J_EU6*c^-4N z4lHQY)oO~&BwT@PTCPy3%qB@Rh>0%9cX!n(no(1ff>tOM6vNn&=mkvF&#x}kdyKZp zZ91jV&zLJ#ic6wY`}r9!UQM+Zb#DdJWKM-le$xm7BuxbHSYIQL$1nRN^28cXe$bpv;^jfT<|f)<%E71vSjt z_K!$=(o&VFtSDK7(Cd1Q3>5Qlz7+mWdxUEaDM%)5^4!1p&?n6TEC9LIki^- zw2y8x+D6pSkSxQ7e_r)#t}peU^8PgR#3iozdxCD2}hj z47b+i$sskin^KIcqkR2s46dyolfwu_@rK zx`%h#9m6`%^m_lA>Ar)Mrn@<+q>$GSFu1J!k`(hw*5EBgiv$nieb9M?f<2V-!3Ie` zBo+B*tjI;RI;28jN)e2pZ0Hc)1>J*6*lSefuQOBHc*&SMH#my=^fI7Wg;F}SlfTLF!u+j!Hc4m2cx$KbriCM9$_ zHJr=Ap;P!j@K)A0C}EMa^cHkhG+xJXx9w+1I8jdaP9U3u`4I*e)Q-y`VNDajl0l2; zBnDS>Z=hk7H}zEX<_5Zizb49j31H~%ZhP>qIvTJ~Fu1UG5Wol_3xt6Ton%g9@N)f# zLd<+kV&*Gt_jdZ<*KAT2sP+2PDxa5;*g1@ys@(^vhZ}P8kvfprXBa!*em#T_Hq8D9 zhNDP&9=Gd$2zqbmw)?J^PT*oH*J1`{Rp(lT0L2WHl9A>hDGy6|)`gb9$n3871Hs!5 zN?QFWhR~GiI+W~TF6MTuBZQ)yOhv_z$^ZhD@dYMW(0y4h++$=i4pLPcp)raR(M?}! z33z5nmmp|Eey!3VmnjWWXz|crVGh=}zd;Djn|4t3rkP&^AL zF3M^AO$YshLk`Y&eV-IU)6@#qI?0{IutD+clx?=&;59CG)unC2XGEy=&q96$NQ_$gi8a(RI=A8;n z=^mT(P)ppE>5msa_u|!C*^ zwpBLCWX7~i78R4612 z-esC5vqfYwI}cJZZQa}S5VVh!$!f#UcJUPk zFLa&Zpsb^f0PP*f?enibhlQU@D(Dq=V$YSGcn$`)bT1R#MhvYozmLJ~jXnz`LQw() zW614`7+ldfs)d5n*Ohg^P6^J#;MT@Eu@ll&nJiO5ZePOS{Kjr0l!c8lLToF#&&1$h zW4RjUo$-k|R{}ledl`d$JxeT5HaSj^*EK`lLJY2|FEl|gVzNv&d=l!RMHt*spKE|( zOq0p{5me@D7+hUnAyz2j5Iez%;14i(ynDM5@*Q!tzCD2whu5#M+@*%ltTOscYLt@w z2!n^Z7wI6#hGa6qkKDeE!Smgl&CoeAXLO9nBg^#|+}*if4`rPh8PSnNP1%6K^<5XW za3mqCj*!XFCDj%T9+di4ev{ZkHzrUIZM_E0*F&O9-2OYe5PTPd{q-~Akc}zJWMfOH zwmUF*slH8|V4WReg__CAA2GPOK460^46}?+O20ky2Q4U`Wb1n^0&#guwQ zC7Fz~$z&DrkLy91BszhK=5?MCMU@_LEoNmhXS*m$AkoK|=v4Q4O}#e}pLj>k==bsz zV^A4AlIRpB+Ss^kt*gb;iG6I2bBtq2#urdYvF@X{XSHJ8%E~rluk>J-V+*4jxlCuk zPB9wB>XU>gFyZCu5kqglNi$w+vg$CXw2hqI<1|}6lJH|pc(LsQ-wQ>d+Zru83_A0$ zoYU{UB0Px+7uQzuz4?gM<2F;u1dJCw7LDoMwmUX&?)g26+z{dQ=qB{@S|3I*2F7+h34WrFTZ-04au z(5>627~Ijh)(o|=0K)C88UMoIfyyi^bi-WA<0~f7RTTyg zww><;s=a!O@o*>!J%_<1U0bY>%anLsx_PoZkHIsAO%`Yk z6rjnMM>*E#7~Gy;EiNbCZ&v9;C}X~WcVFi`6VxW|fV%iJbPoOx1}|5RiDi}>MqQ-` zm3a|^>k5lJ&?@L@Th^#V`w|BGGrL{TErji!Yz$?DmoPZDIL`=sVx`-MMXTr-^CbqC zcWrWr9bYkOqE!^fE@SYBu+;;dnYi7NP9V2mVQ_VEp$ls5DoSHfqYCw{!C>2Q3zVxp zYK5wKTzd+G`#NTe)1;@wnHp6zP5LpoqC+D;q=8r8$KmgN|#naLd{* zlhn6XS2lv&eh-5?vxhy9qxEi$l0(<@voW}^Yn26Zi3v_kd^~E(AO=?z7TBOY)*i5g zYv@?|0tUC1)?36*h}vDb2uxYboip-z~;2A@NREs!?5 z)QrK4y6{7 z`^$q)G1R0veR~R(`6>n%m)D4iPfa{pwKemMMHoEVwpm{$xT}1^0gY90R4NHHDzD=mUps4s=8lTd)LBIVV;OE)+w6c` zOiyXT9BStq7@S+%VS=1hMe8kE1eas*a&f;nt>4DrU~y0ks>QI`RfwS4{sgz|K4*u#FwCk?4@YJG6oV%_511kA_Ny63 z08P$y_=0FVV1;UEpj4h_ApaTO_4)m72>l6Gxti!_%*)p+n3p)b$E%lG@4D>iZA?5@i?SS z6*x_@IlM~ml$F;Op-`3odcH-@<&XS_S zy#Yh%K4kfOyoWM#oDh1GDUT_}AG z-S|upcG;oU?cy}jlU(VEGzOP-^@%|>(P`BsyU<$MgLgvvW;my zM#wo`yx!$SZujDgx41yuA7IvN^5jvv^e4Qw<#kTT23&OW!pcMMYe56EKDWvvM8^9$ zl|@6_3K{hD>wQenUpVg&oC42itrJqwQ61>L$o-h0uVb!V2uurV8Hb6oG^*$o-w$ws zFz67xH4QD+o=ab!KsP%FFu}>nYL`Hzl5&~OLI77?AqhUj1m}wVZh_*A3VUzE?3tQD z_ge=s!L07tc7d`QDB4=!bjh)(6^Agvg6vkeVAsZPikbq$v^3j1ePM!&9W(5Lb+lh? z=;Rb6V?=fMD<&8amWdr@_IH?645wqHL%WCm8{U&0vz-Dbv>TN+9mQBCqGle&1V;)> z?E8CXqP``5!R*>`yI}4h35rW{jtK(l zhmSD9!SWiH;2b^7Zm94IgRO5*Ioc4?DG5@g)S@S%|HMRF3MXxKYotA-vDrACBjupg z5%l8cDNMAt^RTJTx=obYo8$FayOLC8&_VSROtiD@l)Y~6O>&g6c>uAD5HynLG$xu^ zoz2%1URD!uTD%s6BUFe+(9Pecm}pgHCtpuNRs-!Ouft#q6v9o>8BBDtw8m7Ac`2pa z9Itvzj5h4abV{Os;iAkEM_p~?8Q!gD8NETR_ed}O`02Bl=yYMRqaNrexEYOjAoFRJ zN=+G^i~o(+sqGS1PkC9D*J|?G^kSWYk&+}jhlw`j7dq-Jr&hX)ZO~OPs~DXfb-`zt zXnS?DzMl8ent<5=U3ycf%@=5sMCUQl+R{!#Jpt7kw^i&Xy(5qd$50o1j)~T1=Q-*l zzvbXG7K1w2$*T+=w_Xxmz(fP>bES&YD!0+#w&^W_tS^8({Rb1xsBPxz885|n&0^~e z7MSyg3etP08(;eVi&x(}-P$-E>6K5UW%7xJ9VTAaSP!S=dD}#ma7v z^c+geKg3{vV}ZDjs+C5MibmPQUobeUwmS%mMt!Pa;L$GoR}7vgo(nE|D{E=>4rPF?hOhG6F%|D3itX=wfzY{t(<>6-U%e z>mmlFw2B<`GZ>svUL1rWd*!CErFJvA(7@pOw$&lXQ@WI1A-(nDrC(@4BXhBSC@7?~ z@tGj5aZVrsj{@AwEro?yUR@ll-wF-IQ4WPs3%(v0=AY;v>=8dme+A3tRlKn7{6(LQZ$V)r&P&8yJB?2K(n2{pCjJAUz$WKvk0uU2B#$7A!8u&lP+ zS5jH;MG*>v>l53Pu#2T39?Im|X+7s}Os-V%r#sc^v$%^lafO>H-zJIjq2 zoR{wt)0F(EVlX!nyU@)egIB`v?k;J(amcn#c&!4>HNsZ$EPslEAB?OhCBOz#drZC6FD>MWyM znQa){m025v#$vl!U#Ov({2Q#s{h571!96y~Yl0rNCOj71g>T2KFQpcQpfg|cIM2h&AI|80RA4I0EvMREVE2UiDA*r=`P%D;-U!Es;-hsjk1aNFt|TGGXm}TcDF6p zf$l$dV{mP1b`)m3{%YFOEb|W-ypTLB!C*P<385?NJs8}WJRB3Z2vb+dU`1vA5rh4i z{ZSZ;L{rgl3>_`@VsKshUhiKo_$6F?cq4MuKS=EM!pT_5rqj4`pVA>#UguTKAJhorfhE z(>+Oa6^2cjlbMSV!CE%4a@wJGbP8xreTWGbW{*b%XO~M$GJ4ul%Aij`9mE8?vl}9U zy=)OZ*hCK*#XS9-3qf8FZz&?R!H#vL${j2L-36n00syXnlNds3wPEC-MTc zDrlqDl_~@SXqdKR)-z(u@-QXDBgtGMC|Um&v)&OskP|rQ((-|@(bpJ`E+%(ig5`ll z?Lv`KM6`sm*sWCGCY_MZ&b=zoi&1`M2IjTt6`-IK-as$1{~N;twX;Q-=W@$HPM3eZ zd4QTbRJq0NXHqcXv_;}BJ6dI*;jnF65=x&{PCD%9NOB&78*2SoD9ZpgLn7(Cf_EDtlB zDv;G_5$t<$2%akM%8PFGnX6?!g~2(MgV(}-46Z2bEkQx83}sa`8kMIpxVErbf=nQ* zV*S#5{@a3~`MkD$WvV_rV{jUD3>UP~8b)DsNur~esK0GasvhGNT9(py$N01^GfSg8 z%fDlyv$e(Pdc?|T&02$VSkmZVDH`1m9>YYN+h!!C;@pgq(fY;WOgbaF5&p-5p((tz zaxp8!)PPpS02@_tC=ous0PDrdpde0RCRWg>qv$pmvp!SZEC?}HQ;Vwzr8-KWr%NX= z>kZWnf*1x>v7Dy)=KseF@cDgEfU=IbOxB)26Y(Sl_q87tVWJ?D#f#`wr~fP)DtA@e z<$^#{Au}yEg$gb+S^yW94O#DQ+gE@Qvm+BU+0j=Ve1TbSt?n)h0jGkp1r(Ie7C_VL z5@vm*dZr8$URxmUv7=G^a@kO~E~*Yz>s~cu zUN48zqfI(WY0{_-DkSpIAOC!4ypC6ori2~}*mXdr&XEKP)F&~)vFgmUke353Cj-`o zLXHCUKQY1D+WEB5L&yR-AY()?=;_TVOt7`KFeBs%5aBMf>gr49+bLUV$2IbDP27K=Du>%4*`$Z!4m>a1nzWiehXgIwaV9Jp2U) zPvu3oflSovPsh;N;}Qnv7f$D|fnQ>9L4L3Z%T`mSWHFw$}v1qE0ZVaXs}^t$L5 zFx$n2qve>9im^s=3us43#-d8#_Fn3hC^qN?_+RDd2I>XQXKSLd?J+hBN$40 zoG7Ju5rccnyDKop>GN@&5slb93|=Z97NJ(3k7}B${v`~qt6ZwU1ZT)cuiUZE--ySH z+0|>@zKlp$CsruIYKn1HbHXpg=XCCb2-OIp zknk!7&lCpRuBq)Jyq)Hb|hCP`Ca9OZrNi%CP2kb+x(N=s5Q-24|Hn zA=n{8bf(>g!Cl2gRoG=T)H@AEbgB0n3?3;SsKC0>)FZ-%^d|7}53fQ8GrK&{);ruv zYRxp`HYrJUn}N15B#REeAAN{jOO$rB!HAlHVGWBO0H649sQoJ|r`qZ@URTsB6jq0l zvS>&S_5H_~hrY_;Ht1zl5f7sdqv!FMhuOJ{)%rv`163r+#dVaj0)|V>=)}a6_N;FSlf(ybxP3UzRkievDeq8($OmI=yQxmF2eR-0Db(rahN(!lTpPr3aIjsd@>c|=rr-=FI4;a<7kaFWTP5aEB|}s2FHA5y zKc_<|8}-Fu7PU()r_rl7XR(f2C9LXzRe~&5fE;B!|HeA%bZ$>aJx2Q8i3HITQa^njbHAvtrL*p&6=q%x!tFY) zq@|h_{2cReMp#pC?navC_di^~Yo8ZknNoI@lr);C|H0s%{Omf6$;m*Jl%oiB5qDc$ zR)_LxMNU?#=wj^)tk*Ua&(?*}TBh8tqHNM5UbORK)|;{ix?$C9C{|2HH21#5;K}T) zZkP&qVoAR@Dz*9jPlnpODSx6;_tFY0FIS~>BvAVqGs=GVW1@F1`+-le8;kOqE}?_dl&?3?4l6~W7JP_VFD#$#l&te5ofhqk z2Qlk2nNxLPGDUWED&#&3kfWLVXH0NT*w-mkJEDgQ@RcnP*`0kM(`sf;So%@BY)zGkk)so zNJ%J8KhlVVf5U`><-YD-!p_PFu`xhnX?~VpC4EjdOdrLBo68%zd&THRa`yI+Qe{%> zY-W{`DWlIs{2db>&tI(f%H0e>*xPBKvdBr7l?0m6j3hjU3AYKC>b;{0nN}>&EB2zg z6A(6)j6mt$Kd|xKlH1-5p;7Pl8F+LAKaS0(!Q7$lddjI_&03vPJho_)4ma9YKEgyZ zifg*-MMB2e3E;H>pw0mTr4uKxV%8PUbwgPoDkIQ`r9AWp3*KtYidpIzX~7!MvlLqi zIpU+6uOq+q)=(a7+?9h7YkGXxl0gr%mtt_KafSpGL(@G`x;WtCvIs15|?0=w5`m&-kNwbo;&C9hu$+29F7m)Rck5pp+r%<=p8 zFCV=6nB$D|GCyrf&6V<)OaW+iC2nhT$2ry-)G$s|^Ia{mIBK@-JRIvaq{g_6X=&`= zYe5Gy!#I=c9Xr$TMS) zS_E(AuKEb0rqZRGg679wtd#v=wgn1f{nqT506LTYc0u2v){fbI#vo{G7K+rw)vDxh zz0`M4zj{^RVYYRxRZpuY3{EX;f{fDSZp4i)6=QU%Y3cjv;`9I}UfjJ)g~S|fk;LBa zq|v2mid~ZU8BBb-`v@zF^-e8qf-0rK+qfdu($bBUho153P(2UTmoq{nV6ihyGVgK> zM^7i8Z3)D_Y#gN_XLgwN2C0i|^yL=RFnv91ly(`XRElxTE`NCHL(`#&HH@7;^{)FK zxc_1Ah$rvAd%Abz)CV7gPS!p~`X1V^-#`5u-o|~8-T(L#_fLJ;+nE0F6OT=|Uy{D8 zmU{HTsdr6B-&E_MpPT!uA3xQXw*shO`h|fcPs?Ng5ClnzRXF^olRtd+3S6f+uj471 zoKTPyZ>Qh>(VtGfh>)Dw(D6T_nG(>FS+ja}rS!9U@7;CE85%2Kn zQ}3R7uYE5oHedPR)Q9hW^6}|X`@86m&^IbB0Ae@CnPsY7sac?hy8%w*uAgjSNAx^C zWsK8bY8Y>M4ct)5xMHq|AvY9e?@f+$%1g0nEN~+e%^?c$b{X%4Fx< zKO*OWkBC0-3K#&-frVh)LNIDGXkQN|tq0@gi~o5oxa(`bC6ALoC%2QIgF)iY-~jPg z5WcQW`wV#r{84>?d=u;ee+MIP`z`SYaNifi8sY^olYED~_Z_fJ`6;ylJPXE0-y)u; z#*Fz3_%pcv2d&zX{CN7kp~_XnX|&0)5XkoHK2g0wt_QD!$?pStSkKQu{ub?B!v6@@ zjlN}$Sb=q5+%(M&FhQ;x?+IvnTvz?c`6&Inr)JN);?Kw|O&-s|<>1Z-c7S)mgjwJN za8;_{BlON8sezf}5RcRYq|>(*d_@G^@3fQ@pP+v~q_i+=JOfGLEO35zCh&i-_M4MEa@?!%v}43@p5AGfeEgugIN1wurK^_9tYE zNj-R6qtXP@o)L05UskWR4Ot$u}$d zR`J)-XNP=uF#EcWE4PA)TFb3L?}#H{H1{0X4ID*r(VGc1P>buH5VHxTLIqTmDfSE? zWYu4T#P@*r8|qP4ovOw7^!boeGqbI+kP+l(fkN8|xyZ&tE5J{|Rk4QerN8&nmbjhS z*zpy)7BDfz4f8-;3ts@m+7j@!IYjI+!w%5d2huXxDEe)nctDZ%OrP){5EbWoNmek% zhqqd#DHRGkIm^ zO6z6=XgSpJQ|U7&``7n39gb!CYs=$X!2xms@g_JzSTpy|B>xKbP$P5`_JDW5OzOrv zAIT{1{2a)>Vf}9SS@Om?Z{gFDMB<%@YPbMz7s+=BnDnY|3ql#1fGY!D-NF-w1vW zq-WDjt&tDVC(sKWNULK`#J8nk52x#D=(x_SDwF+cJidjB0#{OjZ^+W;iJ`)?P)_Bql&Kb@f;=oJa8-q)hsJU?{D7w*dtGh zahqc0DEN}z-3sx?pUdKpKF0pjh8R>8k3BN=ZnUM0r2n?&v#0v{Zn6?E!z?LX2tPJr z?B~Qhve9$fv{&Wp|Y)*MCRsmGkV?-A69xGxXnE zo~+1|&<6q+K+gctv7DH=jC^<@F;=ut0E$p5Xwl+v`cLmZHPE!UjhS6P;aE%P#+hyo zf1~ZMp!;uN)aM}l46wBOhq-dLf+49Xs5;3sk!IVBqwM2uc!A)uJ%0!AS-`eaKLd2P zwq$Sjw!=>62!4dTp%`Hp_fPP)T+=Pni2EG_SVAQhI-dSZtI#qtyK51%5fn68Qze>C z#@lia6rKU5Vaf*4pc~FdOtzER7B}@%MJQVS&h2T1?(kkOw z)?Qo&s2G#c$6U^^wc9$v{294ajD6*Td0gssVm0vCUC!)qkK51rC<|#Ib&Qf6k=1Jy zq~63>fDS0-CfYz7cwOGJ0^AZYVRgvUziL&%&8(_iuumEH88F#gI-lZMAotKVUSm~w zX=n~%Rv~&<%Zg*pcAT@uLS`q=*+XB~rZ8QRUiZ~iotN2PJmBe-&jZ;(;Hs5|Prc`P z@V^@NLof?W$ovf4bH&ae+6C#~w(NAw#q8-IG)7oxUId6Um6?pT0*@+|@rWax`8T@~1wqa9l{qsyF=Feu&I;^I1XF&Y zkZ2FJ!EW;?`K&OfH2KH%~@q9vJb26>=kDg)Sv5HN*%MReR&Xa8dfhn1>nt?EJJS@*xu?4N!DxR zv_{HESe0Ja$n=AnfFbX>0kcTZziU~TnJv}TusYFw1KDLtlxBjY+BNK#;ELKRstfe4 zmRgDhn*-B4Y?4<|X=~ISj`>sZs@`ld;#T&Keqf!sXxtUP=kXwHN17T{k6NGP*YR@TTH-P&o^ z8?0`%mX}-U1Q%i5z|Hi^0<@LmBI-xEvt;!kA?zU{#j71^M}zxvtB@$O+ps-8<#qCN zxj*+T_$|2iCGaA6AGD1dH|`7K8S*Led*mnJV{rd;G;%u8d=fo-_1-Jy?aXWBVbw-p z@#%8 zGF0iqum5&+(`AV1&#d!&?VFQwzBWT#Sx|J6NqOA;GO-2xTONPlk#E04yep>fqOAfr z&|Ev)vehu_g$rK$^kJ`n+j5?k`w;zkOTvjm*GI>?GmqcbUC&JkTE&i00H?x*V(6=% zzPS17OuJOr5wnl#eHAPR;W?n?EJv?7cU9zJ4n?<=>jU7{;$=t`iBODj(^;)iP2Oa|B$0sNHZAJyu!ON8;)<7tW_Ar)%x`>+kz+WE_0R z8?U!PKi9bNDZ)2ZuR_D_PYRF~#X1Rw z#gjfif_N2t^Lg+;rL14)x;mO(6iZeOK6Bvewtb+uEi&!C-jQ&${Z9KHP~8f8?k+wt z@@pNp3*$pxo>!x&=%aij6m8w~DfB<$Y3|93YKx=1Hfof&1|>otU3Kcyt0~zOIlYsF`DJ3$ymy zK!dzd_g}iQn1x=|xtaBqgQaQR*>7GqDVHzkP4C^REv{X zEso|_l-beT|4;KzOtY$dKF8+6S2STNOh(WqcB-Y}nSr)B1!0`;$>fc$pvh$N2mecb zC;drFJ)Bw8aUy;c+&l|3?w;_i_;^i9kym~VWMna-R~8~W6cNMt#uCt&0Y=TsyKwZsm${FlZ@f7a4yn6+JE9#kE5>x;nMKof-$C2jQimc+-LEN!e#yWKb%3g(0x zCit>#F%a`*Wj=aqt`B&IU-6%&(qsmW%WLTWywW_D&DU=7kB(JR4R6q`5%dwpOonu| zajh6upcl8)K4zo&ymgwDjmX_PtLr;&ftldP;-=v?1#}^m*JQP|7Jq^M0cN(}yxaOU z#-@uZZAzDTCRY*+r!p(-fY&_wB9M7nW>tDg%PhoPqPMxe)=@G0LXA-RJO8(hc%K;A zIkB^&dnb4g^iF@`+k=WXhxV&B`iCvsFf)&yBku>^l-iiMon<+>QBibM#W`=aI6crd zJX=i*ai^nIa2LI_Wt?E1CHvIuH%2qEd5XuJqay<#KL@1l%Z#m$tmelT%Lz_Mix_Ru+ zfpbi(^Y;I4HaQAMkl4-sCa(P8wr zYT>2dXceMncAA!0>~7X6k5DZ|fL`8GaLiKMd{a#3<9ybzIZV4+DuI5prE)W~<-4u* zKy&~+3l@P_!8+n6ME#b<;@*Gf9b+f7Y%=tWkAD4pYf&T*(Nk1*6K}C=%qk~o1#WTE zb}GzDb1O7L`q`F+mRU-ku-H4jFN5K~2jg4amZ0aN@7Zon*G>F_#OOeA?Bub-N0xiK zrrf0FWzdvq)geW{)Kc4-dCAqVH^GMFZoOM?){9#K$;&BT?Z));G5w%?Z>`s9v#Y#H zFXfiI#WN9SGm1Ua(&y-xTY3+3jM-kCGLjhp`ulVl#jW&GVBJf^tTfNDMslc-GQF^6 z6kuj3E_Z&5E3i@XD0AFs;aqYH!LTKIn7kzGB-3&iH#7`2`qh?YggK`;*xnE7?g7v- zIT0~>X|v2osx?NxGZ#umqE1W1B^P;geneZ&;7^s`s zSLd6*1C!*YTjX`(3fjWv%Cw!AX?s9^P+>OCiZH6QAPfL@K#9L=ONZ}cj*hwmAC%e| z!k~^)(lilHWn!Kc{#n-dU7GF+XMWghV}>ztmTk5%MWa{gWg~l3HnOj#4V5}=su#2$ z5oyUgN7Rgu5|%{r?g zL8lDYK&?83&L!r{lut76X?W3j3&YVVw9$Oi(WP9@>22=W%vUbezas;tS%=kF9PEXJRp6zIvARP zg*W0&sKbCwjW@sv@E~SD>UQBJ8=XHLNlCB|qcnA|{DX8INQTK+e+qmP;}O(N=OxBO z9VQwg7t^?c6!>cyC9tp~!9+cqWr^;a-h^9VKc+-c=N$cvRX-1eE1?0Fn`D#JHtC=w zI7tmGm>}pEiEylhfiGe>oEj^8ht$1HZUc$ImgGwcw#yU@mb^~T$AA+nNP=U#?(Ltl zwWs_WGyMg)FumEyf|pMJejteJsjFqDBJ4$`QiDUCpv_yf@$l3$D7(~_$&QhMDOJad zuO;a=%z7>*$j}r>i`sq6NTw!iI|}QXRu)v~(;{rDRA3`)bXsh2(gH^(&=q5E=fVeA zD4sfEyOjG_WOe2z!1FI6olmc{40Yz8OnIQ1{BNnM^UNNal<* z2?gDm2sf?KcouV_ zs5=F3ms?Y-eCzYqL_4S|+|qRTE@tVdj=6ya_ODC&vg@derQMOEL}6UT>}82f;2F!NE?|tx zGNf4&t?_GYPp6h=SyPz`W|`Gjv=x+Zs;XX3l-Qj0Ia|SVzU_c*-UHUX4BX4hea~j( zsc35q4Jn0&0J^yCK%sNmnOMAgD}*8PiHlk^?~9I z`L%2Pjjc0|Idb43*y$+MSW-W>R=(c7J! zp?m&w);`^OvLb!uyydZMde*!+tKPC`;cDv=Yn!TG+k}lygV#@f7m|vmx-9*1rv2bF z=m)O@#~vW_%?(UTp@y=%w2$?J;@t$-0~Q?x89hKd38Ib@b0$I2IS_}%(9US${`SsL zsO^p1okp*#kUjqX4Mq(T>X=O@D>IZV&?}AVMLDvm@-57ysR?R0gYH)znqKVY!1tvy z)1d7~Dz91AlR0V!bSQEF)T~jifb(=ku?wRd3Nuv5X3rk!L-oOdcB|l;#kBDN(3*%S z*}U}{rqI-zxks$@WptM)8)^G64ypS&-B#La#*u7>2R{G$!_LrNVKnz2nPxghVM3dC zgKYIXcIw-YrZk+h4=2&Ni)H9>8Tw8B4usaq&=WFrEdPEYy(~}Wv>}Yr)KLDZM4c8^ zXUeu#CovvQ-Lij>WC}|s6X;mX$c4jSet)|&G$%eJ-z>GyOC3~wO$NyC!ERy?F$fB_ zgU;zNvB2M9fhcMm{K8>cevh#226vT%(@&5};0R`AQoV*ATaEg4Vu0AH93oDVThKlD z4)9yz9ykG%e*l$df%TW5wFOHj!S}EzHA{fQ=p*T`d-(K&QbVt#V%Xv>zyPM~HK@EuZM1FpOT|D4!;yqp=SnDGv z?0Py{o>3GOokbgG6jmaMdL$s`8!biFuj4s)15?q;d0IGgEFDuRu--bCAU1X+AT%I5 z(4|YvR%-FoyIG%)M-mM)jC2YtXO5u_PN4-^S?`)*C2H{su9f#OtHh&t)MCVHKz1$V z-EOmi)=9}<%o;KKtCkZ4ww@D9XEb@0n2=?rXpN5(T6uJdbXIwryq*T;$)LMJ|1Dt! zq!rBE9RpUccyg(am$_=Fb-|{DPR2g-CU78!b;ZXcXM@YJ8o7Iov>u27une0Vw|p#-bNS0 zW-yh=!9G97yTu-<;)FI{-b={1N-q)-bIv5l98GIic?G|~aoAzVLMJOoeYVPlFs5c? zpwT5VSNpw!$BS%Z77BbTCq~0+H|lkcS?%XWjtCyM4poo1$gEmcs6#OvayQah$)VPI z7*uyH%Oi{z{G!fUFQPShh4v5=^?Zm~>+;sI0#ohs@&YF%xOv+Uk(0Vts+&X337YRk z)>pemj_`u$ZRCJvpXjyeT)-*gR5aPn`AmNkGXa&&US3Mth=FI1UfA9d=mS!&-yf}$ zbEWTqkAd&X%fE6SjSrQdmzQ5EdxMn9W8r(p|J}1?s{ESuOsP&OF5O5Xa79ce3?Vlx zqh=ji&`laN5qNk%o-+L27J>IQi37OV>+`Rz^KKBYU0z=^??;0Y`EiAq*@$`v#re{y zVl)t%`Famuzt+e5In$p=G11S%`db9nEgHB9zVy#KuLJ^_v81_?I-~ESZh?V_gAv_v zii6-hxu#cj1B`*Hs<((&)YaA#XvrDTOsHK$;6-wXe23@;jrWO*#AUGLCtoD&r_&S_ z#=FF6rKW<09v6-{O z6@i$)svdt^b<(IsE+PqWc^7*~%+>{1P@E)x^vfymD^ zm&tBbTVDJM&j2`0yiE>=9Uz|UP#ucA0FDvq#iq}cx0Sodz2wrTHmn>6&;3A-DR-(A ziqAutacV*{owF3|wdr&vab&MUA?ou>5ij;qvx{vI_(o=Nuvo=(z1&NRye5uqKr?`n zxp^uT{q7$x5QmKFX2-H%f8ZA|dNR^^e zq}C#(c_~GUlv;j(NGYY%qNRx1TK(O7Lx#iqzWgztB;V(G&Nq21&tG%AA$RxhatFa zTBdp4xYKa&3()cb%=jF-r?N?HD*WJ_0;dgo@=5?TAeu*ATwH-b^hB zzkt@kpU?p~4Fm8WdK+5UGTwPh^mownoyPB@P4GBc1M}RyvB#n1G<^3-nEyIV`I#j8 zB24a$ehMq#kFX3LMFa3Rm{}!K&m;%NQU(z*Dksy^v9Qz0_H^_w>Felrj%=!vU$n4e zQDaA6XNOZze(asy+0ldTf;HFOF?)Vb$NY}Iz6X6%J3D+6dS@@d?Dc5CYJusN|3Le8 zmSe{E+PfT93G{=Vi=D$YQq1tPmUMN`>FSxcSdJSP_x>lpT)T8&th7xAepmUwi?Pj9 z?lHS!UW4f6&gP++-xqr-6pz+7#LOMz7lhs5Iz*ctX)3W~7RAiB8=d1&O%prduz5`8FPjtoGPtok=X z^3j%HqUy=s(`L!CqkC)-V zwHxqS(UBn5JXX4J8Mq330jqh+9R@MTZO%(L_&u;MleHOnqm~;pC+xBN#y507CQUQUZOKcy z`MsJ$*>N`C`>+KHD1%iE=EAmei+elt%JY5V^d}oe=R45yp$AiOJEN-f&;~KY{U8rr z{Hximt|=Y{v}%ftm#B~?!>fzNX_3YtHga3?f-!zqW<_)Z41yZMvuS#+2T`glg9?2J zJbDBby);Gpfuf5*_!-DEc$%2O;rd+|W0BSS4V*!SLj=5#-r>RO3M*2T+Z4?m1pG2} z6k}t$N~=r7H8OmWTv+Zx01INk#!ID0hPw#3FZ-+y&uEF%-`-kUBg2;oxV`yU5Ie@D zEcW)ak|?i`Fu65=wWU_Iro^U_;cEmum)e1`+7aMX_8=?6pA+y*W|cId`jnQhN$X^| zkAT;bLq%8!nmImTQ8f48v`6O(F;(y7bTu(0o(~Z4jm!p&naLSMPt4LXe2awX^A*?^ zEeZNVu_75BB;d!%^?vL~SBchC+$6(a6L2VdHHIyEJ2q<^0T~`5;Fa9b7}j$ppNOqi^{H?BH%j>7yQ_Q&3dcfrtIfw0&dIflHzt+CBxoY zt<3fe0k>w)6=TL&VpJJo$~r$J;L*&-g_wyJF?6I@+0V-aJe#{zf_;dx_yH-Q`4Q=a z?3y5MnVBrj+?`OI@UNSEJ6MLPaxFzwXeb$eM!<`SOF=vh!Gx)R#>;TonH%s_>VOA} zVUu8vjD+S&0v<~}C+Eto4r}{lCCgS3@Qc*t3d|Wpl3G}q?HU5^OrG;%cY1oTAoVpR zzy=ApBD1LyhdqIckSnN^_YDNRm>RCYA`VzgfuIt%8wq$gal((oW81@_G2=oq{2l?< zWcEg|2hoW_V3c!g3jq(v(N`>*aKL2r%Wx|JkEHihV!hVx(`g(^#6LyAb*XiJto4~V zDNK~j{xJbBXWsB(o6+vG>KuyM?F8J~{6qkY&FwZ*a-5PYI|z6-H7I4aSfr&*#Y%a5 ziCky;4G$J3)u{RLwaTu%Ou)}_`%0zFmO9D`R@&?W?v*^$N!4U?iIcJcg_IFrBlOPY z-Yk>+L&g0xqny?I$q{q=OL46fdo>iLXufrZEKxh8@G|-lWxz_EK1@01xf-E@LKAyAM2}AqOK~f1m-^pxG%lRhu!0JkYcU z<7iv5I5MVL$?Hc+v$^$Bm{=+iWsNI=Iru&qm}e`TRJB=SQAS)(=$&Z3C>t7M!KLC+I#M`pMZ8?|kYSg+VV_8|?XN181^zmpMwQ&?mv{LX;Lg_*G5CU7W2g>7%nqBdvUnNw! zaFZ;sj}X|E`7#)=1Z#RfV+@JCS1^k8F=Av=VIF&7NnEWDd z3YZ0xcbwFN1i1I}Vs!n+x!w)=&yv( zw#OAFg(tVVNa?*WS>!f@< zEx44TMCk3y4Od}{VDg!Gqf(SUyJ2 zC;?x}ZLi0rM%Gedk~RI@#yqr2VY9og(J4?yU=T&k&lH3g$f5WByoi}Up1V{ZFBPeo zl~zvY(l}G{#dpQpRU1byzFRW~GP5YRiehGrK~QEz;B`=xxfm!@u~O((=7pvD*?hSP zkF}ZV$5_QWrO*-Z!^Hk-oUr)sZ8GC78LlSaQ`t>v?3|FaxyGlJ%KHcb4=2v2uzp&d zpqpB+wCrmL_-gaEj8p|9(xjqFFZL(_uQi{j8-b>%GTT7{zLR{X5jVR1Z4EBmD#LXI zJd)m<#gwfIfwflAe2jnxlH03rbujt$szCGYN_i#V7ulg29M(&lsZ%SP`8c`G-M+QxNuHsw+MJBbE*zEI?S;KyG5ykn+W(sZnzr9ZQco$R-e*Vevi~lKUa&Josqf8 zf@r4GyItfob(EltVcTen7xgnR8XRSg$flvo*-^yd@8H(oNvYoKrwNMJX=W zO6Z+Q?r)ab?vT_^g_S*dihy4x&otncVA0rIpm>Z7pCO&s{ALYidZatn!mMKUM+97- zINyw&+FrbMY4n!-v1y+AId>3Ab-0wzgwvkFB0&%^zIan&Pll=ooS_k zd5M4*6IY}?LDbk3AjJtUlTJu%&SCY06r&oSRxTz#BjBmTsalMjB?t;i6%Xwp;I8!c z9QKGNU!iH_y7(%&)roUijP7co;GUeKxtD;SCD){|+ES!dnMYdSpA&E}^JNuIIQ-L^ z>{#*bJ_3H6db1gO#+8Y#_EIIJUnk(%^xh2S#DG?1!iw2n5b$zxNGg{elipe=D)+iy zlChV(RD;!D&oQdoTNEe!iZq*evrf95fwqvM6wL!DyU{pVzq3b4%+|$X~CWkY4 zteU;2ofYm) z6q4a@$OLSDqZ&uup>&BWno>?10`5y+kt%}G5DXcNN*DKk$l{jSU5`D2%2=pTE9*Q= zYG%$Sv04lnS#wl@N64VgtgpdoM`(V^9-b$|-;ona?QX_uV~Ny?jcnQ5Hzn_hIIi}& zN-O84q(9u0*~2+GvuzPpt(ZMQz$?kKmDmyV z+U$OxV)i}Kx6PO8<(q(|=z7}!iGc4V_SIlyi%5;oNZS7o0k*!wp@dtmr^7`84rTV%0@uilh`7o}b4$uacxF+U+| zLUKn6z&Ldr2)*!b@ zpXVja{D$T|*?28O$0AZ7@qh|sfiDPwq4e%_Twff}vu1{3&2l01a{na+cBQUX#bX|W zBj_lIPOU1<$pT*y0S;uT3QoovC0Ai>uv~~N)4srYEb~SF=EsOMuu2Q z2z;E{7mtVUt2Ej(EHYIl%(B2TLf~5Zaw1+lOREwbw|dI%Z&6mUoDjIs{9#?3zAppl zt}sPe-IUy1ugVM9`JwFL+HBOQ5_vjwuUvLKTKUo%;8qhtN1G2vZ{tWo8#F)F87rE4Bza4eL& z+_i_E%6GX3QYZPwVxta+3}4r%n|z==}y!>X#+o>^w1WYWa2FNEaDrT#Kl07XsJ8AtZJ9<=l&TfdD^{ z`?sU7w7X2y1;+aru0&*nDx0}{ieLV!Nayb^GmLy2CKY@4|MzPy-z{_JcFpc|u7L-T zpk5@2bYA}+>!&Zgduii9wF9t<-`l({b>r*J8(*+3>};Gj$Ei}(u7AO{psQyN)(hHf zM|V%h+|K^~j@b*aC>XOHUEQ5NNyXRJ*)gYM9_9q~;w7_|^v%KsLD$pSHE;f`-X(qW zdwb_NKN6(Lu-zR!bCxXblxNe&4WItIblci2f1i36zdpO$eGc{lQ@;YJL&YBmRQv19 zC0MHB?<#*7-8+5SPoTEQaGL%r{0dfr?o;so7Vg@Q z{sw2!pWzzwDOv}0L1`D&Bg+);SX#n(T?&gRj8iyNh(rI@vlcS!cu?x8`Sg z>oNY>+cWS@63Ix7F6V{d9=CZaF6nkwtp)jq&d`#nJ-K@_ipkNWjyae4P zYUf6%PQM9azi}OK8=xJr-~A7aZfk|E+ghzt>!=!4yJn1TiKdP`WAHb{y zqpE^5`cvfSTQXZKq|q5Q$8boX1$k^98EBPC#R9L4tWwhg2-K(vjb!3!(!{Cep(=R+ z()6WOP#n#v)RG>OW=_ispd>R|4M&*JiYadBhKVTuZ1!OF8ZdHd*?>TE8ZED=v$DG6 z3V9X+aCwL8#A)0!Hw>isSJNK{c7uqFoSxGgotB{6B7SQSR>Mnhj|p6Y!KqO3kYExq^vckuHkN3G80Kde6NKZ(+)v_fC)sJ7Uqm)=pjptiO2 zN%&^KS>p~_{64e0uHr>l0XkEpZepXwqZTq1bh$pc29|=xUl1`@X>vkSY+`ju)O=6T zw6Zq;SZK4&(6*E`HqDKUj%*MYa=*SY@(lh&W~*Z#Dz%}QEnLbu9b&1+h-qwccr7mK z3b;7CDWsAbc5Eu<-33g9t+PVJ5~%ma15|hj}gZ(In@~R#J|H&8C?e28M8Xz z9{(!5M$h>Kh}U1HbEos_8GbN1&~g$Oue+Ct(7y&YXU??$7OWH53>q)w5bbE4^dxAl z&N@qj@m6jsG_jSsGINurj%l!zEc)T7VMa3S<6iv7$-xoB0zc5Q%Ocv*c!wmR0yV=* z5>4EvN1u9ZM50KNc*@^raFw-IR+am!3aZ#DNTHN4+kJQRG1S){ei;pqn&%|tB=_&U za)>{eIpAFe%ve>>;2txs5bK<@2Tj&~-58rPsTgMyzA(-f&m`1~x&P+XMgG0?p+NLu zaJ~)cq*h1GQ;(c1l3ak>_4cTo{QT}*rBeqb=B4O6*NyR#ke~bB>Zb{zA-D6dz%Otv zsa5O`t z-3a<7E@^qNfD`d-p?^^tMXcmtmEV_i3c0THKGdFFnka0Y;B7K zb#BVWiCQ93p2^GW`SqHC7F-`{ERUDCUHN6Sa=-k`?#D-D%J@^+XG2>+qf?nEv)UvW z^t{O0C<|xQ3L;~pExc&Zn>iC@QW$SS(!0Y23DtG z4PatSoKDM2H=+?U{B<+WkY-Z5tF{1Tl$5nP!N3?Ook|{=HX&(=T4{+QWmIbgLCYAg zn_;e-d6qD9JbS8o3xLQPHClrpt&KLY8lC)(AS0PE@}f#wq*|}#^o)4j3{uRvxy#D; zBeEHe-<7-&5Y%n?3h3qrl^fRxeY5Felh9wB-$FOHmZXV)Hwbse2)dr2A2ts*33GyZ z>ft^(HA)43cXms)unB&L^5Nv;&gZ$7Uy(XiC0+s5ewdV(DCAZtoun+m^E;CtXN8B6 zmN4*e9&4rh@jD4|Exif~1x3QF7+6ghcqwrueh!{StKjGG-R1D@|H4&R3;heTOB$D>nNOqsPhrvPaLSA&&*&er=jq>bCzwB>H{l2LIk+wSDg7QiR6!h^McmpW zD>f~^UWiZCJQs*g4$iV{hwwB*eF-u9mB;?Gclq_%Ut})V2(df!-j{rrr#ydv-diUe zhlP0@;vUXpGyjC@aBX~2L^L1+!@Et};OM}1Rd8RVnnw?A(JIZ11_q@HjN%bu5>X&=B$=qv0pDZ01SPhbw8~DAck8SsEMC;)r*aREV zDflBALa(EX@GiX?eZ>wj?+Zs%&+Ff0|0TSqdW^XO@1q^?TWBNNxgfW0<)QW0Ey}&f zF01%I(ENAlruqLq6zG%g`SNxtn?pPjko?uw(dV1g+t)weH=#>fxU@)FSYFZe+<1BU zqq?i)H8G2NyOd_s#vR=A>($E!wt@02;&AFrLU~l;;GVp6?H>=1{{30@of`RNX@s1t zG?SjL{?V9W7SHcpgav_H)VsLE{`=~d$*SU+#)AWG)Vc~uF3SQzL zW8Xo)0-yQDbBJ1QrBY79%1!fZ(-*aU($Q3}zfU_>J&vkX>8tb$Y~}jvk3RZXgD7>% zh!OvSxF?kxjjVV~eq(&U^&Cf?pv`W(&oBC!LW8NKz+S>yLr_*?EfRDdRfWb;z_G|{ zFcs;j60s^+;+}|W>dWFa6a2AP;2oI08d48zf{EWOx+gNTVRGHL$U3OPt?t&bQV$y~ ztPeOu%2^q#^O=JvT5pSTPFiq@MK-@v6IMG!H%q;W>XyT6KnK)oq5c!*GxR<>53i$3 z(9mSI+N*R`CFLpTj5Z{4rPDR7)-k9RPmSGO9I;fDmQCUl+7?T-Gpfapz%tM^GZjdS z!rwh&nl#rF2X;|yE)4*OJ8vugHn@pZWsHE9MCI3xX;z*Z(9r1?a^E6?`pg| z`e5-!n3TSM#>4O`ybZXlc6_X|wr-NY)KwiA**#YL7WZ`CY8QW?a8t={l=${)_!4F; ziq2?$3h+$dgeGGRHfeRU(%pAvrMui%6O07SHj^cwx5KaC zMYK`1hJF&gMbDbL6UHBh=iwSW3T>TdnAg!J=20{c-eZ_9}CE zVN+nDeY`FsREi~{SE@&}r0e2-azmHn&)bg11XnT-caU(k?Q*G5H0C;ta4+0|Hh$Q) zK9=RptbvspIk1AsP^hzxh+cO+r~IDp2_x0+qTfTU-qJ^vqP%ZviDvb{qHAd<;NpW%hhDB`3ge~S9~>wqD~9drb}?w zAbRLMDe^vp<*+ES3vSs15ABCrx5B(L@SP2iTU0jRwE;Z>o27jFZo^SnI5{$*peOeQ z{UdY+9y%$Ny`5++bcZa|19gp|8SS&mRzPGElz+SYIkO}&b{ZJ{k-?) z;(1H|C?jbenf0wZ9*XsZEPrK$_rG|)x2I<(acaSFswrRkU^Am zT1n7NzWv(!C5@yb|6Q7J>&=hqctNKX1YLEyb%v-@N%PPa#7UBFE#dzF4YBW`LAEZ< z3;r?4A&X()et;IUR^Du|yUYQN%9v1d4Q$ZMAxj-+&apgTX-Eq?m*G+sL z-S#1R5&aCkgx*6hqo*F8c0=2=?z?XKKI*!w;v z8*GTwHMKOQ?wC2YMJwvfbyM_av)RaN)o!y&8*{270y0|EDiuPOtnkL)=Y2Y=?6`O# zyjS|hVaA}EFs*Qv%RSY!6kR!h-bS0zyXZT=My9Ta24&Wq?{<^pSHzgbhu@WvXmCY&-qM8mn({UKQrOkyK4Muf4)p zY(ujap{p?GYiV_Bti08otTvi_qB_*v>TfkQI$Mq3Nq(p0YU9nd{V2E9Mp;TllbE1>&dW>~}+4Q``_Q>hp=(pd7s z*2}zc@pSdBLNCI;1f!C88!z$9Jqs8Wv990Eu@An)XjrvYvNP;g3viY$;ls-dM8(H8 z3J*z)Plvc3=1xI_V!;^8{}0{9NoMI!r0Q1&yi-CeTmjT{m*4kEkio`uTM{Q{C@ zM~qf-Gvx&&vcUGs3&h0j){+M#nqJvWb;gRVERn(A5~;;X#8>ftMDyb-a$u`x`3$n7QfKXzVMf;{}wxrb;a$qejbXje4W#qKvcW7HwZ zBe~*+v|${c5&yr=UX)phrVpX%ovs;iv{$LBOht4zUu0V}e%{R+Rc6ktbJiQ9&bZm*wRKcy17ia}MWrS- z%+*?ItCQFtY6!Uvs<*vH3!^r9`1@yl>)Q{_y4NEPXl8A_5rR;S4y$J5v?IVA z9zKqq&VK6)B-60OpGM|>MdK8=CeB7mDto6&)!3#|jk{Z=n)!8=(NZsbRwnX^2OE!9 zl@_3HJcHJupi^s_*rqc^+;d3nk(X3ks)W~jH;q!e#dYn6J*A_lV82?=x^Mjp%KGjw zsU6ddM7sVmnL}LBJnT=a)Yl{K2>KyW&gbY_vRt+B-7<|w+}*k~SlWYb8M_R94~^Hk z?PB6Cw^m28bfd7eOcxT5weGXbSWe3Q#2YP!r-V7>0{{X7W%Y;^OB(=kbb!VBk7(x6eGe8QO#Vfq@;#UMlaZYl`hwDqznrn+wn`Cey0FTrx z^5O}%HsG-{>%%hmG5{||=Q!~#kEdc^dm>E|tY27E2F>E!$a)9%EkRj>|8-Q*%DjDm z_gvjs7Y@b8w})#cb;#hW06b8=&5qkAKXPNol*g}=!NmYP9__PX-1yjy;pF2t$lz-L zypXuy!qw@Audhmdi*haj;9%7X51#tD<(rd@j1UXy7qx5WV0&qAw=*H8j_{~)OY>T5HI+lGXJGJ#DzRJYbb!nuz$eBXKc6|@LFB`@(7SYoht zp&c(l8_>+@uc4oyTc^oOybYI#pZ2G}-h-x<{8iX}#SM)$vd{nE#mhc_xaGX5bnA@P zu6Xo!=p3?|^OL@P$6@pgBb#dwm}^daw+m0Y^?CI5@iXV5yX2$31CF}5dW8#5y_4wb z4#f{v18_&=6mjY&uPNO0*wsZN$w)6Q+*Hm;`&tg;^a51)F51J~o%Cdb`tQ6-c25Z} zm5HjvRW0+JH=brTGvlvy*(P598hQq$YO4~pkx2Y?^eh^o0(*r;3omcFrgm)*hhiO# z;hIcRK6c;2%g64m?~BafGNhUtI$3VUeFFcr7PTgOCofC47)ZCder>qKUEQKqiEU~& z+m4XFm6h$VWZ`8yTuhvZrgb5&BseB|tSxs&WLdroWLe+3nuNSBc=dR9=o;#v06djk zAI13kDpUBnYNNdWa_Qb0r*7xNC>N^zKe94DQl2c_T;x0UiRdnmSdhYbNinW$4u>DH1DAmN?ce_6avlXd8d?cp3Z!0DF=fgSd6l_|}$*6IzUxnDCoLo65ChIC|Vv+Qh6z!HmbC z_qp}n=Jy%W@VtOzG50P49@cQl9j|U?VqNuJQ>K$sR0&HKUk>$?jVt1$vD`&Wf6FWA z6V!{oCMSB1%r38&$r?zR*`4e~IiF-di|%|EEn(dvZJ9-lzByvnT7e1T>zX5OMzTp(nx^uE32E3$*>%^mTxX!dm@=-=q3 z(3H$;wCaem_ms)3;_l|efAZRTRh&dv7_XY)O^l^1c&t4YUaMW$KPdSQXL8U*OtD!<*T4y;~5C2 zV{=f_U@bZYdw!DBXlWCcEcpJgLQx|gXrCW@Xd&~^tLQLOWBwe?ir;4C9ZeRY^$ESk zRAb^Kx0;ui))P@*FEd)jIZg9w@G11r!za*R(Zdh@g^Fq*cKqY(FMRry9S2I^XK-SW zNpTHtGimBdhsrQ1MA-`x4t*nO2;SYOm%$ML?kH~8;kYM%ON}>2GNwoPtPC2&!%YT! z{o}R1YaWUDWyU`N#wGbJq=C3MsdL}gD9Ydw0M5%UGhwcAqNGVp;$^q{GZ1$}<|vDG z=~qxlo9sihARh(18}k1kZXA2;T7T`6SIH864kX&pb+>}mJW0d)7+@U9FEZkouW3S! zzj>^@>0iL6yPB7=SXhEm4F4)hv+}xMfOQw;s&V?EI$P5N3A?=R39#^vZo+Y2_U2lu zdcSZAtb3_t1&h_PyzFZzjbz@_Q2T}52nUGv{i8Ph2LLbT2XsUcS=pv^*E3MP?HjdN z*Z4?CpL(1c^`8LT)U}Goj@e1cIWtYWowER3)3x4=Zye)~-OwGVk>&kYg?>+~v9K7W z)cjZS{u}TfE1YF9el%qWKGsMVJ`ccUotGqhf4e>LK!=N#^#1_xe4&r1@bRSNe?;ND z0KkLUwE{LY-V@L#@1=+NF9e&n@mT#N(cn{Ql??t5p0v1ulND(2-=iq-5&#GDyG5d- zdwkmDy6{vI0QWW?M02dWba@aLHrL)gcj?xRj zlg%r%L_z;~?q zjEK1>lWP7c#U^tBxVw9w2D^x6-H)Yd1V0bJotd=~j=S>r*18LK%iuf!&hH!%NYW^N zqt;uZjmdlf_O|ZS6ItCvR!^-Az6ik09V-m74^at=oqp`ZItls20lGY&!uRO55S)Ga|S#)=Z{Uvhv;z@1Mo-( zNrK~={jsr40otLx1{Klv90FO+FDwBfEoeQf#taF56(Yf;l9S5o{U9xurenvGj&$e&Fm#dC5gd%kL+W9;k#hn-R;L2OiFrE7bZugF1Qr%t}R{C;%g0j<270#CG)-k zc(=8DfUv6ZHN>b=OAz(6Hv#Xq{BAY&+)v8^U3fVF*LUqT;+u2c_)U2q%^cqY3$N{5 zKqgEgloWm$DM7OW@a`!5o56wDBRBeMlxgDo0G!+T1w*y?mB$PK@OWW|o_J~3t+n0^ zO@nVid7DQNR)2>k2O1e~1Mp04JA-Z4CMD}t%3)SPFU|JLWoF8QHQuQY$cOm>ILy+l zoag#bN*7c#>=6cm#PR*9!=@I z)YUw~T5y<6T~Ct3JaWCiRz8ehcn`?CD|^_Ch4gdCB_`(~x6HZ@u%2t-al+R0P@OgX zO?l7tFfs~<7#t#rFgThBe*(Z=g*94Y)0V4i-K|&2;0BnpI_7IhHTZV5KKXw%8h;AF zeO-eBzQ5C1f8S`4*$BYB&8s;q+@4}Ivl>|$+yo6%T&f|Nxxo+_73gOGJWyCd6TW1h zskq8!0A6TWAmPVdV&h{@DJg?L2jHpPJfWhXu<0o^X3jVEk=LqxcH|Zg1bC$CDbp@$pHy9{7bF&`&yFWywHo zD>HMQj*#W4d?xk9s=JXGyG=>Lc@DI=f z+jkmijlY}rBVOSk>}2wXH5H}ckFb;JJVuIQns`GhKy`Eo=;&hZPY9<4`(l*jZHkUQ zh22d1e-Z5ulfq1`orgZ{yWTmx|HLM4tnqC7l;hsnHa^rNJmT z^{k~qrvR})PQMnMGSM+Wv^2j*DydBdR*LD>YD3Ck9-F2s{RI#mZF&in5;m>Nz}f4y z8qw8YkKZ5@9fvaI&gx2nLE;@z`6Xwar>ZOAm5IIpL>sbyXG*gLHtj^nkYX9V6RA`3 zBZCuVB8Rvv+d>YfGPua$X7NnQLqHZ|$Y-OYsPD&fQT zzar`uPnU+xCs4IVsCP$e1)i?Ay0s*wQ_{2+qpOxE#N=+PV%=F?oj*{Q(eibj z*Q9Yg&)2yk^`bn0$`5z8l^6Aji%N$KGcul#DrfdxowaGkU8CW~7QLYnj>9NnvLhiipc|yR8q!0!D|&BAQH+qz^eF%|W{}lnTc>g7#>W%&-eE zEGwKbJrwg12AgOw>2$`BE0QJ*I2DPtg`Lrq%TRx>sW%Y}Tb(3q7p zHC9Gb)gXu+x6`^g@;-FrRdzgkvOhL!iqfop2EaYtmz-eQ^a_6k;P&nXdYs9r9{lE0 ztu(3q8-PQl#miqkcLtsvEy(4Zjd2H@zGUAKK@P7fkt+>%1j|Hy0-)gk#XWS>d zK<}o@E^siv%u=ey{+P{>zqU4*nc_4@8)R!8|K)%G{FSx(yH2#vs5Tj635&h8!K`9x zjE*)&WvZc`Stcazn_1jZD!6Lz?{+)70y?$cDHsr&30^zIgsIjGdk|8W_a}f|6$nD9bbH0WTJ5* z=S;K6Uf<+SkY2Sx_|L&lUV3KqRo)!u_WX_4m+Ct0MzhOds%^FU?zysaip!L{Mi$vd z0)Exrb&H-E4fw_0jp-T3m^sX1^clJ~^Eiy zC)s^E$u1Lr0Em~T7G`FreKli@VpS<$r-HKwXo2XE;^ot&}NW{eqmd$UEbr@xh`zR9mOL`uHmO7t^y zg)L>~16RC=I)anUyfgPVG;_jxv@`g)ypd5{m+UQJi)4<8fP#tUK?J!vulV!uovIhaUr}20mhb+cG&}a(E zv*jPlph;Yt9LeJzG|u1p^wN#z2RL z5h!l*VhLl5H5xYCsLehD;DY#uB6jISi(Ql}idQ%cz`cp#ZX9zM11+im%`is*xFNZ| zo4A6N6iXW&asCXzW$EKZQYv^G@khGsQ2-u|pD1Dj$J_M0V3rH-=Vj0=&Tn4c9iQFq zj`OOUntasWe*wJ9>&_Rkj^hnljX?YCF93M5Zfgz~qRx0e;-cO12>=epw`FmC=!S3A zg>R&@@L!=C>JJhJlygKrb)+|a!`Rz1Mp()G7=F6-chAjBH|waT;IC18z)?~Q@d2{chE=6&@PSV zbNJ@8J$6&dL4E9>06dspSRw=Dl^$cm)zsrq+!q13CAontOG83O zm;E0AdlQ?B*d|!xR^C=C$KfRqhs#nY3nUIp-u9=9zBc+)8Xhz`B#WyLnMcL#dEqj6 zEJb3%Fgc~tb}J*|GXPxExhRk0__}Y@hOehjdV2wQs^M^sNTkPB-aw=2SpY8RIFQE< zo7Uho8)#yk1HeTM2TDXm-c~EGNc$WBm)9?oL1VzGl{27EnES%zgYK(8kRt~j<4!-_ z?V(xjdB8f@K3KpOlPDR@0zJz-050r2nZsm&Fu2VU4Z{}z*pu0o!6B1q@f!u&>(2+^ z=C=7ITphb@c2&*ov*=T60M6~Yn8gWC@$m*{=?NKJ0KolSD>EeYMT=G=(Pdu(;QHE) z#8Cuu!pd7{(pU(Cr>yPfnEmSrg{>0( z8G}3SN?luH=kzSA(G{yWQP1l=a-Nmc9bb1FwT_s}o2at0T+CsQT}KjtMN(_@yd^AZ zI`8rrs=NJ0HE-mJ8<~B{kVPXnbdr%pv59gQxVS8VRh(bw=}M3D**nd=#?)dDjF$;s z0|fi?$2!vv!9O|gbhN}xN}s(15Uj21DW%hax^ZSv>j+xg>6aj{1A=X}eZ_Rt6dpG= zVynR>xmpH=en4<6x2cm3HAS*Ty-BVWL18H%xKO{kJKgMI$tlcuVnnX-QQ?g;fs53r zi-i(#VrQb(uC>+Jb=C%_+$KbXWo0U-xS;W9u~hGPNS5>|rU&NpoDo-`(^b+IZ9i_}-DTn!u}&<`$F0m*l@&nuRys~`A=*DFeH zugz+)+&)uY>jz-1{)P>Ol0jftk^r6QXHbz7jT##r%3oOwLcDmggdIAK&MtB^{+9so zRDNp-drVr3+o+@AwiJLnx_1+IDN>Dvnc zuIgUZO=c|7R%2HBn3VwBkUNwo(smPR$53g10KmhgU3r{vM5Z=aqg2{K0AA=^PBdiD z+T3~_UG^OSZp*GOV4q3r@EUcrFBk&g#bRFphYY;QujgnfSOdV7odYFVeNWbnrqA~P zIFdbAAi1^s(FXSz`u<@Z056r+=5frzo5(rovg-l3r}Jbt*6B2YQ)Qvj{se%VvwI7~ z*rLsAR*by?+A}wh#SX#RXcuiXD{lng-u6o+{NxyC{S)0vNBceiS7&ySzSP7UoTDb& z1f|Ukkyg%?f3(h7ctn2mwYd!H#nWxayFGDNo610YwVwmN#hLv@9Ce7Mh+U$m`~?6P z<@RQAfXrq=y@5Vk{}^hvbddke;j5wO zw{Y3a@^0Mds~MM9wbNqw2LP_?nlHPwMrRf|aBFJ98C| z`6mGOcby?EfsQv=wTfns0`PQ(v>}-IL3q>;J_q2@LLc#W4_Vf&EPD(_N>@J(K#NsW zs`K%Ra~>lBNR;3mRl*lAItz;nIA9S?expRkffI`_m(kv?1Kn|AGK*cMv@oPKhpyR0 z7EY6topLJ)<8J_5RwT2bLDG{s!$1S+?=TN_EiKAT3fWZ==`;Y(A34Nh+PEig);+iEIWoMz$3dH~5fP4;see$yPuH?-fs@%i04+h{+c1?z8 zS9F+piMsWF0l2fcw1it-sr#FpjrY+$7)DucNjDBq)hh|(5wP-jHa;k)@{sUSnZPFY=8qNA3D5XB zh-|Dii?Vsb!YgG8yLhCuvb!^3(}#Qpt>+4r$X3&Da8EAScUdQiqb>MqY;L?NY@vh0 zMF4J347bV;4bo=bLA%%g0dTlss1-XTYeLC9e&JFXG>h9BR<*?IZ6+akdzZKIHu<^j z2P3~9g}vgo(#6&px5TTiZL+I*JFjy~YEB!}TWV#(t$=W8>quh8|FuUZ)L12}TW(8v zwbrkfpT@<6?PWrrIMThdeFiqDZqy(>mN-2Q>KV4ioOuz+52bdLDTCtP))nd50UQh% zOyPje6bS{x*sqrv^wnXR_+vnPv29Uub|@MN84O|a{|F98qJ%Ky*XpYy@&l<|W#U?K zW5?-aFB-QIHCafzsMbd$R&}I?w=xs?N@+p zsO?bmC|guy2piIc{=aO^!tOF#OkC5py|EXCLP4U1U`VG^v=I!3f?6$6oiRjI7$xfK z5Pn_eY7oyCkG1!qfQ}IxZP)BXU2fUZrZ5>2tOic<2KA;YY*K5zT4m7NQ)ZQ$hKtQ) zF3=c^8m0gFEdV!^mUiK&sp|TOzMAId-vMx4X-SLBsncuJG^_s}fCszgwPKaspi}tuG>zrey)5srEQnx+lA;oeZeF z#jN3I6ZHiEM~d4!anur?TxE<-p%1PAxT@tqGnwJFJ}a-IjmcjDxHY?=i71(zl{e4_ zB!2_o_O`>VIHc2(Fi@U>{2hS1irZSTPR$yK$Ix%JPJ_c7?%3B{p?|ON55Rk|ljLOs zCpz>R`O%eMI0JZ3y8!+-Z<@pp0fb5bc0vfB0bfoqQ z{{rB$_9H~Yrlg5ACY16CBeHFzReq>QL=tGR|2F{lcF*qu@_L2yaM{k06iLb&gUBis z@&eRvuD^pce)<5J@%?hE`QI`qzh#}*?osK;%tb#By9oH^v>udCDH2bT=qdjPz#}bZ zs0s+EsNhnC_a04SgTR~gqYo>-gz?zAz7^M7jJVdUc<(cxT?XfME=glatuZMF@e9v> zcG)VM3hUc&qpfQx@!rgLsYT}i-g7PIn@P-Q$vG7#dk%mLa%a=mZJbqyw*tNHKp@sMn*)?U(yg_$;0q_pDY;Ueucs>A6cbrUPfzcRvq~zEI z06bdU(njoJZ#41_>S8a!Ws8F?_};iReNU~8b_NRpcszHcslriS2H;4`u1e=z1i;m$ zHLdakD2H~`i(UcX`pymQIBF1G5v@dz(g(n`okJ{Bw5p1Mja1& z`Of2Yz`v(+Z7aUB-r9J_sGjlm_<1_&fu@v`S3dPE-BZi{^ zrL?(k0PsZ1{uV{U8pY9;0q|hU(WVOZzX`yNt*hmh&K$Fg7UdUB0Nmd)EDNL!8AsoM zd=G%9T27K>1rl$g%dP<6mfT|E4}!*^=M^^_0ANq+*`^9<-vZ!;?9wLel6aGIbdq`- zfOCpF<$z)hq$kwN^=s88w(8e*jn)w_a!hvFH~Dfk}t6!zpZP zeh$UWP4f`-mv^AQbkENaJ*ZrEt&%-f1Mp<=7}21hu{cG=Fz*6zAb+9>3u>0cu`+HB zLGR9QN#iFw?Tt^2HVHq3u~<6ViN}QOiSD2R{s@4ZGe^>R+@p1#v5(Z#xOfk$w=}1X z%-kA-U$5wX9RM#DcC_J;L8A-m6@h*X?Oi9Iaf4b?^Dd$XTD~>_cqlv4gy)d*m423#FB%p6H7)R5`CK!qx+ftY_)REd2SH69OiKn=xxuSe+2H=|ZO>*I5 zbw*x^)1Sjk*tVXQObaQQRG=-N!B*&eEB5I~tD{x4{{aBEw(OAOR4>1lp`O1LfV(>v zHDZ&_88B*H6#NiM+p@Vu?o)~T8mRkz1hl)bYkebboJ*#O`=a z!Y=^4w4;Z>j+Pz*w?0GL!X3cwM>C6BNaxXRPe0wJSngvO=N8mD_qBOc4#luRVK?AiT-x83o*g&WC+%u&$}S%| zDEt}_%q`7pCj}I#+gdw_(>@(#1kXKuHmBOC__*Ca%0_!^FAiq8%dudqstPI=5y&XsF zxDS2jeRK%Dik{evKBcn%3CO;({cI4|>xkC00xej72H@egy2>aksmge)IM@5Nu^)3C7bIaT}V(N*~Z&j{)A1meW-@twW|Jt(vB`zW{KsZ5bxB zgy;+Fl~(Np0M~Y&v*PB&Z4b31@1)+nv~9t8KJf z<8%r<4dlJpan3ht27Tfa`ugM_W!Nh2Z#d&jcTTpO%ucVPrb+%)c~JN#AlTA6H=52E zSd(4D8X_V`8>q8@V5II`Anou~d9+5YAZpWLnc&5j4wnfI_qQdDA0e_74lD*fX-%@)m2He{_``vhYG(2fq7++zu1cW7J&_eRno*-6D zxUZKm_n~*G;I9M8Hs?+R@j@ba^dsRX7!KpzXf5(be}#U80(2N#3O3)8 z-x9&m01@3Ui|!ZR0E@5cIvl`@(Br}Cm(UXds+BhZd?dFZP@xsKu)GY*skSfRQTg;* z5`AE@CVe( zR0R*AFR9)K!Py70#{+Wo`=hU*rxdlm0}i+}bJB^&6~fiy^HKWNZ8ZS*W_CL8x9$u^ zAHGA``CYK{-tM(T_R#myCSvgc^fM%@b*MtE1745H#A^gm=KUey?J1CqRjC-i@S_T; zx7vxfJRT+neGJn;TL<`e7go4%b>LmJ3q^vf(Z^J8>jA-%{D=?llsBlBH&A}VwE-M$ zP3Bmr!mt|w_x|D;7dhHT=qNebcJw)ogiU~ZQ*IX~1QV~1_$S>U%f1E3-k<4llganK zi>SeV?|-O4J^=8R%;6yM)$auH%jk&^HOPlx=_A1?#;gV)ss}s8t%TCioHGohdP=Yb`Y6=jn1K};9m4ED%dXp|NiWe z5YhRQa)dq>qB`)zr8(Y;qx1vtVtz$b;T%=M8vs0+JK?MVmqCH@o1$1E;8*Hf4!~1| zwf>58u7DaU?sruzyAptB3M6FUvOj=|&k~by9ADPZAOH`P&UvsPh&qwi(Xs0tC{Wkt zK!sIS1Mqa|poa*g)oDeA^Id4N(wu-SknAQ@eM8WPvZp*10{swxN3#nFh`<$||WsoZ2X8>HD+Z?Lk+zi0Yg@f)2@B4X$;(J3C8rlLCU)bTUkoE%r?#rF5 zjO?udT;DZFgICb9O7MON!#=YtSRw5;0ItX#4H0R1*@r0j5db$7NX>?v+W|O`yI5(@ zU%*(&Y*rNim22(*;MVM^V8u~B0pR)kVwqDGNC9_Mc>ES0mUP6}T1B_NgvKuRRw{lN z8ap>PT(Re`0JyZ+7p&mi4I?`{-&=9cUjuMuenF%n$M1n*-#xE#+26p#nAu;cguT#B zx>r_4*>3^Zn_F6`gx^8GEo~*iE9rGSugnzt;ZceMxMI)WL){j)ROX=r09;t;8IA1G zaQFiN=j1k#d@IlbKm|Hjk>0jeR);^r^j4gUD|CAZI(4qcRl)fw056mlhbp8Ufj*R5 zS6Np+gYlW!MsmDBl|YYj7)Ew}t+Qg!Kf$9Ej<_qpBLG~JJ4JH>QM_`LKLfBox4>JW z_@fndWrwFi+Rp*FCASn;RNiASkTREO(IHk5=u!RxPN+F#Zj| z!P0Smg|W{=#b-}@Dnjr-aL?>uWiq}1TY=nx%0T*WMg3e+nHVoZ^_A9!D$e;o04~cd z8||bD>*rUl+4Bwvr0(;&-mXN5q$06d)E8m&0W8~~ooe%1Gl zF8dq+=V$g3?-TfPL7xl3LSLo#JrBU`g&}uEGM)#(xusQ=>Foso9?Y$i`*^bKXr`VI zz;)Sqp^7Mb5r8WT=PNya0RRsa`lHz8&>Gx!1I_U-0k9`?Do~-mg#g@`-BcN$F9UE+ zc41|#ECS$g@la*hzXGkIbQqU8``&@Ea-veVuL5wOG_Nws7QX`{dvBy7rM?EhOPwn{ z6~X)ZJ1}dma8*=?egG~l9E@O_$?CG2ZSEd>8<-7vGCAnT-g(rOP9awaR!XziKvfom01prTFhAYd}_n|=9WtC0g0Cbb=K98cl zQO>uZRSF9$oqFXv@TtMRP{pA5HUI~+LzVe<6;xk-ccl*v09^A7u?62r=*8y-@ z@r0a*__9Dheg{r;D=JO49%it@KxK#V6S!<4ekew6dI0FYsE?LBDss@a&&1M|^HgH8$w1F1=pKY+nNKZ0E%=o{;lbPs}RM>zezI_ux3gs7g+s0(*refcIqf zL>0+UL`PahNBsa?n43pbPZX%vDhXjJ0M~b(BTc-{Xwqs;%6A_C+)x~h5zrgbYXiy$ z8UWmx*+FufV0MV2@(Y6%P)8ldFplE-v!_?Swl9#=rfQ0a`=Y;?CI)_P`B2K77DHbU|;@1wfwY-oKtyx z|D!T!6}M%VNAXUy26^!(=!Z!0hxedscOJsnV$vF{Mgx8Iy$*1%&L6G9J1FP>r2SB1Fe>`BlL8p#gG>WOpG)(pu=R$2Nm~4|k2=QK{v9eRSWS z1MZ>B_9#&ZFDTCD7Pgc@`EACbh(|>nMz(BJ__z$Y#1q|{YD(xDmrAt*SygD7UZn~e zRPryKJ}FbV#Y?4&wUZ`$TFt7Pc?ONUM#YRT+5=N$vR#1ed}&?PB;WMBLp9+VL`bZ@ zDN|k3iG5my^}9}tlEuZo%+~mPBrqJO=2Qlj({LJwS80%jWi^Orc(sP~a4bhJ75Z73 zk2FP@{y26>dTbZvH|$vG|K(SpL%i61uAx)SsQQrBU_Pybqe%D*8w z*!&RLSKe7b0wO!}Y9rZ|CI8~cp0cDLmKoyWj@0_j`A8?I2@4`3k-n1AsCdLGl4_u& z+sb@KaZj?3e$iO|eB~nm4yN{ZVwWVkoTB{ugrKm!3|hs$#G$5i+TmnHSw9U z!G2LDu!+6Nv+?wU%TdsE_FQEJRiEC;W@cv_A2eZoh9vFS78hdcKU;a*k}q|Q_mZ%lF@GygWb(;nQ#dpT(3SBn4z}0klJNe3xy7j@A9fOsTrb7 z_&Ojwr(YMD@wkK}or;a>5pvYAjB_HdrgvWV1HxWu$UDPOsuR=>uNs-1YNWBMwOtQ6 zWy0?Q!VSza?~H&N={OaiuG28uqR3TE(lJC$ox;*GVM1Jk=EVEZ0>q)%Z7h3dfKh2m zYQ`U8P{6>T#s^px8%8R&3Q0evZ{^-7^OCYCF7{)GN3XNH4Ky_@17N>(iw{o{#Mu*h ziT?EIO#qIFXXUATKU4e6=l#M-np8Lg^hMblXOsd zz7H7BTGmAH7@hIfv04lLsr~=}7xG8Fcm~I2uGFZz=okUO?LtogCo(}#vJ2DHyb^$W zOc$NFb4FLJZCWS&9`9`cZc;Cdm`A8>2qm~qsqkv&d_&9xN*t;5)pm>6?6Orjr8ya&MFqrFk=nv}OW zCl+YaunvGLxr1>Wo6r=fnb=IfJNj`MG>fY(z2SH@g9Mc>qEgXhwjS^v(jIhTb#4mB zc1=~r6Syn0EP{3Qc1~O8p#AlR3cuay!K$i+im6W0+eCi~H1A)HG3Sa18fR2_Ndvu) zTa?7=tMd$dWr1qpeYh%`OO)H5*NH6!<+qRke1Ta}g{7!f5F<9a?9ZTs8RZ8)x`*__il%}V*X3~oVv z7^|lj8FosE-YWeOP;HLL6N=YG!!-%o^KS=?FEfk6*i~q<*z;++>MsDef;pSOHiHve zwJsWDI{9SP3*s@1YI?UybtSzq5rD@HE2^wA?KISjMG3|pyKc#!>-Nk$94`zn}<6&v2 z21~Xoi)gK;$NUwviD`cn`)pQ^*J`8rYd1`b?Ak_>6L?d2^p}vo2H^jg6Jcx#=>>Dx zpuG73;6csWYRolvaconk^5zF>50SPqGqoe$F{PcR>Am12HLK#dkx>Owh@pw^w}9~! ze~E`<0dTIh$BP+L1BZ+WD$jnHXxK|h+~{kV zk@P00!F~^IVq6=>IgX#6)d)0Y9st7Hh+FESW=;i zm?n})bOxtGt9MaL{}F(Tq%HM$s>HWmA#yY;ehT9Rts!;n>Xe$lvYDP_1c1w!Bh^@K zsxxUue+Tm!0GC=;VB9L{C$)$M`g8Wf0Nf`W_hXySY_NJQG?V-pfIH3STsV4j(G$6; zM4jYwSj*Mh<2bHHHd2vk;Qj@G+k`_-%*4j3*_sJd310wkzWs2Jlq&b*d7{W;h`s0Sjrb9TPEV^)EN%D(~FXX_`@8mb(;UXk`Z z0AFWMMDf)OntT;vuAuK=pxUi#T;jyryLlb$>i!GBVa>`E zj_NeFh*tRt+(qbpnx$2kOLqvGR40wH|G`9~J`%(RSB*>WjM4Vu5Tw&Ym$D~QHM3BlXr-a^- z%PAqUEr2aCvt+GRite+3akY3UgoS{e17ghZkq?d5!0C{cF46TXri(3 z0syz^_txO)YScQ7WoQzb55V6tMC-o7by0WzT3Q@m1mGU2pJc@l$%;XX^6CbFbI{@x zjs+r(HQp%gdS3$I8U1h-Zs+*f9U7(cUkJd{=Cc8u;WU%8tU!MW`7!|Ko3@b#Uagtk z&2p4;5j>}O(ubRKepf2%qdxKq0MCj8^|+oiAtIp|fu z_!D-2nDmhoV>RQI4s^?^o(9q86_WAETTq4{$wgFS~^aJpy;esDe;P@NIYXtf; z(z8xrqTV@2&}%#8}L+) zZJxrbsfVrv;0D9OYRp7zDpYM%?yLvkDYPYo9VTbUu6I%8tpeb3?ob`(Omd^3_|gvm zcupE}VpMHbsj6%=Oa}q@XS5`OExCyfb9NGy_8kBo5w^&4g)ESn&K0YHYJ&?%V{EC? zvF2)Jq63Ueq%-80lBRiz$k9%H2x^bJn7}Gi4TFqvddwdJa6o+|jyp+@-!VG4t^wdN z-I*X6X4pWORZ~Cs5dc@3hR6V5@>@h>fI84xAnYXh>zk=9oOng6^0o;uo@Y1JlR7w+ z)WIoKo^>$CaeYyYWBK-QZGncuj{$f|xah$g4s&ccMBQsWbT8w86Hmw_GZV9E`gf@P z1b{v2{yI4^I2w@RBpU#@-%4gZ3kf3gXb}Ar+JxQOfUgzU#%p*rE$JH}C~d-c9EWUU zHHu5W55N<;wL#oWDoYb$sFQ4hj;T2pB_32|(2Sb%X8_!(UL3;hv$MEuR*w4KW>{L- z&Gool?rTP8+Mfe(z3m7o5pw!7*Hhoy0xhNix$6Txy-~BMwiN9aX|k z7!Ag`VKS2-;t7iSb^-9m%x2Ol;D|{djw)B1!h)|^7saN=tj(CrQDYASaIxleh_q;7 zht?XU;ICi`7xzYSLeSJFd4W!JzlPGih{P=hdmyzBUpu%@9JQp zF%JiEoI$o4R%KRhr??ERH4Rqb36l1f@w{%Paytcxdh@W0Op$f2uNunV18|jf6Y2aU z{qzp{TuHv20@zba+9e4`blR}uw|{^I$2#a!1VSpSay!Lk@MmZlX){XqGDN;uujt3w4%YP+)V-e7LmDs zdVR2cN`rFM>Sq-RY;{C-YDd#(@E(Reqv3o|9$jsz(dpq&(EG$yVQjGJCB5CCd^!hH zjbkW`I}O&!ZAJ^7%>E3c%&@$Mq#C0{CNt&JIhalOy#d_Z?)Noy1eD1PDjt!pdR*Mw zIJQo?F7+7936@19VF=>nHeRBg{9h^(pRq%>oWAI(mw!W=iCtXO=_}vCo0dX&H%=J{DuTJxf%jScfzY& zad8>^l3h+4nh+Tsg31*aAd0jLy;x|ps`;diZuu{;Wp+22%3^j-tWh2=o&$`_q?2`c zGO6WPjMnmhLwPhkjX1-wGdd7+rE#=K*k`@uHXHiiVKhng}X)U%+YjXbom8 z4QgagP}RN&z?1AE5<|8Wqp~Z1OUVKN&QTvAju3J;b_89c7h`~+R<9&RG1YlQqmtei z0&uRTKa8u#Gz?WIR5sD8sRqOVhoVM?ejs7R^E0&=hO5N7fM{iu?^R2 zlzS~eEwYhBQ;@Vb=Xss-S9Sq#ujRBy?!Gu=tXDpo1K>8(N-UT1Xf4Zx<(Kkrmq9&A zeA_}EU&3or(c9!!0luUB>HxO6j3&F&VpMLt0QN#VQx*3K48pKBF9_o?92@V}s7LR+ zfD`gujGH;+Y2q3B;(2u$w2Etm{dMX3o0BekotCpFGxUe~?*f7zaV1VSGyH=SStjUU zxM?!M5Fpqo9m45J99wTxvGpCSJZA@mAHo$(8*sW)&@}28P2*Vl&?_LUDHB-4sl)YY zb==4ZlUq3bw2MIzVtiI9{D@<@gB(M$T5ol$g|JJ_Q4ux(f|dV| zsxJ?a;;8=b>h788?z#G!`>wfn&h6cu-JQK>VYzQ&$Y~&uKn}>49KWw$zXu^m2qHle zkswAyL_|bHM1n|gMMOkIL_|bHL?kOAh=`Fy@~f_1c8fofW%u)`>Z(_-UcIV*^_tre z(`*@$v86`3J(DU$)YhWk44 zBi+VFjXu->-Mr%|>MfNuW; z4MtY59QF}}zK^3Vm0n)P-?iRP5SDS< zidwMFVvZK;VcWgcv`%=N94qtTyr#`=@&}qcHdkRHzV>;5AnX^eBsI;9hK*)muSGY; z5$=cNScqpMT80H`ie@SkOy)8AX!jGN9XMRlI)h4?XFQD!o;<#H{v%T1_{&-CKRMI* zE{3wTnz(!P3Jww#IJSp1Ht(Y;i-l&A5R2)@q`HXLf*KdLP^=><@VPvWS2{!x`h|TZ zEt)WKsZ2UEYFxRb6MjNU!FD*TwQ%;2O|WtWH*3aXI!q82TP_wfIjRNRbz|zXWBfR% z>8AwYvgwvj>q~IE?p15KKw9k3-MBgime71v*5j z$9j0Pr%(;)VmL~Op?b8aMg8$&A{fv2HjT!n;papJw;gMvT7?Ehkp|_F4EvCgH-u0I zVQo(PFM%nJG$H%Nm`53TLxu?_#X~`DJev9nuuN{YI6k2hjuV7yJQ4%#ktvGv(m>8K zMq-g+!cFI1zXq!|lQ-X$YJI#B>--7Qz}YS)k+v}1y$l@>QZ!B~@~a_&hhNVxE7gjl z>!Vghu{k}eRSIYkoph2Q9pJ9`YP6tIbYB+@Jjgw3o(Oc(uL;sV>-9`6!7|>WnIBs+ zvAzhyjnYY{2-0=S?rhCn6fJTh>z3ka)l(ROGmrd+AT76D4%WEo4J@!C=d(u!l&NCU zNv8?YdHW7n>o!{^S}3%qH_;MLaZ_~CZwb;RW^J-od2Ccl()TiPMUWz6lRD`PK{~CF2kf7!qP}hu6Q_3ZP4G7OBCzpjWjO9q_y_T{@VBy=PY`yZkBfC zKiTEQ(X@Xc8_sMF)zs=JFD*2yuAYZOfJxv_E}bVx{q%-#jhdXKDNmZByy)kY=kVD5 zk!%w<32Urup;ws|DUa4}W8hd>peIk-8rpUFwN?L^t%<73k5U_DlXB=^AKzAUkK7Ba4A_6-4?S$jQH&m3!F+K zgg-GyklqH@Va=9NSejK>9&LDlMa4Sz4nbPVpUu}&4~r&F?e+UQc-Ga>jRTDZ_Vl9&=s7_=Usxd)3Pj6%ZwK-Vze!6kJ!2NgqDCF-uB&F{~QW$8*na?r*h?_ z8JOAxb1-RUTs&ndtOhuAZ1)f|!0+>Ha8HGk+x)!C%`?2!Y*B2CHKcD3)7KI*jdLK(4Z&C-8)2&@N1=m;;iuWDPe08 z5i&`KGwTtovDtBkucA$9J@=LIU-ZR+YrQ(n1` z+c#9C%C8i!I{Sf~`V7+#oH2nhS;KZ-3EEk6Lb7=)0h8TfGTUq>t4II6#m6gQJ10Mg zkNSQvR1ezGiK|t}R;F-F^Hl6{?>XH3GkL@z>PNOY0)BOjA$DI zJSJaNpczhcm}1k7(^>MF=G_YPwijein~@r9fNj|p%Czg~qxFz4U{dEB5wWVMc^BD6)FW@|(=j&2EX zk@G5={^hvYQlG#Z;==@ZR^2ATu-htzTsAC(pAz5=aia_!nSy9f8_^O+2ym5ma~QHw zi8e)4yo34~0iO2U2%-ixsn$rvIM*e>0rv(M?0zEc?V4vCi~pPePk67QEv7#vn0!%Q zk3Ks#1WNo)X(<|&x>taMNiQ=J#r}d6pnHi6I>Hi?u5l80oNSWqrW2aosA2`;z3VRt zaG!0r6Vj@WWt1S6(Fsz3(ghWUStcA}SR>?y0Iz#@`k)OKWNX}z(MbY4uYTx+3nwe# z|CprWlD{Uv?cT)^{S3%#iL3aTrwDMf^}GlLkvH>_fWhC8`sXqVpsemiIN87lT$0=&fUm!P+?)$3|#!JTnHzBnVf8 zb&{5-jjB^32}Oxy@P79K*+?gPgt;@#GFcS>Ma7=^p9sQA*D+a})yK+CHK+78`0*y{ zB0)Ioy&Tb4hm&PhrB{ubr{L0M^CDOcSv?YFsoqTS_+jlkb%`RfqH$M5%?^3=*JftBUl z5j3AdLg`g78n4z@hG-uCvVDtM<67)AB^1oS<7Z4+h@F~u3DSUbjas7}Uclzt%(T}> zTPAg4_vk7?I_TJ>)Yya*)uhlA@1dDkJ0`tHkY4v43e;q+US_Nj2k(Pc#;UJ^aqb#H zS}m?oYUVmSO>-U=SbVH0*KN_4-@g&d?=ktjSX)K!2hN4}38rj2!^S>Ee-EUvmw271 z?M>S`u_h(fG5dD}TS}wL1;l{RXCsv%;TU+M3!ZUm1B$hra`%9Le<699+4 zL4MN8MpT-XoPg^RY1-+eSmQHJL#3VkZS{5rc23PkJEqj(gV@ysxWYBi0O9xsZ){v6 zwl%L2;0EW}0xUn)5iZT?#Fp`O0z59BEWo;!WH8&D!pEtfBfv%8b7dHX4dqCz5uaYJ zA;9(a6=hg_qAOUK*Nsblo&ZnyE@ogN)!Q9UkHCj)YYA`w&_FN0rRzoty31(SRI0-( z)*A%4Up!ZW?R^c!wvmnaoN*li9`rA7g_CWT_DNQ*%?RWl2KTtvHo?5;spXvB9wU%{ z7`*B{Q-tI1Z_1Cmw^A?y`G>)^(wPcuf21wd_VMjhm z!{9~Fl}4C%xW?w}Zu~xRD*;|}yhyHDZCYK(i1Qx? zKlJP>z)WY-o9;*rhVl=C$J95Au=`_8nXYM-tP#pj44LhA5$SEcyD(348PWQ~;7$M4 zGOW`^cIN6wcNo$7WIuN`!bEkF7H^%5h438$d|g_bhsBn7u+W?c7~%LtN#9=7pwadD zu2F_;cN1X0dZZ3^-``r-b)RuF<9h@+;M!Y;6F*j8oN%vE@-5OPcn=m}ZE}5G&m=8t zgxnMJ(|tV-QzJ_LWN+DLgxn8NL$I)&$2jaYQTV7Rx{qmuRcwvk3Z zkK8qp&L?27TJVNi%N`@7d>CBqy^3a;J21V=6`W>-l#`QpSrs;F6Q(wlCQdV=#t8{2 zCo{U>Gf41hBWipY-0Zy20HfuuOsLeEHloG}@u@45(3>xLJvpO6zall>b_r=hUm;o= zS&kUN-{iEvnt?4-bK&MG`H&I(O$c7ymxTUe!RsmHJx1{NFnCE_TY=>#I)bHnomjz6 zlatr+W(n4HwLVhs%o3KN^x#*E-rcT^n?(zrx+Ca|$pk8JClWZ}AufOKN|x|g)TaQl;ufwm{`tMbdF zbOQq=*f+MJJaUY&_P#@aOO@>@UAo8_$VZH5bz;!`@8@7kK9p%L7~iS?>s>bNbQ5fO zq$AP%@y@srtv(E%@m*UBp;LylIx5v@*Wf_rljHX{G6VbFj3fK+QcD%m}&E!8#CSkgZvmse#C zT6?jJRx>{DL5_-RcUqtLs!}k#u-jyVoR`a}+E!F;HEBev6XsZczjT-9x9A+9eeRY;l)Ig(G7c@#g$>g0M1hE`w@_sJt^94CKb* z7fzoe2wU7sE1FyD4NGZgXLyLW)@umDMR{#O%d5FrV~~l~zjTE^w@MHOl#^MlTnj3) ze_Chn1G>)>;ntEhsB2m@>hV5`%AgHxXEWZMzd^P^?bkGKWnR(MFg663DBhf}BM2*; z*K!&)y^R7niK5bzaSdM}1*INp(K4xcN)Td+`dr@xov@xDT=CqjXx^5Yd8MGaOuUBk z0(_Am?2^u=wQ$|E_H0|!Ws@86E6_Iy!WqZSI*pytMuR4Wq9POVcKl021P{N(b-cCa zpaCb-&go6OIL*z{_^f^dL0X}lYOW<(3PGFd6RnC*j5R;frjx!*koI}5rE4uwPaSWv zy7lk@d7pk>z*zOP=>AH^AR92Klyj}kqL0ap(k*>*pr!AaG`Wwcid@Lv8_d{C<();$E z#hN=I@}l1Y6thishL;&K8>u*yI$dxj{xBe=M*4pi!V zQ9GY&vDsWfJ6~!S^^78XDV-{WJpM>5P;4Dttzw7j+)!C$Z>0Vr?DU)DE}!vTj`IY# zIDDi8Yn5cVw<&}Dfj<)9M)6EWzeM2AF*II&FA(5f@A)!xhykzNX99KL`ND)SctTxNg09y(yeW{*Yj3Gh1v zcuihYgkiy?hIr$K)c^r5mCoh#i$FG4M8qZkN`RM@olTH+7KR2*mX zkc!q*R7f-K+7aOO(9r^%>Xo{uxMY0JagzYA!sU5bEf%V+g(6<<{z-tR9cb^yi4oNz z8Mjp4C%}E4y#=U7B|#ay4g4(?G6N8t{`5}J|M;C zS(AdCnpG`|;bweDfJfA$8dS|zD47H-+kX?_HuY8>a<+hKu?BI;Mc;do*nyob>4|#$ zR%;Mz{9*#U6+}B~hr<(eTK$HzK!6w2jdf5E^^-q{)nq9FUUQr&ATaCZC8M=36W~TK z0_n6&fjY_fNEiXGieAjX_QrI%t-+X|%L(w5b3dAb?ucr4MRB#CCcxK~{Us>EoZA^Q z_E9ScaD$5Gip>#HdAlKm&yYgUU2=ceY4Ze(+=D9#a6npwCQ?vxxCU?0zDj^=rA0_W z`io?z5l*{`0FSA!m!N>388&i35#a7HavP(n-5pVk&(*Fb!1tp^%g`n`2hl!h27&d1h~R^APZ?(p@C$) z9Q!;0E>`yEp&ud%#f;=0YYA{o@bxql<&fVg83F5W5a9mU<}&02r^xe$d0R(T>)wwh zuNVp<@nMbs0;vhXopmr3ZW@scRq#e>J=qoIKmpoR)K8Z&k-kWR-Xj{!I4o+~X)FM5 z65y4JyjHs(&(E(B;APkHG_too2k#8xQQ1O(=bTHM zV2Wepq{X`Xd1G#;%djTjyz80U?^f#V1bAFo)QmJC>9r5uSo#(Lt`4mz!R|_0>uNTv z$qrI)UDvXDwQj53SkS*sTCm8DB7CqKt31#QoAC)I0p1L3DeH#O>l~ErcL;EM@S3h* zyiKwjdB}DV;3D_2CVin3(L#p>|6Ni|T>Bc4jZcbq;_r78;8}H163P&1bWFrANxw&S zC2+EY8sziat$sX__K-^L+FgYzZAwXi#aqd@2=D~dvwO^HfE_a%@zSxE0Q+NC>R?M< zp|d$%#2dozljbeByM*tINcJG!*6kzv=|zT-OcC<~QWIjEkq_3HEB3VI@u=)4!1Lal z4KQpo$&tZt+P!_(0K{;fB=^T4&t>eh}JSJgddW#%)SM!NDh5NW~|x$ z1bA9mheky$$rh!I!5;T_*%C8ev>zs0>pFzSlao@4MaJX# zQ_^a>kJsxfQq(CKFA zEk@jMvwlu$AKaCLHLcX$(@@3-HpfWAD4j_|D(9xCq6@DpzaXC}?QPIgR3O*R@KTQx z;Euq)6qNmnsQBD?I{cEorw4NyVdw?%5TV} zLpoc8ew#%N41PuaGyz@>uc<>_8Rhr%jK2sv?uY+!4oyKxwOWnTj^{~Z9J^W%gYKFC9dOP1Bo22N0u}ypcxf440|!B@ z?mh4$0Pz9m1=9Yxw>CgpO;VJS!1rMOL{3A`k~XM9#iqoJEy6_t+~qi#gJ@?)1I4&s z`ey<>DPC`YZsggxVul7@B5jd-OHt44gFquX=P!4!XDz6t%i)R{_k}ML;D^rh$QhO6 zLAzw+VtR+vqu?P3ZBdt*4;e9D1LPc4S2RO45fi1j;okj~oN3-|RU|^Y=<^uKD6bIU zQt!61KBj0r^W$@tcM17!6nE5Xa)&E8i7Awa!jTK~z;Ey}( z*pNiH>m&i*DrvPDV=Bo8uQQO;aKy^r3Br!Z`J$Fl(H4kj%nI+t$7(moUIdqBwW%~S zq5;sJ5TKD7eFkv<7-B2}{K3T9!UYCGi{N&%CQV~lGbc+7Q|m3}0UeGuRm>dAsHz!Z zEK_aI)|pI-$}kp=rRz15#pQN5Vz5+iv&Q3QlgShe2|^;yvSyRh3FuORWq6)pOC=qP zCltlR>VH!dhW2^xe?UKQxjEDv4|1NbCu`+uI%>5mB5#-No=67Atp1ZAZHjEo*TzT9 z_LOK(#GTH>gqXKkC%sRQ2E^m#nqVuWcq=bh?TL`hq2fcJe-Whf$l0uA!k)0|aD^p1 z!zM%e${y!#5u{VW-Kknj(W#2ItmaW7)+`(ox5$V$GrQW}BMzTP4(XC4u8< zJ|sxX;{(MStP?Dma=@#2V*aL{#;i{IH$mDQy_m1nd0DBQI4!K9=y7h*o?+54-|}Kj5IB=V z4Ee2gi3yIV`7F2-2q5jzX=H;rLA0 z74=9;a8yGA#~dvuNC*5^k;H8QKX28IQ#4?6xD`GAXV0Eb4aNU#vF>i2I$Z#wjW)ID zH~D-3r~yWQUz+CLB8a@<1$ zniVl;VdMrIYn+vRe~5^-+xBf0SeI|AYggFS%+&LMM<0FRk& zRA551xRZ7Puj@Z1z?J;*CTNpGqE!mxMd=U$ZnvO~fO~qY=$cl=;78TnmZ!EQ zN>keLF5xf%ZevbpQ1b?=C6BSA{wV>T6;9x;L=}q0T{&`BKNo3wenr9JN#T|GX9T#* zguKc|H88e83F6b?qXf9ce6ATz4NKaTkc$E2A&*^y{%so;G6cvcsw%_pz%w~69jnDwgt&nMO*m69rdpW z@I%W=pl92t50GHWrH^Z@~4(s|Rm>SU>P4={41v^iG1N#Nn-6#Kdy z&XGo<(!UbmWy_XUm=STcc(AXK6Unv$btTi2a3zh%yLU;OVB3zigd>_oX=DXgdzAq9 ziMv}Ns}?v$DdO>bj{sM*M=ScYpNOVC7W_5R#+#N^;KXoX#JG?#WPc;THNy24*f_f* z+VE&6J`=o7fQ$Iejj(-IN2+aRCvNTE32-lS7`0ZAq7p9}$sY*thV>Lu&Aw*YHL?W{ z**{2wVLgK^n4GlTN&Rz^>?gOr8ES5m+~6_}LHL&w6$$yd4o?FuZqfd==N1p7%qjHM?H`(88hV5?O=r)%hf7jpx0$gXh*a9bqeSMQc zew>#7LvpTIcj#6#Yh$Dg?#jRKTIi0p!l=MUBUS-#CT|nqA$DD>{`L5TWO5ks5d_#T zo@~WNig6klg%-UxET0bb{~*6V5_FoUgqg#h0-BQsuBJ)QN6 zA0NCdC%_%1oy~9tl*;!;jD_ygB*<)Ofq67PbCRJZD+q9@V|^9+X(|z*Xx!S*5a1?Z z3({NB$C;ddd|_ba5U8LvdquMr)#{_JxZ7@=El0Rl3BpeM@)j-3IU5_CLfmaOAgNjOf;)T@CHHHXkXo= z`Rm3M?Jm`7RVw(->Y5>f2e~IF8f)$h+UbfB*<#IleT6Fa=RZ%7PBH^6wP%XH&WPQj zPjq|0>c@MrwFK!Lzok+WL=!EDNiXkoSd5oRaqbO*bl7^Uz9uAs7F*`Yur=@ZbI7VpM9*uS2st;K2Koz)4i}AGUiE?7yGPl5S1bWoqAr7bwi+? zzYcEq`URS&C@g^WM7b~1`#K>jruCHq56GJY_#%C-6^=+GNB724cmet{DLQbV39|Eh zXy)k}uJ$Vg_#Shy6Z*$y9n=)#GT|ly{4{;E8@AA3Y7<4_*yXPh;3;}n4Q4n-OWLX?r7@J9srDt)*| z&!76p7>n?b-kyU*dnT@^!oF~5?8rbEPmv!JSbU%X7X5a2&S%5+<k&g%Gw#O` z0^AEOb|8NsEn1X13?3!G#b8wv?DnSTc6sze1wZ$5;*qU8JJGtGlTFS%HZQ-pYhEHx zwJ{pV*T?+$u&$lm=O(BIeQ_Kh?$ zF8_)s_y&EV6N-)Z`0Y*8asK0zM8U@nb;EF9mp?GF6Hk#}-!)|q_v%yDowb;8t)~d^ zGxYg-=uPM^ccS1R}j?ue$p6F)c!zvsb42>TX3gdH% zi+5T4TN;FJs~8)+=6s3l34Og6PG%`#(x9qeCcq6~PYW!{zRrSVc!lqf(~H^F0;y5m z6f!YJNuwoH5DoEZG=qdW1`_VA0Cq3gR2OG_x!K zvzQg_apM6m61a1(re$8J7d<@|TB>hXbbK*^zi_o(OU<&G1n-n^;s5C}h;T2h9B#lH z;7YT`ywC&ahcXo93R3uxd5GZQH_%5awK~xx^Gx~)-PVL{9Ck{V5u|T}BlWe>HcQ3H zSZfbBxu%p^!0zoU1nD4sxT#iE<8v*H$&quKohFcY6rUg8^|+(8+Gx?_b+abFVzPIR za(bV}-&gwe(xKDdgU)lcsal_4QG?BOlFu##(xTN9({Bfj;66V@Y~iz$iAp&)uh-tNUEzd(T7gq>~B%`#!v;Klv* z1bAKQN9(4j2m2V=Wxq&(TXtU`#!~5)wWNW$pHnhs?!9K=| z%&!n&za6>lf>=WH+PK`ci2#pq7usNEdRI6-ts4vBs|2`9J>3cOlRIE`QoE6no9qg= zs11f|B{kGl#;yGt0UkA9slwF9>fOnEj2nwv2=GJm;to9%vuJS|sWrY%fES&+I*?D2 zi@HLFgtijkT5f+Q_UCes8aEieL281uzC*u1lj(ZExFWNSY>>RP3+CHPiNc`xzDWu} zxY7onQmx%jN;Vvxx}5-*N!z+$=Y!3ut_O^JCEp^z)9k?-v}Iy~HEFn4I|y)-<^2vQ zCz7%hHv(3^O@K?4OUO0tY)WK1jH@F%3Ggg`812y<*6vYOqe0&xz-zXZov<4oCCY65vhqwRUKBq(zh65d8NDa0z#yOOJ>`wlsy;xjh89N7&r~ zr#mc-)9f5RoqUS`*GUJE-a3+gtJ4Tm*h}h=v!Co|i2ME!DDjunJ?-$3eW1br@wY&u z@gXHr4A$Fiu*g|Qmv{$03Ht#79=9Cp)K9{Y7U@n_h}%z8e9N}8tB$k9yu6)bj5xrz z$qB3;Ll#Ah56$ia1bEo7x(C)~G^Bd&X~es+ACga%ws*tY!_BFl!An~Gqz0;&+l+XE zm~n3WBLZCH*x928V5(N95u$pKl&|AR8*H!hWjb;}JZwKE#h@(d)&nqQyJVC+M1UKe zm-Uj7d|Nh(L#BR0j;Ui6YVCt~O5oNWCcsO|*-j{@3SKE$#KZPea!kdgJ+L|>7jC`R zxb%61G&c%zjO&nH$W7|Tlj&!q)+?7gpa_xH$1+$5M@ikaE^UK#oF$dDaJZj8C&2gB zqg^o5SMsMv8aMKe5#RyKjdqxy+vCqYZum>TAi&#>^T;l=H|ScAC)05P+@Kt5hp<-i z$9j#MufHU1u60Q}R9U{F00EzdoFKrR@`Vn_ITQzPH^NSSMSzC{WOG%PNhl19pLvq3 z)^W81R>n7HnkE>w=oA5-Dd+M;@&)n6OQ$4Wz{^lX$_&f5MmaAzm*#G1a68d#v`7%2Ql2LWdu&VFwX&HX-^-hGD$U|ddw(Pd8^z0QTFUE7Ra2q5 zhdL@aKjj62a70=kXd zp6jSRBlEQo!+6_x*5hGxyBz2KOpx}PmeguC-Bqj3fqW>)yL#KPr*?@T-9l?ZO)gq! zmUD5yk`<+FAC6=A3qjgvU)5D>f4C{(^jSGiQm`nY793b`nILVo9q6q2X;a<Kk4S$Cq9pX22*1{vAcFx@sHd(Fa*n~2Utr#Fk7o9gcYr1{0i4nJ55v{yEkK6QD zf^<;a)mdwwo(=O>pQ>L$3T2J#%5Se+KD<_{AJ!n3QdmoJFqV=4FS(EP!V#(^Jce@M zL-Hd8c-^(3hD@hZaK(-AuagAW?>dDxcJBDXURUBj@N6Q$ZR(90tcb3$O->_Q!&w5n zq3-O3bv8bg<89agULwGiu8X~JvN!z^ zW;G_I0q%4!tHJqUsrGb0#^;BhBfu5z^))DmB|!=q{ro%uUQ}+QYBLgRN*j5< zzes?~mF>N-=2qHAQT{3VIpDX3Ks&!iy434;_&caF4jZ{N1R)jh9O|tlIFkw}lN#q) z#Z0p}B4qpRFAjP1Z^GLxQ|YLcqQf?dO^h>xh!-$D8lw}xMGy}q4|YvWaMsSGi8h%i zMh%#3y$Md&yfn9iAYO!58m5Z#%@pk(Cjf;5*82p&D2+Is&UXmnX?U$`Dm%WHrC5mq z1sNamQHmeGOV~9;RQQ$gMI$sy2~!juq-a^s3ZCP>J4A@^E0UMGXL(s5h_rQVtA%z- zfDNduIVRJTMJMkj$crLpx@WOZStxoeL+RgYp`3P#86{H8(~UqUe~%y^4Zm5NML*0@ zbc>y$6Iq(MPo{uVp}`b`{1!nzmtN5}i>;Gr8lwMF4J?yZ0f@_hiR+)7%W-=N^0Dkd z(=78Nh^Q$P-B+N&NJOkxDdyuvT=Vw{@~+UWWaRe57L9O5eg)l0bTOa z^gVj19}%T4#?N-6XN3idYP3+4!$Hy0n`o*B=}gE%fd-BOkvzUqd2pyyk-r#S+p!u{ zXex@@sMgVxbtzyePo4(VETG)40EXgn6y>~+VefUyBe@?Bm2Kr$!V}egFrHL^8oJC;1QN`zQE}xBYoVVp=zr9f#`wmBdFo1!HrHd zq$0)kIceHvqv#6yJ&~h9iKi%+fI7f@++zHzUhm3e?k7X_jNos@E_GiA^mH^)G6F@9 zcTkiYnTd?m_&un9CB^M2PRf>u@X^_+}lZUv&Lp4hLhsoUy5T2w< z=J>B@4e$1k5DIf4v9khgGdeiyy`A`N^UnxyNn{V&uG*}bwAHZZM+tCKdRGNzqRoBD zPz4|8|C|5^;>#QEy3=ut01qdYRUj=!%#0J_2K|BnuO>IPLRv+0Ldj#Re4GGR#1~hf z_*5Hbf71B6-Y*GoYhZn+{$=l|(h5M$xG?NFolV`4s_fh%ae|j)iSz z`+{~{?XL;&RIXoxHk(DT+XW1sBEk6f4oJtn6qWMfv%24s{fzJE&_6aA%rdm$=n>#G zIM4#kc^7NRd5wct0^9-7&YMc1(M}pK>Ha`~x8UL?G-Pd@^`3UTsGTRkE0N>PFrNq| zaxwijb%^^Tp$kWnr>oGcy#hp2{chOKSh3k_4ZIC6r56eCw0~1K)NIa5 z$?CxOWB*JJcj`tx+T27$DQTRDTq3~R$=$6`nA*zm(~Qrn{)LoL_M8R$dZi`pgQbm9sD_6Lu*!Lq|Qz2x-cfQEMoa2;G(g>0&1W|C$6%&P>rIeDrb zQrQA)f~j$u#rTfu4FcSf-qwibT77#m zQpWd>|3QGe5|`C(Z9&-;M=BRH*nEM!{E;3wod40fy2WX?+sog zz!l+j9dN8_uZ&TQ2E9apyA$U%7_5v*1saSms(k7rvO%kwAT2iujM9Spx$G`*a}#vT zXcO%B84`Mh09Oaj^}s&Wsf|=b?0+vOz#G|XjgT%rN`t~|<0U)+E{z}ySoDS(bH1SQ z)k(5svcC#xZ-Ayeeq3@T0WM2!>eTNys!86sMD{8H?#Uc1z(y?uo9d%@AH0eH_r`B@ zLfYl0fZI^b&l2E{_<>$n6il$d8$0OLBnYpdlC=^Iddj##uYE*Xlua5Gp(5P5$N4$| zo=R?RfzgT0?$Cq^KDGSZN8~b~myAlNq@iGI2=K$?#b*78dhjBDh7aYB!ehCSkQ!5uX%V`Cf+ zR;e{O-FWBwCPCO8Jyp}#Sy>t=$XS`7;p{6L2*R1r%Bq%kcqUo^BPRJU{szXE3BtDU z-WIK|jxmdZD{)VQA7?(b$yW)&97J{%kda6@{wCTA9z>btD8Xr@9oqU9U zcTKBv_-3?9?vW1GjPLYpBM7%5tDChv3?-Ti4n?%t@Vl(-1mX3-u5L|pSb~bl5)N5J ze4Sv&5W&OmO#if^;#yzOzO(w;**g zQS`(KXgg!PG}}jz)(2O0*4ky(+OA5CtqS94Q$&2tc_^SZq0K9Dy7A)<5TwQN zQ`H*UdbIce7>!)`aY5Q3{g5E-^sn!&RUGz42AINGo(u4d1C#p6VTm2B)XXWKrscGm zkr>L9Y{3KkBZ71@w5Yq*qS8#%W(}iigjSagpCSF26hUS~bB&fYKo=WWN~uTIU&C7P z6M}R+wz9d#x*19w-(-`fpy*c#4 zx8n?7O^J4xb~;VAfM{k-IHGHa;o$${I1l{-@AmNmHozBGZ54f9Wg!cykB>S z-WYgk@g29OW2*()%JYKu(o@($zCnQdI+q!swe$oA|3QF9+Ah&h9o^tiMm6H){+|T6 zw*5MQ(Ygml$8rzjD7JqMfewCW$A3eZf2c2#dl0|mxJ48^*VzxC|KSFQ?*Stt^an$r z!k=wlYu4oHqeM&GZ?cxkye{t#hX^Xaw{w$8^Ui(=M6KDWioLlJAFlqJsN#5WxeVw3 z*Sqv#`sq(xrGJ7WYkqU|D~DdXv*Btxmw;t=?vZ*=5r5C>Gy(2yKbwRt-t>dbo(#?w z`&$BB(S9Ix7kGvMZ*=TP!E$lj#8P2AjvxQaniHq*fJd@7A~2e1El1K-yfeB^fO}h) z6yalKm-cwci+z#56JUS!Y7RE~8|F9o8lT3)M}VuU19{l!ZJOWUsbKIQ1h}ScUk=uy zfoe}Ah_A=oB)|)8=P=lgKlASr@?$1R6JSCl%&^~mW&6FFDz3M*`;EwzT2Q-iUq`-{%FZ=<3OT<$z=C?WF z65wF8mw?^)`t)CjvWp9=9dHK6X!j0&n))(Xap|-JPR_XUlaj{A;@%;^1I6P`I5nXZ zr^Jn@&jA9wS=uSWzLrpGWbu4?sviwRRp$1F?fXlkCm55FzA)s0gvp`JM%8l znbY+H66(xzvD8c8S%`PeR|)utc3H%5;zjUm)CdwHs@~GDLV{Y}sn!?t^kh-)+7PJn zSId{}+T2R8p$41gejVIvD9GQ4;>#OR%c_-Zv9+nLpnuY2b^jeO$gi!fE>!=!<&*2^ z6W~F26SWDv!h92K1n<&%BVX$uZse)XN`tGk3Sw7d#`@_{IelKfWMI2(J~b}LgP)qk`KSlqgZ|1_MA6u|s_OnnH#OZVAphp)L zJTqtE%;)C4Fb9f)qn4Tw9lhY`Inim)EkJd1g1Ptkg$qCNEaU~t=$Q*&n1lX__O6p= zJ~`Zir)JKdt(WavfS&YhblUUJJhNcob9&=PEr?Ef{<+x;7A$;LCrn=O{QTL^q7FXy z=v*WM^q1ZR3un!F?zubtMm3M0xo{>DNo~%|$5BI`e|C=E>+zqMKYPLa=&0xCJp0_> zUs3xf>)j;(hB~PCY22KrpTVu1uwdcLPel9XEqrcnbn496^A}jCo-;dI zoB7Oh^HAB|xz8_rbS}&a>1mHHcn3V{EW2d!ItBoKj$iQTlY%4E>_TOEAPj=vCBWDWy4I~u6k%z01EK{Y=e?VB@m z_RPoiR!?{ysmOx=H(%Eo14kp?H+Law`lECGOGlzXvgk^VbW9(mmjU;|o4;AHXwh1L zru=;VK<=D%0IXwIfoGj|V-vIqL)+w7&^(NLVkLTX| z%1^crKB0+!-M1sQ8ptDx?Xmom{yG>J*ap7I z=ojTJsE{DfY_~F4q)A%brA2BDuBPYS^RqW&w47JA6)!9{D1Qr46l<@SVKd|3n z-a_(%9q*d|&OZMY5P1cFEHh8~B5S98zhIe>Prd}^{}T;Qbk-`TxJ7Tg z^83LjA$O|%w!Kd5e7?fRgI&{|dW&qRMRvKsy*SMC@|${Iq3aHTecY3&H^95>=fG!} zQ((@W4mi*Pv3Qs+^EWCN*t#cZdKpMM?tNa4-Kkgij9%G0L=^c&BaYf2^*;E&|Lbn; z?$Db_p-~sn;<a2Br827d-8>^0i7wK4#{#SxAXfq?l80bvfTENn270PTJ1A&CY!pNQ&;A=ym#0odNli+_%mgzfHv5!wVK&MpJC3?)Y62)zec|degi)7Iri7!PnMUN+w=$Kx4@Ja-UFNI`_F;DF^lQ{ zLd|`R{)C+S68jI(wHkaEOj<#|%O0WsVcHJrv`>S3zYE%51@|Uzf$t4Xo}m0Knmhda zzutNJ8#I4g9B?hR>;&h~#Celh2Nu&2`MEPd3?2vP>3QQ_Vm2Cb-`nmHpByhazK>>d zGB~C&8@{(Y?!T`)8Jtv2`a6m~_2Xl$+-JdKlmN5wxvqi8)x`?t`p zCG>=|pnfAr-;r2Ievtd=u)s#~TbzfT{m728ouWPUFJw+%1mj->BfbRCc#Qu#X!$xQ z{{mD3BTG|K&J^`bvlbVuUP~sl1oW;1BRA5of@Mt4o!Z0lZ0^W#?UVQcX_t z0bXbv-B{j>u%+}(5KO6cVp(VeeycZ9EWn27|Fypix<6TK2zHdysWBr$s?)OI-p{jN zLrs;{$NxWDZvx*`vHlO|Ip-vqIoVJ4rAeBkZJO@;zNLlIvf8qVYy}FG-LiN^)KV4^ z5fMa zOwL(G^8FFcIVjnbtXd2sz07`C4%=ZdWDM{1kAdAV@F+AK2Xnx#O;V>X1HrP(%zaFHPJEu~@qkZgMGrhI?h-{DFbE&9oHP9aUR$4W!@FVDR>nQ0 z`Y&SJQI@e`L8JW<=HL4On>8uj(Do@A6C>}~z}BVIH3-9hOz^ zOc~^fsqqWB=({D4tc|Kkz`H`rOPe^BP&t{R?-5eh$z?1H@J~3MI(pGNptkiSYbe%5ym7cx4k}6huq^*FnjUbqXt!4|oj}Y>X$F@O&@j zIS^b`9?_%V7<9`~VjEf4urhYgYgA7P;rT(zvp;!RO_WE5`X2;2Cu#!apqD96knmi- zsXf8JDhUtj;URiBrHr&kv@XVzN_c*h^6XAMQXcVJq(#R?9{1K2P$e2u7HMkQRxdhJ2c^JPeEyj~B6r-zg z9zR|gJXbTNgINuFVQ{XDY0GO)y){cGPrzm{a2kcJCdQdTwEZmAwmR)#@d&rNpf_1F z%9S#f(a04tA;Dr5e@oZHlPQ#^VX``Zdm;i&v%nk=qRcfvix}pk=h2 zTA@aK;$W=;JB+nyyrzLys*RkAbU#)oO}dz%TwxD`uE!;9V(?-6S<3|_qnLaWsy9P; zGmO0iV^2fztjbxXGs-8A+zNG*iw6xFanGFHWd1k^D@g^h0+zvq;f*6ljGWjsEj-bx zSMWAndY=RfFL;fvTyGyCSDVS_D+;+jFj_9d#1NfYrN-Ex)9FOd0%lojk{lb&R)fJ$ zf{oP}%}%?=VAj}`c2*}-GD^2Wu9hJ(&5oNj*FR8WFKJ6^=s)QNco|-WP4Fg3QjfzO zKanyf(VUZ>mttv>W7hm0V|YDzMgA)jVbm-1QEuBlB=X)BR1N_!(lz>0^v^vU0U1~gMY{1M^znlU0j(5 z>s|UkK{nIZ&!XAa}bEMI-&@mXM8zz(Cv*0-d|7DxMh8JLvAr0GEtIQmb$;=^U zkUQ5JcoAlgNzyoqy0~eXWIjm9U+@4_E+dPeov@f)4h8ONg&@~rgq?RdOyj!2pFJ;G zlQw-NBzeZ%X5sX#TBk68Qk6L5btrojGOocs_D@nwki2EjLY!-iOoy+7%y9r_hG+dB zkiWJwvJ2c{C>!+*DZR#Yz*+cMgd64$vK%@ zn{5*mT28@v^&H}OPAyaC?1F|HaF@*1pK&TH67GEqN;fg1Uxms=Ow(Lh%>RYLRCF!w z{-OA!rL*z?qhK5yQV0%Lb|7SPxEv%jj)>Jq?3vVv+-s&0T` z1qyo#<}M;*Gi$MO#@C3X00oLE+5gadiut zMuz*9a%!bEJvo?}oSdFnUhE3wH_AA<$zbC$dfhg6rbkGzV9rePky0*KVsnzkoLay> zPZD3sWTTj!bZg0~DJ|?$ke zNLVop8#F8VM2;2<6=ZJMaH1zJATpyV6dW%@faFN2P%;?A+J;q zQ(Qz6KFVJ8PAMLZ^y9X|6EM;vx1vQb+HA(koYX!A6TX6RQ)9f6mUefT*2~W_{T)l5D||{Mf?-CV#~x z^S>KnLY?@aYFBm>i2+WZ&5>{?1&YGjUkwUsMlZ79cs|bI5+C@I)ua%6Qp@?YeHg-H zW~}#vma_CFN_I(=>`Y?vjh}snSv!nOi~TeMmg#U#|u)9-Ig7`Cau6IfXnb{ zI2G}fT;(>0JTZ;0pfU@!s!<4`y>SjR-l)2kQOa<#axsQ9GTFd5wl9(XqEz}`?b2YA-UM7h z$f^}fa&i1RjN*@5dN}$CnP^{}!;a6XH|I5q1G01iDWW(X${D7!$8&9eQd_i|y&r&6H6LS=(u^pPZ&u{VY8Wf8vp5mvX9dIlxfM7rm%~{ek?;~ z^~t>LDacdmK&K?@Ly}eyDLcd^6C+mB!f~*G!xnkcvbw}1b9m4&jbWHdXS`LVGYrEC z4&z!<#u(H_Q*A%2Rq8>IS3hPG7}+VmE+OJQS7M5bQD*u^FMJ+Htvcn#LWQ_ul3 z#h(H7_<1myHV((#9K`1}*T|BBGy?fbEnaufos6`cR>rHez}|Lu#x1N;Esrlzhmef< zYMecUPup&Imjkw0wTYIzKuM?~L@EGa_( zfzrSlIF-#R{wT9Y`f#BQ9gRyLj8_`3rY~pm>k79+-RQCX75cj-n}fyS-u(uQ9NffA zaSo6YD?fWyhArNTip#`v|6lw7+M@-{;2Vy5IU+}g#;7%N#0C{pybb>Bhhn-E+C zq3OjBL-y3-smT?VlI&Z8B@TZe&t~V9h>cHoBZOsu-iYg(jX#8qwykWsg~_x8(~-j_ zq`UP#vQoEsd>J8+OOL#6z1raps#bz=Kj^X&b*V~7fE>TdiL8bcxm|7c8IrNf&ZR1g z%#dpG7khI3GP~7K6i9X3we`7pF1H9AO0`vyrA`5iTa3xdy61^1<^qLRP}MUNJ$(OYqJ8on%?Gq$5?&7mCIA+GpqruuHS-kzGW3ktr4f&-BHJ{S)( zi95j<+Y=ij?pI37ha1Lafkv&kO~CDe1;jj(u9d2Tu!K&fW68vLS~@ZAx9%ut9OrWm zN;R0V%D`%5MouT5uI$0L5d0Y_zDwv%YUI^q9fyj7WHBaVl}c4(UJO5uxZteR1CVIrj@8m!W2 z3@RO&M|8&GL=$VW>QxTT&BpE*wF+a=mvMo8@paeliOZSXoltL)BX@3gxH#Nzs86dx zDn_MD&B!bAXVlzkPhqjR1mwu|d6ScZ*$dy+NHkfGBVSfkva^QWX`RQ0vmSVX}~nzKyFh z;2X);(?f%Mt4MUn*|J_STpNj{@8UQ+zT!OP4_g9`peA5m#^WnFKtGxayHO*nlsU zA4&JM=Z`uIx95$17h<^E9kCne|9hZ7a+09uV@rE$3qiNG&7Rxd>Oj+5W{jEMGJ$Xq z2JwuGPtEgfqNq9TZ7tKp6CJfJ?Xz3G4fH#2ui0~2=Ct|}cxO|Kcx+_Gu^ls~Pi`4M zxutEkwdPB#}wrHmKI zxx8m30-xF-e));WvP{%_?QbjjxUHOgd~5@dj}M6cTy%^f*EQEfo8J3c^x9F8c4aoX z>=0f3^)~VE?>KTbowAxL^G9ta$lN{BETP`Ikso zD4K9VB)ltL-V>#4!9?Ig9pcA-X~^Y4Qh#{AN+FliO@#9Jc9C&I4f%L@yJ+i~MI!4H zqRjQ8)mtu#fVb76FLdN`Rh0Cn_}w+}yVK3&aw$tRBZFKni-Nxro3u^*^F9&$X@Fez zi)#Pyi?K4RZO-_~MDmN5MBLNGjup?qKNw!#KC@*)#SRzKSNZj4ojcV_=m=xbREX%h{l_BwH@0a7rNRa)2C z7|4YWcGeu!exM(Jl&h;PCjjv~)FBma+_Qcm<_^03~%bXsX zuCGw{=li3yKx%}GXLN+?PPCJ9wcu0vof+LsUeP)jSdv#(@Ep7WB~@nYJMb?^O{^bM zHq-nJ$Tl!sMe1vibZf<}Yse~T{6a!~fGKG9_fKe*wQyq`txX?5_tcZUmiFugLnHl46wCEQbs2h|s!qaJvd$Vtj2n6mj*yk$TIhrUb*o`PUGewKPUa6d z3w6~4vZHnz2y+42MVUSLM*88z#w#H20Ml}?tp@dSfI@bJ`~;X^2XB;3AZ#AAo3g3! z&fxEM;Xas_D9~W=p*<9!#fwv}I~>aJDs}~zpF%N3=orN$;8jJxWHe6Bzo+s9jNStM zCS)Ihabq+8;&w4!QaVJs$EY;QO@uKCy+IjuxVxguE}k0`bhf)UGSQwi6IdpClfrEH zM#(vESPObauL!vJ%HQX-3N53RMe&vh{-gxIqxxJ@sfE>Jt!5QG1C{knqdH(+EVir> z``@DYL=uQAUE>UF61N75?VO#p>z1(ZGI?npbAl!j5>b@V7E$!u{XZ{?DT<6ljl(S1 z`2?9!Zq@0mN~a=);K>k-48KCOVO0$8#nW9f#S;ICy14zRw z^>T>=D$sk!7B24LOTkY)xmtO>vHuV7Jg2FF2F|GPyZY{fm)Hrv#@c5m z?8DG!l)VQ3hv}$02b{+>lS^ga0A;PQrr|9x_gB_1efe63we=dX0n}zkk*P#~3u=Zk zWsWApSf(oCN=#|9HpK)xh~OIZ_mU4E=nTR0iVnQB?ZF;U0RQ6eES}GseA|_+Gt-S^SwfO&G?#cXrn|j1n?>)_hnN8Ndddwhv&HXlx~x8Dwl&{a zsY-T^wQ5sPqGGB_!>AC}>k6Yn{gHg~78UBj%RGBa$9cVi*Hq{lV9K|+Z8n!WpeW~t zD-;jMj13UBbaa}sS@1c}wvup&4XP|g!HJT%BF4!KlPC$J4=6evZ}fDK6vt~^H9{{% z6H` zZHq#aBN6ge=Z1%35p=`WQOB=@?^uFJfgqC_nPvX<_U4CTv&^#8_e&a!thEVNqsGZ5 z$+Coh1Ns#H!A50<2!{)upd1KaOW9e-w{wxq2oZOjq*M!D5!_r7&dN;;dXjZEmCL`t zKPzmK$eMwEpy=Uvxnq5GH&bC4n9$4LtEj3WAuX@Dp{?Q8{IPS9U`(h!yJqs#rSf-JuQ}SKxNash$hcV-jxuCKocFdw;1+Z$oA2kO&PzsLQmP(*j;~hxtR)-Z z3r6nbQY2Ce(2o@7!H+7o=Z~9{o#}Rm9O>FzE?1Rae*g?Yvm?*#*Gt$&q2DN5JwB}Z zKJ$CXQuLMGY9Ep~u%x~=qi;fmc}T&ZQ1M?-7TI5BG-;p0uS`mPMz5T_ti(Kfo-z-r zm@0m}YfR`NroADUWQ&T=jO6S;sQ488Ivn+M0@p_#(7Eax6MPy6>t+V2N9Z$~1|<8! z<=&t#oIF~>o`n9S>;^pixIc6sINpKk3bjTyNkM(&Lkr)D!PIz}dRdxaPxuJli%p+m zHz%T%6r;l1RGS0B?Z$;*k3zB{alh`Jc-)`UE>CDGNt;?$;!Gn`UXmhDNV6rm6Wmdb zY{HR&Hc$@nZCyM3p-r%m8MqMY?}LT#E8I(`pqxlb-ALgY+^yVecPJgkvrxiHK#Aya ziJ{w7*KC3;$ZnU)sYg30BnMwme4N?^ef4Q-r&ecDIa0a+4}d1qZs1P>DR=60KBLQH zOH*gb(~Jw5yQ6|~BO`P7JModZSMz9j?)=>I&?ny&%D)D?*g=b9YV#t2y62sEpq>|2 z)$qN7v=h?Meo8gtztk%#LVCxDZdmX+nb<#v#?F|i{74cyOu;<9s9O={A7HOZ5lQIK zuQ7yrSJfOu%c1lt=uqA(NQ?G+cqQ;(_jZro{LNwEe`~PZH@GNJ=vLQ)Wg* zl|<&=$l{TL36Tlv5~(6MGKNr zd0C{VFWuDBe^`AF!6Z$hEJ?6N6_pcMU-Zl3$D^A zDzp{8dS6B`WpcAGDY?QigzE+UWd+(QOG%(4IZZOuGti19kJEv>N_)LHoFXJD4uQd{ zG^&(VnUl-ADO|TLeVjJ(yy{XhkuZdnAo9>7%O0oc_X2;xHKIPz%o=40WUj2Pf|<_e znA*QVHPtboN*=x=fJix^Jy;z(8m;|C6nawkmFO>1_qPL5|vd& zP?hK_iVEUKEvJj-Cz%rxo`e5mj0p)k51YZ?o<6BA$!7?#*{0xX_z-GB5`G`LNcq)x zzxiabBQtZ>f7;45m4j)1D?epDETJ!8SHnlf>hADb^fA z4qGDs0-#F5(1_lAA;yp&F}VxCrwGir$mo+p*(czA5WMPSCM3(nnI+qxq8mIz&Dp7y zqZT|3C&2ENG~bPuoZ3qV>JiJbT0Zd~QF;xbk3qYZ{2itD#oZYn=O2a22f=r1UCYO? zgmd&)4(WC8bIhMiuUpoUm`lv~hFhfAApcqZHoQk1_$i1p;tTK)%)Yg?rnPoV!5y{3 zQXhkgNQ{LeIrfLoA6XU4v0d`xrl#SZd9qyPm(c47)GmgaC!x8we--;SD9lmAY6;%} z^xM}lzI?pYxy;)Iw`^j{K7jh)py)-YcozHvjcH}ARksyY6cv?thWY*2FCVWM&mRKE z%V3Ib57o(gMHW8E=yxiQ$0yRR=aQ61GMX0k?pgUT^$}bU{g>jj_?Pr8`Hte^4(M|Z zCjQTclNY_bPqqH5@9Rzu6#EfilwW@h?L7eefDrn%3=L= zo#3?g*U<4^hJK{<6ud(7x_(O8LtsxyNOW3L6aBi`{(rL%!#m8}ub_1kOrKr55VEKV zE_8)5BfM92&cO5kprT#qs)YKndKID0pwuAx^J4m1?OVk>PtWgsN?4t2;xhgL92Kwh-y=eR%jSAT2eKO(kBc1e6_sYKQFsx4mOXZCrv zEFp^N7s(a7e~DpC_;t_ssinDr5xq$<12#i;?YO(5*#13RQoqFI-SGdB<`~oe?zVwd z5==RI>467V$MW(1g5UY}mq5tStzkC6tIV@7%zleq+n`BJ$Z0645O~CjaO~w0NzcAa8At~4cOpK~84))i((eZ( z)V2^o}9inVn zyv)2_@VQh$E9XbzcBTsk62nB{D?9F66BB+RxudR$zZE%)7ee_O=!BP z`8CN!5#a+P7C%JUP-L%#&t@b$EvqP1jo(k(RxE6WznS9xG`iBz>r0nC603-h2dN5qKAPW zqApS&Vj5c=Pe5^wI*Tb#=IHF2|H*0P=ncvoz^6PbQ|9-rs4A-{E32t(#wveaVu2yi zo?)-DS0s#ajxrRH3Qgo66yXk_ox6{8#cG6ow%4mdW?$cVHKVbjB)$O1L%&m00zRWz zo;V_C^I9D42}eO4V7#mYJ2aMxY@I<;hS@(;Jalma0lM7z|1~V;%Hv%;4t8cJ0AEac_T~ zd!)88%Q>th$unsYc>Edm_n0N{8S?;C-WlC)9;_TJ9};osmwO}*&AXE5@T_Hwn*nT+ zE%7Au6-62FxzN%C-{7kCFn0$mg3Lr(!Mf4c6vpG@>1UjLH}gFsp?@Qx|B`Xa!9N2( z1Er^;OO$TJHwyl+gho&GC3TXeNTIv~=1BJT{pfoN)ex7SPIR!7@CF73-n5f{aBtl2 zD@(V_`NPZ*$%4#-4oLuq%RcA%X{%VtN-rH9rT_u&tNI0ndOgkP>Kk5TG-WNbqs|T~1(2dI(HfRqH8&naSAcjY>#qqsyM|9L()bek_p;(9B8i|NUUW`Y? zF6+_CPHi6)QUqwu>90hcB7DC~NxEy0&$vszR(b}19vYZ(z~+M_Q@+HN~h!CwJ~ z1mHrS9o)1nHb`!y>!#F?c4}*QyPz}~O8s?X?ory1 zcW5UB1C61ZR)qnyh_Y%UihORrH>12+Fh~}Kndqy?kGgxz`9r-eFP!ciUNoiVjvrvm z9!RS-S_>MY_}d~b_?qGoUa!Ag%PUMY#pa-IDb&1KN%MN4pD7?KvInyjv<75Ec3Xif)t8i> z=JPxJ+6-BmGR0u8sM6&?nULmA=~IxLAX&`jqia-*8?Tmc%xrod81jFP+;8@H%qiHf z?8Pnt`HL~-qa$Pex}>pZ)N3>Of=r2VUi93XOLxa6%+8|E%N)IvP5j7wN#XbcMIhW+ zaSY4&8xSp921d%31hkwYF#b?;Rp8yLL1NSc5&_#aVl``_Jv;=hpwt@tv3Z-}09owZ z52=1tgUaeGFxV4umMRUWSZkBMgF7~`FOpGT|0XkL6L=m0`yO!K55~LL3MkTj2ep#I zbR`w5#T~GP_v!uK6efkUQ`MR1A&PO}>yD$2CcDXOGU!`Wm~#S#-c#4qKL2yr2ahtR;Vf)~$%BUv?KfcX zl-`qj-@~Eok*-GVNSPX~0?16wrsia#trCBJsMuj{8dzRaY7ffFAw9#Z(FTV4#?G-& zd=NcJ@h1Eq=8U2gf(oDDTF@ucR<7?Ir0#H|rzH(Ns5v3<30g@*UFaDJ{SWS}l}{W+ z^|;Wp|I6)=%KqxYv-@Jy>zx4^@2UYZRS7-Wuy+c113%?S_&}hp>mnp^- zxxL-wXRWILWB$#mYV;+8N-A@5jp-&^Kr*jy-mvs=Y&zSV{dtMdoKR+$#P2g*4;+q- z^}S`MN*zVH_Mj&{Vp%wHBQk&<+#bW|@yfjYdA{ZFDI+uLbVXK)r2F34MkTE*JXP$l zo6>yIZTKEZZuG_3ZPc1&1=mUhM-?(s8Rh6JN)JZpQ!c$^>PSJmDq_kG%H` zweVEl={zA_9}=jPB=j1k8}J|btMfy%S2IfekR&;GG?qnmj2uJ~%4#w(Q$-ha}gOHqUt+ z`i*J2b=u5nt%Lh^!lZr$gR>;}GX3apDn=98Vs-3;Aq&dFehH`=EqVCGH)8SeeeiVF z{DKONp`^BU7}iwuvf6LCrMck{JP&)|2^fD%Yi)B*udJI^NG`N~#S^DuF>)Z|N(!H1 zlPrB7lTcS@EDiETtz>+6NvK~s_qlitl2A8DsArvrUA!|cxfj|I#S-MTbzXkE~AOT&Gke8P40DeISNJ`V6C>iyTN8LfGiRfoa)!^StK2`~j z!(M1z29i1c7YZSBeAx}H<1zRE(%y!|O>vY5{bzl=9UXOBd7-}KN2rr%x+c-It=3DV zIHnHz8wN>Q@~fmJ?^ms7`9lz&0sZJYCF}6FC962cpAi0lksSkuf|Aj16eQparJMD> zkx#(12jO?%R=@;Fb@MyLktnZuU*(vx1s(-$b(KWn(gSgYUDel2zR~&Fnl5N}u@sbz zo{K!NsAo>ym~_6jG`(#xyvTIGA!aeW68YELES`U+s&`TjEk2XFxWpIKdtI5FPc0d! z&r2|;k`Gq<0$QIdlL<;OyQFf0N6UOZwa=BUxC!%uR8GoY6~1Jx&rRgS^HMf?=%elb zj;HP}~nX*3zGs#MCOvfpCZKuX270qD#jV^f09w@h^#2 z@^YDwx`XL&%kmm>Rf43iR#TvWzjbw2=b93ICEiwkJmXPjQCt%G>cwyV9m^0~JUgpH z+4k2#Q)nx%>?cSnqze?rAM;*W^pW@A>^PI>sHwgJt|k z$w10P?=Af8-}KZ#X?Jy#Caeo)jm#TsFxin)W>tF3PP61z+N;lQ{2}K0bE)5F`||q@ zA6Ho!@Jdc!dC?Jy;v*Z-Hk( z61~^{?)Z_`nYHVKj=bWG@6!iNabx*F2s}sA+F(%KfNiy7o3ZoZ4d!ln; z1eJ;RTEEQigiVm8O0XUSqrYXyr2fjgOevnSoGL>a+u~E$;v}@6`G91qHj68tTFjPB=-j?OljEDa?zv8umKJ70pf^ zSW(-MHOw>mqU_J)57PRz?z}U!;yYbwXRSTmddHa-#}TlU7l7=M`ieE~mj10z|+C88%NKobEtdL`VmhN-kj z0^s?xyH~}c=%8auaj3Ck+#)EQ+cq#fga%s;TKmbuhZjcAEnU>?O6>xV+n=0}oYC7; zXf3w()}*Tn*>q@R#_|KyyLyiKz_?11?iAU~}9vf6A=Pd`B>Qw5u?bUtZiVGiF|XvnoVCQ+^-bXz!>Sp-Alg z9~k-!!>Q8mgRwuu;OC+7&fcSfS@YLPOM_o1A1NIY&J+tSN3xC5d!bjq*-d-#JhL^W z3sf4pL1t7Kc%2ptN{h^d^lDz~y?mRJ5o#VmuR*f>N(i>v$bwV0B8BMyZn# z6L_5-3vz+cE3|5)<%Fmhdqj*2JsWvkWlx$s5xQQ<`!$jz`uv0MQ|gtRFH3pP0LhNa zE(x`xXjv8SE0L`DUZ7MB-kW{3ROo`rQ`}{cZ2In|5H(&}e5y)V0=0YKR!J%H%@-f7 zjt%wB!W|iW+m*NgH~N;6dAuy|WRB46sjy0RS-zumEB?J`TV_~Dv3N{Ym(H!xs`TdY z2I&s+l`np!&3Tvk*3T#mQI4&rZA1RZ8XYUVOwaKsK8!q5mwQZ&h}B zh2qNOYzh4r3H=xTltai>+8BxUU;p?m-Vv$}9Un4N%j?l~O3lN6nU31JA^!yEZF;pu zk*yPq$SN}$zXmRcHFvn13V66y`@qiKA# zOhSE5LftEzE8@$OC^Z8;uzz8cYR4ZZEH7-VZ`Y}foK=>lGBP@(;>UD=q^&C`T!k0g zx0DKlvkl9o(fJ?+sPQt_^?czBtOcKR%W>1oOQ<~uj2-2?uUvAZax@p9GWYGD&3 z?}3oSgvTjDg?IA1!$QsDph=V{Sg~>`Rq!`^qm0iNB-95b)K}R*O8AkP66z`mbq%a2 z<0k|pqw~rKF{%b1$NQ>$8}uNe_0{! zxyCC+H~NawdAytH%IDX@+l-{#yg=zXyif6Ap3iFdFHCh6X?sZ)HD6N@@gv_+AUp~K z&yy-MUNc^#2o=8TY@YB7$PdB*iJouH$D48nohub=Kf`%u4@ivlp>HL64(oSR2%~## zhlk;&`-lgYu8qfb!t3RHSTBjsS0vOgy~~REWa$__B%$6&Ih)UCrAnxWCDgxsr)v2M zEOGP^O6Bo^#7kvDKQ0u{KOXdE1%hP_z<}0ye z_wri_^;F9GFz?aP1z!+-8+qVcPdRbga;YZt1Jjyg5neKO4ZfO5w7ik zyp}p!wYzs{bmoBM>hO%-^F}P7EY)Z$Wl6{9wI8}xLtVytXt5Z04MXN`O@gx^t0Bdo zlTctTQWZci)WY4Z*2M$AANnViP#iJx0Juw%3w&u7yV|HwahSoZ3L6%}o6u{zAyH*j zCE*lElNsektkPg3`v}DEUk^o3QEB1G?DIXOo7RGb2VRaaGV+Pq1i|U{7iJZv20VdO zOPW59uZ4k31z(}hv80inF^Z)Js}l_6O37xyHY!((4=7LBeO4xiG01A-eL4v}O)<@Q zxuV0qoH+`HEuh&4hEBlyL9+n&Q>Jt2e6qUG5wrzd=|NX^c)@^;F#i&a+YgoPvtEY* z^R!yTnPeuV+qx3Q`w{}?puvV6ShDWhP8AvOwZ!%Lz6YTbCM|~BrWAxF3(aRJ%!p5@ zy6m|gCROn%m}V=6shympNbaUUQkScaJ95=l#dOBNU{21+CAeoLxYNofow;_Wb}pBt z&~S1^9QPWa9Td0&@Cogfz#p7NC01k#17igvHs*~=P`An`Nq!0QE8{4ZVgi6(VUcobhOwDE{PH0$g>w;nPntNyMg1hT7n#y=$ zDW_twAz|Pmxc4)->uYFU2UQC}iLqSAYB+;>Aq=kw=A|cw3~pUe8Dt%@Y-Xq|BoE0Q zGCjldTEStA7s?^@9BqOHf37%V4wvB(HL*`9S!k2!6ez0I8DjoM6y1_|Km0Z^&JWIxc{#ZpPDJj zoM$A|%a+~Ae0rsX_gx8fw_!&yU!5XZIh>_bQb0QPWe6c(zp$jvsgmsdp+w6TSGQjX=^CAq$@n8m*Wgv=T|r?P^D3-| znG!=kk%&0%*bx*G9f>YUv2jjf#P*a68IJTspJ73*q!#{^BCPnb^*~zKo@?`#Hfl{s z;7C^~4@-AT&r`4i?+vcXYI3KlS-1FfKg6pMkHkfZL*j!~+xM-DsqYBwGzf3Pf1#j? z-rez|hbcmb-_N_Cb-VxvVc4uYyW+Qi3ejo`^5LzyoAo1}AQSM@&^*&$W_$#Usmx5p zBjB!b^!Ggh6DeOZdi9U9PsYaR@{GS(-&&Y;1kS>8m>8~>?5F=8d7)age9ibah2)4) z0|yp4ozHHk0aJD=gRf7Fo+oQnw#p|)a?vJ=QQ^a-N3(=Ezk;{we_*6O?E2@9 zn5b`a7FY1$QIam*OsPCRo4vP^6i3g4Bq|=KbPZmfzqi_vubTK2=o2Mw-$Eg3{B7Qu zB1hrvOoG)ZNrz8Rgb^RiI#3bnGh`V|Eo3I9?`Lk>7hJsP7`3&V>CWd-{H8}Ly0GFH z6|<2&Ve&l-b&_9~~HlZZHT_WpCUm(n-a2>C7E5=m+KE~V@6`m_VJK7lnU zd*3x+O}r~p(bsFPeGvnR4{GpLqjGJjX(jajpT`Wi(M1YH5hx#;E;+)Uj5hu2?SIF* z{7l6aaHRVDt|7hu=g6ZUJwb68pD16eb?dW)W zS!Z-$i9aav-3N!D*RY@97?V{c`BhUH`uXV?GAZ(V+9_s@#<>ulV47bAU4q%@G>-9G zjVce9(hcia?=3g|wsza)f4BYqFB8is zQb?(giqnzWKqE8A%<{WSs+^Ihqskead$;8H+ZR-h7q2c{nKn+FSot6feFr#YkdoNGs(4qBe;E$4k`o-Se0}`e&gdbgFN^jjg?@)|+e!Vi0xAdP&x&o` zPU<;aOR*~4QMNusnDPl!7f61*vG}ph?_$FKNI#`5b(aq32bk(iQ}X-eHrc&bb`zQe69ihE?zW+>#_+=9DCv#RBgzDmd zOp#>3&J%0D?~I+JDP2|S81NYc+lu4AMoLDDw|#aw7N8#&{E?6gwe+OIuIx~dOs}y0uo%Uan z!$Ie~h6SV2o$4Zorw`YUll<)9(!pP-w8M@gRl*i1+z5i?Sly0SV+bB^^_{K~Dwu(V zllh5sNmy(H3}q5vA{f>HNT?0|A~>raBXQFzJhaNBZ&_3_=sVzh@M0{GkF?e-~& zrHf!Y*iBY^S6-EMlx}L$up!D6#%fEr4jULrRBkx`@!FW@c7{*+g;lU1oJ;}f=*Z9K zHZ6)yQOEPXPYkP$aoR+O*^O5K7cwb0hedMi?%?7t{<$c6gZ=f~4$}yq-%X%y#;wf_ zsU0$#TyJ)#q)V#Cb(f#s7i-*=+Ot)HzuzZtA$EY>6PcL*UVY#3MbR1c$&^YmZB|*!Xr?U zB$Mb^^xt(K$8>bqI*T1fHy^xhvIKD<@+#0C#9vtlL&9yhFChh{#NA(01j1XhPNwox zhDoOV zcOmq>rDVuWce1Wh4h=q^eKOTiSzA~$?h&bDf0igcn7=EH-@q&ciI8m6u`aH*qx@)A z*py}S+vMHsQQ+LpVmo?;eM8FOLJQZ$oB4U!%52`(SCT?HDb;|F*B%f0Hh7PCs3E^IXg@v94bM0gQ{yNri z;%eO?II>NgTVmBC6k&)ULLp`~Xo_VPWJs0-(W4Zm>e*>`s^0|ZzUhgFIxf=jmbA2% zPccfe_Sp?@U5inFDf`~Zr%slXX94scrEBqtva>G7F*w5F028>Wh&%CrUp%=uirQSW zy26n=ri1x}%f2IecV@EK57K89Dkry1ntVsgozce`DrU}T760NRh-t0!TBpSyamco} zPK^H5I>VtD*WNZ^5`7P-n&+pt&6wFfMtrQ>|2~b-!0QILPMbKheS)_>@^rx2J~_|c z**e?Dcx4gRmMJk-%qwU0JpNC7v1W{|c}{z4>m2c$=JsP-+9r6T1o7#EHN}Ow;wuv8 z&KN(fW%lg0iEXVDM3s?OCXR1!X`AG2iW*fncScLwjGjLUNA&%QJ%2}Dsz^C%XU=Vp z=!-m+aZ<~i)*h7jZqb=@CbzVUZ*>%DJ_~QU8RH!=vwhCw|DW$8uYDAo+w-Kyn7pPI zB5wkfM=YKxJTRUyousi3q&GrrwUuxO& z_Q&|!B6~1a-h9)SwWNQ>lkVv;M|>%01V*15Nj}VJ7vD7*d2-~O$ZIS6%^W|uW!mh? zJIb!rpX05WM{JC|=d`c*X4i20+zIg}-281U3dA>#itZ+VQl#kf*mpe* zA_}IrPH3Auy(dC=9?fZOCxJymgg8qgHe#3fI?YIfVgkk2X-41YNqtVg=+Pkkrmj8u z4%vb8h?bc%V(lVg`nJxP(K_MID1`WVnD`D_66SGt5`&uWXqhov!YF#UedfeDG|Z@~ zn1v!!?7Juv(I1P>=r;ru@ry*V7_yO3IIpesj;K|lOIzA!w6u?p8zlzW%-OAzTjoxh zOsyC=Z9?<`n^7m&cuQ^Tu`TU009`<$zr;{%Zf%({!`nP*X4|wL)ic{?&S;s_Hgg8` zVdRCh5zR4?;sZ&iwMN?BBa$%2QPjTpSMjFxYi$`nnWUuHS0oM0Zf&0@zNVJ=uYVg& z0VEjuken6!lZ=I99qkh`nkPr{g2*?0=De11Jyz2viuSlEGJ4zEXGmNx4wl#hQR$cB zn_NknYmYTn?E2_{>&Xkmh=G!jC2gXbV&9PgG<#0#tjHUOC(fKXhon_e*-h`!jR;rq zxPiE~=Z~AyR=<`RJ>wy2O!Mt?TiPQH8{FP9F_IXg?h@ZM+ukyB++@Nx!5gFY#B5I# z^%ySp?+B69u-qn$pFG~kU4~VpvjJh5hCG8zjkXxL6Q-H_D zIUNF#7WF{$@*+Xh($-EAHi^Yp5Jl4=C5X)ZX5JC&aE@nY%#4W0FUl#2zFK;At0ZCf zv@e!U$v5!_&rXZ>Zfsf+bviy4-(IXF*>1+{wmIShN&V=hEx#`8=vW4kvY`H|MOeeE zf`7t9$!m;9p|4JUxgrYcjXUZt*}LIc#Yfx&ieubM%scQA^A>!~JPn7S_A97;i5>Vf zlkzpATf{KWf%a*zEdP+_B1Q@UgenEWG`FIc@)c^JrIfZ`pG-bS^nuz`orAC}giHZzyy|hQ-tMG8BMa(cx z$`Cp6Sa}t>)}k)N@MJlwz*9@NwT8rlW(~~7fh)i0?s^Nv4ADFDZu)p6kzjmVJia^c z`UJi+9zU1yMqU&@9FJd7?9@f^V@H2|I)-ocjATUdBgen~EQa6DxtNb}!1(2x_dbu| z*Jk{a5$*NN=|gAMu8iO`n|Gxo>gMbuEM+gK_ZLR-PvY?#y2H*We(4Vv--+S5X10TgP!K+C@+d@u`^w`|yW+Xa zmTOvEN=xf7b8cYY(VtB)Ycj7Be|pM*d)jrne|+r(^I`7R9NbeQF42GJr7wFY@bivA z4=!P%&6qiH>-V4cO)v*D?vPQlAS?E@cip@F>tplw(0&&CvSIwr*RP$A;iLI?i!pA; z_&4$Rwd~;{5jQdSHjHn6IcD$bE5|h?AqQqYy?N=o7;`)KUk2PNK^*1t@l0?2Rug8N zBJ){1b1MH7VUk7WG!-KnH zZT4@PhTH7H`2Ki&%y365;wI+Ji)Y@Qw9ojU7<)>kys>lBE%JuWP#9nP(R&6RZftF{ z$UE@uKNM~z;;^kX+)=-{^*It*+k*`&8k(>|6!#SY5(kzL{Fwl@d4^Uqzp@<-SCKPV0541d8k7*pnNq%)4{>9HYBK;(YHE5`XXiyT>iQp84U|nbXk{||? zI9plE)4}#Ij-oi`V{uX4+R=)=2itI96J0a}@RmpXN~G7^7A!Y$Gs42c746thRQ%w; zJ}cC)47&*nRddUP>e_|13+l-I4i_iUI>y$_t*a}mA?K)E5eRICk}O@a+;637l;PwWCv%D1xl>+v4E}#badjTEC>=MCd%+o3l5vjqBbCP z*91ve4&Z1zGqfxyN}a_aGT=edz(7Ycsj?0anNZh8A}_!KNQ3UcxF0+O~JNCybmQ6M7`Bd%v@~LS~~Ey5|3JCpsj6%Km;K#61y+QG453WGqZn#$2w>fT2Sixh8t4daaMgz`=-gqy=;c{G!$ zkMtxu;kbdzu~D#oaUi@bvazkes}Wbw9&BvIV?;(K+=)Abcf#1fa$HSBN(-5hKobdO zh0MCUfA8<=@`^c7A5a7C1urZegDaH(G%~%0rtAd!qZyAcIRJZL5J^4~^W%uomd|Cj zh*8}uW;VZ@{ZD#91*85uBwYi=U6_{Yc*L^-s<(h~JLInd6;D$XB8Pbn#7d>Hmy>%{ zi{a7Np&w1}qtM4F&$gG|L*IfwBF&Q}uJfSU5C5?nj*G>mNXC~lTVutu*y}m>sGoY} zqexQ1nf+fw51awp?5C=4!wX|TpG0n1)gD;#0J6`bD{ve|+92mknQbvA>1>~8t*jSv zEqt!ki<%bJ*k?^wx;^7S{a8C?4sD)MUaHlt*a@lmIgv&%d>gYpR{lx$t&BgT&td5n z7@{Q`-~uv!0ISe>+BF0@H{e<5hWl^_ZGwwv2%dNqN)3jk#q*L*!#Mf~cA)L>E%kHQ zLoG6HfIj#JORIaJy$AmTFTzH6pNh1Y<@1Wexb7`jfV`$VF5_Oab z=)IJLpKi)><=8Y9xk(Z!#_`q6r{bGaUNM9GxwI>VL!g$i7C{;AM;hsN^oq3TAQ)$| z5(OksW`&`s3*JL3@lZ`&-nbem-RaW}c6D^_5_m7OT6_V@D<;BtKn)cZBXwe>Y@Q@v zs#MUDzeOz*aeD{ES2ZH-J;vX6Kf#d~HFSH?Z*Z^AfgDkw&`YGF^bRo-5=|+PlJBLM z*JI`GAzZ}`Td!R552^>f4i_MFo&3W<(E?+;eFS_@q-W|1)$>uC!|$!Myg*+^51ph7 zvW=Xe_N141v;7{IGTZ+6GOyFC@JrLVsg<)Hw+l|U!@$ibududiSq)b{uiX3GR%#4> zxbzE@#%ruvquwkxN{w=-RpCfvJ>ZeMG|6TU6e>L^Nh(M!;Y%QBwm>&}AGT5N!8q&y z@9!ad6{^{T4CBbW3ld#jsJ7Ccnqao8d@;zBJzhIuPA99js z+h$j0SrmSIVTy^DSh8FNg4Tung$6%kp*Sn=HaIN_UYUuv$z6#k8zuRfWVL$gPVgMS z@vsYTCN{#etp(1asSSUFBS59d)uT$Qlsj_DMn zYm^e+Bd8gmdVu?hwZd7k9&+dUYYTr|T{LNwy8ZKL}flbLI%S?>PVA0`jPi^diK1w0eGY+*r(axusK834DWtEv_4zMfS zsKDaJn~oIZ=G;O;#4pbWm{a15CB$znd*3u*+K3W4i(08nG|)QEB{3*%Y7=8IxOkmT zY2nh9>FtF*z{>O%qo6Rc5~*CFQCamV8ok!YvT|f@NNIL=L(Y!qm7(QZm@}~|e#D+k ze%bpua;Z%Q$^a&v-yqXzg#^DY-Rr{jLUOvvi;@@t$DKr%$)KYRyiNdv)+V=bHcF?^ zI5LdZsyS2Kb$MyVy6Q*f7G*I~+DdB;@<@F;ekU+zV->yx?69-fa}!^_w_yYZ;ki+~ z5I%%AU>J@;O`~U?oiaQkinz8&I1|w@# z$tkCzYEePilrnpkOkSzadIy#zfnJg-)!OGeraOvMZpX9J{tMhMipfPuV-4iEDe+Gl zUNHgIpl7!=`8za1?SYl>03D%*@f|;6YW(*sKk*rTq9K@Q865htoQghs2`y=B3_RT) zS|U_LV5!izevlHM12wdFE>5O}{XIY=((+&jagTvBM@TA}H5W-Dmf!pz-s=gQw^~WE znQusfo8du%e0Nw(v9p|LRZ8eC#n9DJ@_X8EqrOV@#JHNcxd z&7Sfz_%(cn)}gCtmGmo`+%w;k|98SZ_$3b4d*BGV3OPA3S>a&b>fJoyjAQ#fgXLTg z97S;kyW$OA^B*kY4xullF@q##_oM;K9)t@lw+}rVaM|g(4>+YJxS?c5b zk4(}WyUBNR+P^p8==Th~L#137{4(C)SiHf;)EhH65>(?1K8QCM)8Ex_>(L2_8Dudh zCJk)tN$p{E_G+{ZR>MQTg4*qPv7M0p8Lm>hVnw1$j9DJQ8w&F5WAd>_lVrv~u@-jKw~j3SazCy14JBbnFZi0Kl4{y?%>y+h*hZeuTFQDi!j98;Zs zw_lSi&80`6tioPuFLv9syxHVar zf;F;c${_{YH1UO99nFwKgQSuSMV?irGGrvm1!=CSA}JHnxklGgTf6HSq0RO-;DD1< z!LLR0UxCa4s2GKL=io_v6KO9j_4rNs5|`Yo$<&vai_L!Hewgb~jX>2osO^P}VO00L z@u&Kope>c=D*T$v)Y9rTc-BavK6SN%U` z;JI%;fdK#?iwFP!0000216;j%oK#1-KYZ#e-RJajPVf6NUEMvsuhX;dJ%l7=Cp(Eo zNQ@@tx<3>=3L&pUeLEth#S%IU^wLkNe8JZCbx zj3y)hxnZ6&6ojzfAbjyzUJ^vJ$;}HN^9zou{QhPBu(BodFJZc%5>D=O^Ywniq~E9c zySR^eM8`rw{_$m|i@b6=IY-!}L;^*TGe|z8#mJdMf{SyAHqj7YfTI5^R>RjPKUH|( zx@G95<>>ZN^fo%ozlnD6g-@0qiOz^Ukon)_AS$gy;jg-fkasQ8HX~&Op+!jCj67q! zYZdY=N1UCNL z#p+i4!T$FDx$k{+-=9(R6Yg8JpmiYn5^{dV`8d)ZGkzI$8(&1+E6Dr_W5($XI=iiA z=QK;hchPlLV?Jlhzs48e9G6=3C3HE%)?%y6gUqe=pwN&@b~c5~Wb_RA&AALytW0(C0t%WvZhYd1%!KZw?M# zLss0c%r@^V)c>ysI;4%K7G(guvg>r**r;A^Jb z{|C5_bbln^Mw_=KsZr1`pPK~9yt~M}6<@2jPUan#FM@{m_q-)kdqRZ=gJv}xx8iH* z=namPJh<~?qM)*}_bFjIRt352@pnb7&U8$3r8HxtpN?W^=jBnX7+ZyM52TbwMYvE6Yt6Fs{nl z5Na|yh$WH6e?19n$~aLVS} zGLq$X3VsB@UB;m#uG;)JRVUjwcY;>I~O@GuC-iUh5*6DAdF#Zv$%7)bS7SXFYL{3HundyR;c1~~* z=@$2eG3Rn~oYTWmF+2~z1L=(c+{P=e6q1}2TnNCu*>|J3ftXYj@pcNn0KoC=<|yV= z4RK~0Yjy;H$BW}Z9I>HV)Fd*|e;t7Hi^s`;+zyWO*cs;{01o9(`!R=;93M+?RMB3X z1f9x`^vY1RgN&B5q)5L;CnZ=6335mLRgcUW5avX;%y(*zH<0|&B*kK+%*!73uM>-+ zbZ?)Ce0PXKo(#lR<%Cg`<+wtN$TgIC&gS9xYqLC>=HfVO3;EwF$C-$Css0U_dFPiU z<6-Vx`=vi6~u0;kR~#SQfQ%e1IaM?C z{}6Q%Ee*)ePSUH&;FP7E0TLN2|5kNt#J=ZGVhQC){e1hQjuwTN114l@)c@LAau&_d z`9s8W9d_FLbD;OleJ5HTCLE$1u+ZLlQ%DvZwSvuR=zpK}9+a0&(re1m?zt5l!ZW7_ zW3z6dzG`$5v@2(N7Pex(_B`pSX#rxM`Wt}vSl1cKd;cBb*n`a9z6HS5y~8As-W(0| z-xTpva14NZdlnGR##AJjOowT&-vhm_=o_tIZXs&r(DSH+`Gk#tcVW-QGVZxPg}bjK z(TjlF0eG@~eGNw%K7Cs-_5hpCk3qvj18ci+*-@H}N?Q3zHl1<6yLMnv9=9ce+2(j4 zLj&*5Nzh7GX+=+fdpKsr_fWpwfNxFz;ZBln|NFFH;s0Gr!94)n)_1%E2eMzjF_`&( z%=hhuQ>h>B!jbf2Gs3B_-c7*|0XW_}QXSb_!-@#_gc`?U(;yeYP0^qXxf&v-PXQoF}58pzKfBq!s zR2K9P7ICEURWuuglcVSfMCCj3>Sg&Z>0Q@`x!SWxM9oZH!t!DO5BKeDC-B=uo0>Nx zwyrO|3dO%Mjcq>7r1@<|3cdostplqF7}8AkphKbltMCcji7eY7NNLZ;J9cPquKzdhI_`E>)Z>pt%$^NcabbT(#_oV_rTysdoB{H z6p1!jg&1@b$8}TRo|6Cc_M4N==Scl%^K=6V=#D7`i#g>r7=sB#vNsSp<>bN59}`BE zef4FvS$vvgxQ%3Fiko=ol8EAI0p+Sp;h&!*CMH@x)`AVTutl;*6c+9QxTt=yggrb` zornYl>NNm(v3omFB1eovT7otE8UR<;4>V)Zma+(1+DyTf06aFZu8IRZR}XSL)9Td# zJl(ya1#`AAiIWl5>;?dibj)wYHka9?IW26on*q4DzOEI^bShei_4ytE*LEDQVNb+r zatBogZiDme+tz_CF0ak%4zPJ{2jJZL>MEIMl;i9TOkqC&;I8^^0!}UQ=qg>d2LZUf zeOEK~_^cMUSMT!=0GwYRX=38z?3gus8h~>K4zyrjU%}z+EwVi8F96)#Py5tD98aV~ zebiqkLF%KdmDhOd)5-kx`^)Cb=`XhfIE7QSFp=xHj&k268a$k=M9Xtk$FamW5Ra2 zCO>}%uF1mY05?VHH?cjXh_{L;{-X^xK%&pM3W+xTH=8WQ+3LM6(M3 zI9fki#IkHQ85N7}o&mVIPJ(?=Hs4r~EH|;G2H@b7m1MNncsX=cfHk`UfF}nwlL7JE z6fY9lYK{SLP5-4bCRrx&K|CAnw;@QJFeZz|agH#n4Sq5SI+c9`BW=}0M zAUay#QmhwANm^1k$t@Vd0nrenLvNWyBj8m;>u|HV)@Z7S?Wqh z;^kEM25f9;mkiB?SfW(KH^vOzwB$TE$%Neil^3nEQBD%$e#HAjJSUL9!GI_x zY4g7Z&97@2Z+VoIfq9;VNG=fNc)!N+K~ghBWsb&*ntW)IAx(t1Fgt{7pR^%Eq}znd zZV_o#Uhrc{@W%{N981VpBpP+S{F_OxKIL4~xuzosXElo_V6!HQn#D!`<~7w5P|b;K zJQ7Z7YBXgtd&721IHi)mR!b~nGY4adAk~$_ldWmW^2)g~_T>k#J6C5p<8J}Dzr3;& zHze9?(Rc^j>NoRWAqw%ZT1COC3M>f*;QX$g8ElByMJeoH z;9miFs<^ZpH>BIk(PRe`;8{4+CXyDl7>v`K1^HICI|m0;nN!1R$SP|=D&4Sr4oqft zc0~!d45Nah`B_xdDDU3@@0Rp}9KJE@&fb*sr6_nFPNufHh#L*guOubcmnryn03Ivt zE7DM^l2FPV;ROKht!$`a(Gru9xq+?eKcJd*oylM^q){<29lQv@!-ZpAxZIU&sC3h4 z8I}Jz2|ATC)kCegq46dDB#I`N@PB07mjL&L@)DwG0U`>&%0%%mAd0=syYskjF{*fa zUqV$Ug$Lie46i7j?#!B0i>g`NK^s$<$KTrk;w>>OE=sa_>}358y$46VtAMBZtmSLH zYKd)40&s6>j7ZAiCozhqb76Tl=yiE|Z3g4jC})a&3+0)to&>zhi^p1V+x4kX^L35P zh0FoqsoI$WHmFgPV5P}&SbhpLJkqnKfO+CTIrKQnvk}h)yqmgr)<~#wkWfYUxWe+& zfOlj5ObuT@8)bagJ~?6Q^8oLO(#iszkjZEdu+-xj0Pb#CUBDreH62t`rcuLCPQ~FK zk_h-+W-VZ+y*>+iU0oz{x??HIcy50gWm&KD0q@1`T}A96d4kukr)SRraDDeik|z}H zyin3}lLb&th51d?{Sd9NvGG0+o6VhW!bO|+nu6wI+qVnhcuOP=l|6ow;?(oS7XY}e z^JEF9%dtqNlnB!u+L1}nrfe>stKpjmQ7UlL*V1gW;p>2PtYuXV&yc0IJB?y1mBS(+ zhefH~IXrEYFIcX9l`pbx7X#km`r;g^c|Uh^F!eAi-(P}Dliyq;R+;oD)-=nsmH=>9 z>yZq$@j^sHBFjWy2H@JkqiokqY~5Z1;PK|M zCfqkY)zEuOI?D1pIMec~A}u3TqrHI%a0LJt^Rlh~D1{nAT0MAt}R9F#U)m&^q zE8l}*d2SwuZp+!ix9YC+8vwk}yrqPTJW3Z3&lGt5twzrbc@kaY&CNl~=-vT6Z|EK>V$K&uygR~d zc?$qHb{{2v%WC5|Rb${*0M5^EF5cT0p2ZLBsjZ#R@LcM+3M_u4cCXVWZ|i=46!6+4_ux6LSn6|(_*x`m=5oSVC(J- zma8|JjHR2|((Qx7Z{JhIRafgGRI#_cs26!qC+Zh6n0LiR!QRL+qXU5VL~59L=!<08 zZ~q5d_PBg-680)1UHfx&lVajbGH+2#3a==L^?wxVM#ru!ZZXA2QL{Pm3hVzE=znox zq>1Q8KlVDIS|DvO6Fp|8oDFW@p& z*~+u1%&hkmoOf+`3Fi$$BqQ=^I2u9S7nL8-=QeV zE8DTdXEoU;%Kr-h+*jU74eX|@J9i`N^B(|QlsT5ic~9=S7~) z0f0wK3u<~I6V&Ud5da>mU7%KfgUMLAk!i%&0l1=newNe-X2PlK(jow!EF5XZCP&Pr zI5FF%dl7)!OYi2fr9m^8Cu+CF09=wbZEK{fjI(Ekzu&z8<~VNXa?NjlBIC6Kdt zvWlm9ti`LH7BUu$G$u@r#A{pU#jlYZ#NVCu6>e_w$MULaYF z!>3v7EY%Ck%fPxU?%$fhvysS^pF{%BdVLk}UM!G?)%=}ALGNM;Itsw`od?S7U?~`T z;C9;ZYoOs(rQv2A$UcWY8O$t1pP;K`aki19?c0W7AMI_g01YEaM|0pRj^47lH@hS8eR(;-r2c~ z_-|MDLR511JjYIQ-U9GYWvGDb%Sq8b@EX!LsmDOm3rcHsn=@(+`nDYacQ(&2V_$h@ z)mxawc3aj#n=9^aV@q)NV`;Vo-vQw68gaB9hgo&oEiAiT4~Dd(I#$E3MW|%3e;pNB zV)tFhTU}Wtv-LU@tG+qD0f0lT`w3_xCTYj4Q2HKdcum(B(_>V890^>3okjxQO_ifX zoVLZLr|g(*i+mq|$IB~fB$u(8tjrO_ZtcFk7swGvcMDL5vEHi1n z4gGle9Cg)xlb$|@<;`#z()&_4Fh=I=eQRRQ?*QJ@)qPcL^Vn^6uZuPOE&va;60dsK z=Sz)uexV$v_0)S?F4t4z-Rm=Wkl1eVYZFu60=2!omTiF;tP^$r51>149nRx6M`jLc z)v`}9cf1wwt}AWm#-WJW5)50IJANO4+sYeg!zTb-$j4m^>d6J zpz$N!2Z}h7_{<&Q_-ENM_m2U%vUyD_4h3S3K|fBibQQ+6>}VC=5z)$bh8@fU{se$q zORMr&RNb;*^)NB+1Y@4xc7P;qYHTiQwI*~i{uHiW*HV_tTAUN7OS=GgIKPUPrNN0J zCM^F9G`zM()_ozWX~pMJ#l{Bp0pK0aA85kagw>IY+nAl~f&Qd2w~AdZv&HGwPvCwI z18p;@0?Q_;p=30$Tyie}H{_QTu&KdrP@;O#^&tQk)-IND`BO<(<-Rl%{yymc`j+Le z!yuS6iD!NO0)VT_q+GkKi6pt+0{473kkPWFf+lS#`InPmP}x}Bn4j*cHr|__;i?u~ z&PwW@U_WY2$zo@gJLB=RYzy7y=6*UQ=jdGt8T$Tc9a8%PIPQ9)=ky_2q=|=k+-#&ku}1+?H>Tq!p^ms zdZ6K!ss6CTDoNFhDAGJBE*}R(v)fmd>kVINQjJlYWNoq=jL{k+`Unt>cAm-Aum4o0 zfu2LBDzqrbve})0GOz6{*KG|>Q>epbcHpK^?_(`w;7R$9lSF=HsAX4nnxU`eaJE&P zxrTTlA5%Iz6iRmd`R`4Txs_ARqo$6whU8Sq60=*pZgWE?y?SLPD*e$USx`CBwk0*a zvFLV)Vy;n;G}Rk!t0-2Flb-jSm?UffUG;aya3^j0Bxrhm%Wli8?dTCZQC>mrjEYLq zDVVyW2F0m3;@)DzfYU6<8Lue0&9<;XG}-By)1N1a)5>7;hQ=Y3=aK1uWuf+%5y_|_gPe#DJ2+nX zFQeG>RheU#Cr$$ip6DJ@r>9jx_87cV&4LoJOR_htgl?kZwvaCV0=ih;xx_kz?r8LP z37n*w1#>89R)Yc(&5B@-1g&aVK%s8U(JY^tRQ z$wunz>^c$KWP8G{xR_7=KLDOfZt>toUMMHoZ8uU%Pl9%3d3CfASI?l5sq|M=WWM!p zfOlVMO9mSpQIlkEV444Uz`LNl#E3`GZNc&j=#~&WUimxV-CjK&!wsaqk51J07XUaf zeKwBif$qmg(EkA7>el5ke4{}q-yn#r*^2-?QahmFM|+|jU+9jsvq~F)yNaV4c8JDC zyCAbDeF=cW`K4xDRE@5j)xZYyF92RlZB1d(kue}=ntA`hgwcKc^9ca1X&iHrmEmkD#IsssHUO6v#}k-9 zJZDd{KA!~ONZ~xjAq%l2vx#N0a~57+m)ZG+R$R7qu0$oR>kXFFKLy}}9UJX<6v;x% zD@fwmM)_O-AIP4`VoUxTsBF!xMl5l78uYxnf2SSu`Ok@5L7&h(03ImLx8S_P=*ej^ z+p2g5fZJQon6X3F8tg_JE1re{xVvqw6+28uhf^`JeB@aGZb`0<(c3vh{QB*j`2gJ4 zzRiwj5$m5xteu@;0PuLv85Z^7A$U~$Wpqm z!(KbKsbpQHfE&}RF{y17gV8KAOMMZFzHMC$f9k zgF##ul~FVxSYBls@e+WKwk{wVTzwI_q{?EX-|qoUpQ%#V7BqdV;4ec3FP%?1^^c|ZgJtX0r@hL$aL^E01lV-81Mrv?#7wTF6JMW18{$O9q~z4 zmE%+^Q?u8h5E}Q`aHC1^r4$2eb_D=0mdUc&LYjfpe@qB(0PsR_X$D)cS5{(r{=X84 zeqZ6VM11IU-G?&w{0#u_&o4CKvgfL$sNkORGE=lwpy{2-lPP+6NJLf-b6Veo(`kIy zj$15(r`2p=5o0v~&$aFgk+}xQT>WgW--6RgZMG24ExDpb1JmC%P`UF9F)s7cj1n^3 zO~?Bt81L5Hh=j9_J9nX+bH-1YqOFCq&8{@#nyoU5Dq8tfHl4RX(~H~olR=Tt%|-O% z(=q6mDq}%B#9M^gzmS=4qVTr?yrzAFii@jINiBR6m6>6!gSL|#PS67d9yuG?e7^(0 zRRhay7`cLow}%+G9=h7r`5Jzp!(X0@<8*_+`CRZhk+`VA^`{9#mL zV}1v~=h`k|+`${?qjn@e%jWwoX!=ljzlE5zJ>h0qU|4<+@GfszOx#HM>%_|x79pmQ zTLABh%*iA+x#AARnP5uy0{|{)9CG6Z5xJrQ&q}wgpyA`SZD}l*Uql|MG|}+;fOmOu zb0fV9H@VTh4ThH7SqqMsBu7{=ut54lsB$fb$6Qq2il=j}RgSCi5AqLiD{fe!opZD#ADo|M~lYCKY&=lfB z$;f{SM!vgzBr)C4raoYqCD$qjsmXf3d8V`sy9}-dF5vB@1gDF$# zgoy-nEub0IAQkLxAlM~UVvU|7s3f|HsaXMdb*L=OTk~lWFR@4tdg0z zVK&+W06dXBV9^uki8SI@FdijWW-#v{%IDM*=!04Gox7@HSFkveEt) zW{qu&tvKPZhT?XW?e`u5;QHi6vfMU5QPlt&(C^@Avzt|HqIWN}MmC_Mu+RK*5?b@O z`^=d;*pB+|VV|ksj8e;8`6`JdA>n~hklgqLsAdqG!?kWBQfG4vXM0`!! zoxV2XV@~2CT-ByI#9(D>h&W`{=RcvJ&#zW+qfH4UHItvp=n{0LExV$4oe)5^?+8J? zTK?A+u4y<*gilJRi4PkFUjSf!9*I0LqDzSk%heu#;c~-E8;=C>KBDLK50RC6uCP1= z;BA?`3eMXKbBV$f^~~o9(Db6*auaS;V-F4_ zE6-Pm_i_^NiT& zg_-;?0B4ux#W6pl#G|{*Y(UQfaCy@S1=|daldbH0Fq!!+^X+&A@)_G+Cuv+WJ1z(C zyP0z&4;Rg2sDjjQ>%}c-dc3+lji;o&>4Bt=-Bx%WfS1yz5?6e&u@HdUl6#VLIE?a(+-fVEflotbVOZr_>0y%O9WMZ3P#Nq2BbVGH#)Ki`B64!ePPJ0^x#0k|@~f%q(wVp1k5{LvR+R+1mA*)|@b`6u1oVqtOx^bn=} zDeSnTAlq*(veN$z0FHK%{O?mds@;cpW-%)PxF&NTi)~$AgVyO|3EnpVxVf1)XNO5~ z*^MR^)K>xUOxrOl_Nm^q*Xm3n<#?BV zk?mUmT$h|nK%1B389oNCfs?6iH(?*i;k;&jXW&f$E^b~z9fv#diDo_LTnmOY-gwkY z3*yDZn;G=b`4-?knkRUGlZ^X zMJ<5m6_;9wYj0mkcemcqi&|)_ZF8;IV{vA^W)Jf$--D8BKV!ub)FQkJ}FW*Tn;@L1cz6iwYd zBz0%{v>EDC^8p*S@e;Nok?k|R1Lc%oVZs4fviXg=%X$}Te_=run-ZGA9M?Z+cn^$s zb7f@|UqUva`cI_kfp-hw9WIP$I7A9dzoKWKKLFsI)FlnK*(67+rl(?CUw|91gGM6$ z=D8?iuRY1)^7{ZjUfiYOL)bN*!p?}o`y_Jjpj)!ZnmSo8Wu)(22=TE@-TWzw)yu`!j~12clg18^@RDE}Oa zqJGd$vJj!|I)RFjl&>%XR0r`D1>uJPJe=N-NzrU2-c4oW-3P`y+Oji-tD^N3stD?z z*m!>dLw@sq;w=o$v{`boI~V(*6Kda!=_v&%emN$_U&17%ZP12YYf#1D{1(!;2o3<= zU5z8oEADvy3P#xU<`|w~K;^q7{odF?=#LA>V)!l*mG6{z=16`GwK%tkWW;Lfvq@|E zGjvFYz>rpC4<+$BqKoBkBO}kYRDT2DmC5rFT<4`x)Q=4M(jA80Ej!kT<%Cl-#$C)^ z{}$SO%Xkp47d)u?9l@!`yd!{jUyeAFglY^V%_ioqe+R$=nR6LzP?I)EYh=cC6o9+g zc5KeWp}el-zlW}*I7n)wtd~O>J#HO?vAt{ zWTX<<0wSMd+PQlPp-fqUTYIZ!cNk6XnGt4N8$1pvk zP^F0vElxvqN$*NvzQNCPQ6DpnzkpunmKG$iZ48w}?JZQ+KQDvsr{@x>xARUO74&y> z{tC0`t?jyK066ImCbDjLsdRS5=bAJuOrBAef%FFSkiw+txlJvdI|B~ zD57c}mCpf!bA4O2Du37gBI@oy$e(8|{0$JSAGoAeuMvf5-2xXga`X#{n0)?)%U24H zH6Cd9< z8kASzY-5$X`5q!^j8L?P&Gr%?m{%OdRS)s17E3hZ)f%s&1pfjAEAwZQ)lczUON`^P zy&ON2ieqr(vN#U*?9)10RPSBQ)@ymLbq12zO`FFjNxaI*uH)AF%|5N_m5d&C7rtyK47;a)1)e0YqzSyRG$l zLb9kPEpmUW>UWuB_A$Xzfaqe=ZgYKBi$>}equL)QQJ$rTad|EjLG_}k{*@{Ah^7#t zq`@4syV%8-rvcIV{BBbnTLhcTd#|@jwB}1ZM7NUX!GYH|YW1li%G){NM&jjL8%6r@ zH_xf0wPyg~j^e3Uy=O`shoe@D*{WKd&IIdn7!b{F+hnfyVSm}D+7n@`thI*|S5u;A z;S6gd7B)jGo1ww1Z*j-v`LLydaa+BQm+tLGyyiz@yN|sR7nh#{L`w=|O5Na4rO5S~ zL3TwgnJ>}Lp5pQXK(x28Myr3ZL5bJ}!FH`%wAv+Ir=ABy>$2l&{n3CCyCp(oCkreX z*q9aqqI3N_?e$NZknG}xEU{Mk6N;go61@P3wig$hiMpgdA2!Q&P4Zo(iZUDc2p~Gp zyGyOt9M-%lnzOeDUA+#2%r1+49nP+{U#nLiiK>dzDn|!YNpWJ0-bh+BN#s{f758Q8 zYLVUrD2SZoj3@@z9F(MOy$IS`RN5`q8y}|ci)aS_fI~96Bkb{(#eiseaiv_RR|7@c z)jr8?Hz>i+vzA_hhSfCJ`mq4CKuf=2g=Tiz{Hlo_|7PW97H?TN`50RJR__c4KSi`2 zK>dQ)>qKJG!HL(|nF9>V!;`djWo>nv7q=Pgqo`T3>Cyh#NtoS^_2FwG_WadhM~>Yr z0N{%Bmy8wV2+BbXHM-XmKKel-ufOFecyGWs9 zzPBJ**c(F&0eC7iYR5i<rf1B%l$a-Xq|_0_O_>43|s`@i=`0xZjtYbTr4OrffB9_`7s|4aH!GG2K6%F-BuWNlA6LN72iT$xj^Bi z06tvX>cGRuW9)hsIZfSc69zQBq;5N-8L}+qVM1Cz}_N1thhxntKlEUxmB@njR~x^Ac@DHvhz+ zR>Bp^%yVFef!+(1+2-0e0C*uY$AM=>%-Q?HYKHc@3iP_FX*rc~z})dP@|#$__)Wlj zF?+~PZ(Cu~Fw4kR18`S$y$6?N>%ApOWluwX3p9MReb9qjMDr+W5=^>Tt^vG@b0-`) zYcSvO@dJ-<0&rh$pA%<^HfAKP-{8VEQCUW(^9s}C^#Gn% zSmGh-=3$y_V1DMipy}blIUByqV=mt5wy;uX0|1W}k2|Q+xQL%&gZds+^5(-XoDfNQ zC5Wsv+X#AHTsrHayX34mLw2ua5a~y)T~V?@h2h_IIGW%^q}9*LN3jeRs0m766`T+2SLm zFIT<^@oYQgJphhoPI&0)VuUz(cGkTGfb+AnZ8#!JzOd22T;C6X7?!kMaNv1Jm3p2= zRs-`BTcO1^?eyV$4MO=INp}SAL$hjM;KeG>c}P{wHcq#}$z+D?q*uWamGtd}AHpRs zF0$h_C~wYx3*{{AanS7m-qpU&Pj?>{(cOoyv$gpVi~>z$=^{LGgeRWh+yTwGeBO)m zyz!BoAV0(|3;=LlX0eTatb13^>|&NP4!|Q##C2W1O%RrU0*17qvfhdF^6j(5obiq) zME0QqfJZa)sLM1VqQeuO{HIV-Z5KVbCYxt8v7i=~cLCnj`3rX9MjDNgXHZgiK|ce$ zYnzXHNO%!!WLV63?S^h7e}W9lV7)76RM{tDAAp9}x9xFeZM@*KBHqfe4eC9BcTsw) zm+p|>K_tb5@pAxfYZ>=pwS1k&TDqR?8SaH^n?L8poS*pdfbPdX1mL;W%}x>lgsfZ8 zKj+*BhBUirmlM}4G2#l$Sobl%0K7|cXY3fu^lFv9A+jHU3p2~?xNNfDRZ<*xvYi&t z@KEkN6@-5+%1Hs;oDTrrOEe!LYdaytu>30+-)nP-<1@IIku1og59%QFZPn#&;;OYz zmW(#`o!zgYoSMhH7`eg|Cx~JB5NLQ)cDd~eH4n0%TM4TLI8{<@ek09S)^@yWPZe@hH^ArjaYH=l9Tg z6_2s-Z6V>C?HC?|UM9ESjuW!vi5W%xF&+T!$sZ>J%KJGkr(aVzeuWz$$%;c1NQ@QP zuE$3JoR{5g$1Z~saY`np{U=}!lv(b<56VLE(?*f)0Q_+hBn5u{oU58Qm}lIi7~%Kcrk&?a-p zN5ZAyI*HE|c|L4LdN#axl0j2eb?r)F&Q98O=*ILC059|ox=7k8-CLPRvX=nx-M)Pu z_7rh=A|fvZ;J*HC33~1_wLk{Sj@bZsw0|r_Ib9?VV0QK@0LSZ_{J1Jg*OUa2J(MsC zz}*9@lk~cLBssB?uK{r5z#7arE0Tfrxg3B;`gb(2TjKo0HRaaq zzYQ0x`(Ol5y*U=S>L$!IeH{STckYN%yR-!-&M3bFz|-|{;)8hM#tJg950KXba7o`0 zCr4RQIuAGM2bi3GZ)*bp=XC8Px~HieXR|Wz_5DfEu8eeEiW2cDW2hpS z-qMeppbqtI4r4y-;*#W>^y-TSX3NxCJfz5RM3eN2=s-X1NKO4|b0l2pB zC=r8==&n__v|Vtt{liYoSML!~H~05eaK67&=a4qn0){o>Y7h=5GBZv*a7i=ur4RMx6yS`R+D7Uq_4{_0q;nil`J&G z>aOYllu_SBGE=9AqffcB0~7#`)ei@8jVInn5ZRI3LD1{+-eG!DZd`+!ko+zE_5CX> z^&-84BivYG&u$0hLjc@bUrd!-m`YZLDd=wic(QwY2=n*UIN@IX@s-2S2lgHyZjKi| zN!%4%)89h9A2^ewZ^F`>)@-K7pz!PG0z~hn>4cLVg#Q7`w|*glJEkTZ+OO8%F8BzB zkb!j}EMCoX+%*y#&}d*#Fz>by89OZuISy=NYZ!Cm*ezi&jRpL|DFaa zzH2@f{5b&5?wyN?9tjVVseFcAX@iQ=wUJE47Ue$vM&>*KxAzY=(#4)i;sgs@7vPfB zNs&YPoK~5b%0&R~?H>+P<@AInwEmy4+3vG!w4WrLEN{GYg}rQLA2<0@h-bCazn~xM zI*jSVrW}3ZmR(C*b{X8`=8Lf|JZ zJwE}!rJYBjG#&<06YKfp6`Uly=7L#{i)5Is%mLuO?n6P60+VK)x@?~U;P&2;0F^CK zFp=r)JOHljIuxKjw~P2(b`|Iu0M4nOjWR3K%{M3y1MqCeg+}5zIaiF+1^*lX_jF(M zgDaI``T1p+4gXx{db$~5UP~jBUMMUCymR}`kce0yA*ASKlX(Gvi+dJR-}wpRJ3q;M z=Li6Y`q%j|RWB-GcD)OL2YZe-lF1lvD@~*#ivT#-cfJ8nA*M7S=(_MC?6YfQ68G?^ zphAE)~f(K+`op1FUm3oedBN$ObN~h z=yvk-0@5Y)8URo99w+G!14RbD4#3sjdlK{~54ggPeorzFC9|}(t z3-1DOQ{Ot02>Trz7tn7fya)YB7nvtVvSbv|f7fLT07tt>>eIlpm(`hUe*pbo*X{tO zD?;xlvuqWBOX`PR#4B))?ui)s{uNW%&*ItSJhws5*?ZoF%LXHH$ojLcKZ3ShUlPU* z>8skJ>}o$rNTDn5+D%-e)xvSAemmjEKy!C?4*Q8Iv4mfKlO^Bd03PZ*Pc>IrOSgb^ zulp0Ip7mWW%wOHbp=q5A+zAb_Z;AhkOyg%z5MAedB>40aG1NKzCnUk;3=#TitGvQsC*0%j1L@WsJ4h)LgIuh@rXB2g5!W-UhiP6`b7~H zI}s{3O(bC-fjOKW7zty;btaCxUSn^kpMcGG9Sc>7+LhfLGWj{0pv2@qf;pV*A_KhH zKnfQ!hv!k4X=hwMHA&(nZHzeUk%k+l1;eUYkje#~*Pq)s4Ty$%<^<|Q*T~ZHB`Yc6 zZ5+qWhyMbI)(*^#*Q+9G#3C1p3&^1BUR*u{h%R=lO4YBqF_|!1C9%{bOJ=ivPvEbB z=w#>iNIleW(^P+0wF)So5=9q#^8G9z+S9o|RIg7D2dtVPrb?n3NDr5cs5~_+%GYWFSNfLaHK7{e!BtcYJR{4uCs~Sp8(UfF8 zYLEAog6aN zIHW2zzg7Q^ejI>Dt0M+%W1m6kpCtVRfTuftKz|s}?1|a+3;a6)xT@*2h-XyY>ARcs z&mn&bzy;N12Her$&9+DN?^1RFa8Y#|!bA#1yV1i^l%D}`chf!tc3JEVPP6{G>uvz< z$UKAaw5&gWb;?(uzr6LqB&aH56^vabciyRZSSq^*Fzzd_7jeR6cEy|~{WdND59U8a zR0bg;0~XEp0`O4NY$KI>1Ccu$&xZgU%U(iwN`pOpRg~VS4aobzcy^V`xDN+wy>b23 zlwSbGW2F%hR|DQ+#qVPx*bl&M`ClOV-EPP_@oCyG0eCpGlXQtmmodG|1E9;@Ws-+E zv`AFb-`@BY9BV0t2hr4U%h#@oG*iZdfN^WF7uOT+{6O57qu8$jwliJDHuikJ&tgr&FCVw$of1Al|6fccm{*fWu@<8(<37Q z&Z{jG@T|6Aab~OjO~Ww&UaajW0}AA(SAu!Azw`$HF3X)q*kUlMW=Xfc;{ZHcTP)#- zN=(ygVBkjpJehkB;l6}7+Z)%-^nTpH{AV|Tx`ad*!^25+x!7yL#Etqb|uf! z-;)rm>=o#Dh90v-zXS@%e*(+7rQL%QiTghli_c^H?q463_~_1?f!Af|+c{HL~ZBG$Zwh0r~#`cB1eJT*uygKND<7 zJ~xTkl(|h0;;N%G4>j4V^p;dW{u|(2nky1@S6rH8Vn6P89$=fYcjEu8`>X#m5GYaX z?*Q9ge2l$&qZz501mp_EeGc4nPM{Yv;HXah_Tm$ZC~pTwbEAq1!q{gm5kKdU^nUpJ@_p+S1rzQ%ss&|Hy7GXm)0%qX7*;9%D~0&cJ=?ENyf)d#@M zt@C)?n7)5jGW7s^CUUV8A%=gR(j7K_uP8p4aQD%(K0me;v4{#s>c>%zdW_qaO#+qc&A3g$&jutmk z|Dj>K(Z;rK7EXe8WjDz+vM%DdH4=rXWWOfAFbRKIInsRHI-$`c7#tRNR+Ux%l(f|+ z@~S`UtK5-t8?1sLS^AR(`j}aOI%<>H{#n0f_N0BmV$v-b(jIsEPGap2lPFn@j+i2K zd?uha4umz)NUto%?4eSFLy|oflO~|_wKU^h^fbtLbAx=f8p%zyD`rpB*>(^6Em=UY zHM0;^6SmmYtKzN{w$UgWm0tn`C#pLPRXYEyCtklHMT1OKUIGX%iFHaJX%A)w+b)tLTV#aNDrQ8;0!Am1~TwV%@hRa7$J@3ifoHT_sPOwE)Il-=U zzXFI3b-pIliPQaR$=}c()l_f9MjauRmrW9Rlr8B;>Qk{Z9kmK3r(#faqfg4ClQe$i zcNQLHPGL>rlkTQtK21vl^Gdt`F2UD-A##>1EP(U z#bQ0{i}z)`7PnQgxNRot4iob0lSDpcZutmLgfKN&&3F}CXUwE|t<*8byFsPXPL6_6vc;G%duy25YEiSawRhbuv3-neWNBssxlj!%JDf#J<4<_$IENmN9 zrZ+guK8wNLV3ZWs0Lj!MHkJJb?C>NZroZ~8)Vb@C=roJQu-z7PmL|(2ja;s9=Jc z)=0pY?1_O`pji_9Ed@6+gte*kLrb2sQy(w_99{oO9(ydbywg*Yg#aAu*-BCYpV?FJ z>H+-)0RDeey?LBeSD80{&)xUBb!%U{>Qq%PRn=SdzIRu%Zy_B*$YRviQ702Muj4rL z&O0+df`lMJLI^=5h$Iq3M1qKjgdidz2_hmPh)9qSB#4L@Baa76X4j8B zp|uWxmxq@+L8@eVCD&-LUpa1=*Z1G$PRKlNy!Z@Acw%sih8z5fzu=Q;{P8SExV7Bx zlsKahsHO{c-vS9Y4sYae-d6lIUN_+ekZ@;zhBR`RG;#uMz5ksfd`3^|9zpoX? zEiD-HxVKzx1_|FATqWVwaLxT~W9su=0B#ys?o>xI1BR?Qxo!cu-WalR%9N~x;U4n+ z9&BXqMuj+a$*wZodBIiyZs>lNy+!YyhYjgHP4v!BA~&Dwx4#dHJk$3j;_!$6qdqd> z-yLi_z;2dr!?m_#k^XS^!GKI}_AOA!7-{@mbExTG=m!S?9__wN9KIfk8(NeGy*~uG z?&%vL<45twyzcnf33a*u4Kko*UsFKw(=g&k0NmMsRVH$6ey}A}qDAfk;IYn|EdH+v zq2m7=4%5l=j{&&3_Yj%KSrV~%uDnuFN4hwl4kxh zy@YJ#c$9Iq<06Nf;xm_`#@H_A_W>I@Stg>P;f*u@#sDuqmCpWTLe-lLA^T{RI3HG+q7QW61MuadagV7as~2U#ht4i0^p6_#ZH$E z6Lp_J)&1vip!9DLoDpV+H1~?m!vH+qzgoww(ZW3~p(0&o{{;X~_grvHyJUX2&U6HT zhX!u)j*+n=nj2LA@)jGsLnI;)oWV)Kqqm6tT^&#H8?BRlCSCXc6*N!f11b@_FO~4R zt24)-BkDfGV_o%z4aHBb_iIpmz3Uw9oA_Uiu}M@2#{sx^kj#V0@O-c(;Et8oZ>jAP zk(h7EIX_R^c>>CIXn{ad*4^J6aIM#`0eGr=r{GRIJg!Qggg$j(m+q|L>9Mg<_8ZvF zo+XYu5p=I2(*3Nb;Nb1OERb3I@PB?dz5eYjPM)}hQn>kn=CP)nhAwRIkU+*~;{(m1 z2KveQ4FK*MBJFIC*4_7^AwC1Zr9Ec_$MTUfU61m+TMWjJ&@JxfP1q|v?~o}SG2uSV zZRa@vp6k2f$X2l;E7t{ZwI#EUsAJ1+JI=;8+b) zfD`|x5SsMgbYTZN&VCXCg-KtA3|9t!h2x}qAq~5T+i+K!-n}L4BBmd%SpN-x>$;Bo`cu#NVqKAl>U>j2!+_bW#Yl%Q8qsdD`t zfUgX#VR3u7`E$hdf0k~Zg2S(W73bVj>#Xq6+WrF$qV5|a@kPYej&<2hAlmE0^RUP= z)6zzqn)eT&1@C*BjN5pmp*a?%8^-59H9k8%Hn2!7wTC0Uy-_3ie_CqqatIFt!h4-3 zlv37TnAMXG7ow(3Uoc((2rGwou%)8kSB&eDe{z)*7gxy(0bxVmLaj6_8|%KSP7Uay zMOSwpeQLadi#s;T_@0KsoV)9t704?2E3ks)Yg!5WYbFfjf|;c4*ybvE2_S4A-mMZs zuH2FKXM(yNb0)lxJvBbz-PyidEX`+^pteu-kv9Ak{d1BYM_&puS=_xvEp?{qru1dv z^&;;~^HcIyD+Ir?VBi8OHAE*bM5J#tui|t;N?rySM|<}0rH1g#C8#HDB`me~Uz|dg zgF+4rtuabdQl4y$$AgI@re~3#cxrq`dak^ID>wL!RNV9xo%wm4xB4z;M!Mpu@fqoo z!DUK$3F`IM&P)qtd)Qn3f1306(u2Pst98RWlyXy4v3gUP@<-e7fI=T@%g9dw(z5a) zy#MAg6Q6vo0y^=@B0b9VMvN$3``B86LdyQ( zy+*m6Wo(&YI`87xwlM2#4vEOGo%wYo{f_cKxTt_chM`*kzw^6ak8hqC{u>!1A`=db zMGP;$G5^U*loI|PheuSY`*y`Wx%OKC9*R8A;eJ(_)~Bd+nsgR`OCoP0JUbPea9dTJ zZrOelfE&Y)vv^uE)IBv3?s8`J3%|PP$q#4sYteo*>O7Lo&zsDm`T&cn!VKf9MvT{a z0x~W?QXyN)zka~wP2Sr%IiTkT>HdjD71X0V&Mgvg?R`Db+()|U0{!9&Xe#SiKaS4m z3&y4o1{~}w0Q(^q!{(e0)wrXRo`YHfGJO?oK$!8@kvioWC*d-XaK(d5wV``bkD{BDw4!X(V8J2hUbdPRZzcTR2@<}>ontZkkqHd?*f0$_egwdU=(31Qs?y!8I46#y@-C3;qwK$7 z(Vx==Up1ZN?*^FXCkQ8})!VVDMLHXQ0bn27g|KXAbis?M((M5SKE@G8ELv$(7<(mg zF8~*?M+6+^h3XI|(r?*6gM*cQ1>q^8^s%XuO5@;z0DO}BJB!iOL57_&Kuy>o0PaRl zvskoiEXkKQoXY+JRJQ9Eh}5TG3!WmC`4N!tyX-0f&)~T^(*<|8@lgOSMP#1E&Kh9R zSce<~xeou7%)uu01S1oB=>+yQknrp5_sEQ~_0Fi#HiugB<3M*lH3=st4MbxT`>F1{ zev2l*!a158tdra;=6?;q-?BFxQ`QmA-P=x0*(p$)iDyMTL6jaG=H$;h*lz*$7FWh% zby{R<;#46|gG`U3WfC6oYpr+CIbT#h0}{T5qFB!6WGP)ujll0f!mqJJHWPSZ+7RdL za*xVyf`mQi1zhI283d#E8lM9Rf5+a@ehQnKRFc5eWFae>rVjuJ$DK@JK(c5h;gq62H;JW%-c*o5I3CFHzJ_F z-r{*e*i5B$E$uu56P4cu*pu96u=u%Qp8I^6elqUezVs=-(iG#g-pPjlv(D7$Mup&2Ql*kv zoiQaJ&qzMUY*fh~fb_4j&#|TWyxXFlMxE1YCeW$X{AJ_mGaoI9wu(fn&N4Di`lP&I z*?1Gb^aNL`9@Pake0#F~-zU)eJ+f>(|7W?qVrkHhe6qtZn-$Kar#c_45JJjkcE3)FF>d5R^3gS-&+2}b{9Px!MmqOOpF%119tWupGw8HDU+ z#D@H=bFX!cyz2E2IWgsc=L|binxsnpct_qFG1OR%rG?VPgvTD1zg8i3D4VryXgBif zqF*po-k0rp=zk{VCbcCLYjSSjOOtCReHneaqk8zBQdsExw4G5!QHxUdx%zdW8~R7F zY9?&ONYaDqUw?gEuE%W>L8aR3qq(85;hr8@^ZK|Rul4*EVbuy*AHD#&7J%<~_Y+6p zya4IRQrG(p0B%x-85jCW^wapa0Jh)olXf(c0oO!5=mt>WN%;c~ zN81OIHFwOS5_k@PJN(}!Gw9iUxbC)I8Yyi8;0^H~#Pe7=OY+oGi}f7u{OzQyA5Jzcc}_jcxJWCB`p*#5t`*xQ(`r>%_1 z-vbHvs$_O8*FVH)ga1O^_EwN^vG)$#e_u!Sz`fnn`92Rtz#m|-UYl06oa@uK0dRx# zD2wfE&h}=i-KBYu>mpwS=lk2Tb$#vB3T_7pk1Awt!79^;-I+{t{Q&^4>VH9akkqH| z-ger^9U#}ez6qo&+o}tF?X<2x1PQN+kCRBrtg!^6mM)|G2qau64`A7!BZkJk7jPFy zxJ!MN#dA!l^$tU(?(WAR;TrEC*3Dd0^Hfv+x*K3SJbj>z3Hb#ufG+r7=J3b%pqA)I ze~en`O*DG|d_;SJ%ut4P28-I1M(Rjkgc6dzPr?(sjwp~5p2X$7ua8e|uIn@NvYrkr zhRnsO;C})twaMR1G&)lmeEUGQub3+kF3)SJ9=fxY?q2&TNO;uSfXnxHR1e+TNjC!R z2MJI6$xsmWv}MHdbSV4`fb-4mh>Y5VU-KmC6!XCA7?i-P~d4F zk9B{{HoQrCwZ}mqp93CZf1-9(v8T@TwbG<7!|pUKT)vME1X|ZuKy@zozJ;(|T_5)5 z8mJL@6@Y83MF@A#DuGhoIr|k$^Ez#&qGfK{|$h4z=C)H5OZ#XnVSr3jG(L zKJWQkaP6eVXwAeX8W0=-3HM2lak%)Ip=jaLZnW@A0NymeNyd9`i=)wWoE!zIs!(!A2{Ln__4a}0pn?QgJHHhrdI1gX9shbhe`Slm9Nqqc2k zCmltv1MrY`n8&<-*y4N>sOkDO02i5mBLeDet}gVnx^Hj*@IBu~geTnBmY;ZUXPu)4 zzX58nMI>sV@QBl?`kcC@t|!QVzo%o&swL##0zFtJ5k1I`IQB58lxW)1P<&pJR`=(E zn$LN-A}PP|`ndC7t^S`{L#_QM5?>1 z6Zwzy(Gw1UaLD%uwiGUQB_$(cdlL6II)t|X;i&lnTM~6uP|cX_jri%^c;{aqk3F_( z&#>i(Y^9vwxNwicheDh_L|^^{q}{?owyftZ!S4PitR&(}V7QlV*1rHq*NHhV+YJ)S z%K;flb(XhoQo@O1-hO>NirHg)zTA6%ThAdGLRCY{+ZdC;hpQR~Ak>2U| zM?gAY{T!8h=hP(?E#eO(!rnw(1HB#aG9X&R?Vp*2EJB&~yg`61gA|Rd-Hkl*rykQpg*bL*d7?uR!Ow2juQzQQY5D#-p zgCne7M(q9n&Z4RYhDoOxRO8s+YWY%y7*)(w<_M#Q8KyJ9F#bk{sjFj{`gt_NKY|R; zbJvU!XD5(H@}z>M7HmnV-jIg-oTawQ6=IdL5giVUG7;zb6B{|_y_q1%)h98`WS$Pe zKUK)YXo@F;n4fYxizd#dGs!Ceye3>x@TA(BDHCgI>Cve_18}FXDu_`HDW*0@v%Lzy zoANFV_oot_eN{3&2I%A_=oo zx>#;q{lYWIN?0A3{_DrQFtEO&c@`#2{6m&>mhxHFaM z@2JYsk4ldL@RD?#^mXYDhH0KdCA1WPTg4S&%+LA=&rQFdR_Ln$T*=+gh!DJ~sCReTrLUg=;6ZMF2(#67EXw8GGwcA|r5*I+CKjcL z`q60UNdRu*&Y8FrPY*W7Fx}L(5`g=;9i*L&-3-&z<(^>&;41D28M`%phOKpvZ?6L2 zGLH0TYrHVKCE@nx*8sSHUmwE!oMx80qeN@_bpRfguBxO$jkB9$O>{TZ8USu#*90({ zJcnT>-A*;(X#gHoPK%fc*Rf2<6~bBozQV2`I+U$pn2dW%cf(X)e*Q?_0Oj_OOm|Q1hqhr)@IVg&MCd@L=&{J-qPIUTVdkdm38t zgT&JOdoRQOhih&(LcuHBY*Jfd6UHp+w_#JnD?~z*i6%^OHDMC~PbfQxE$+ORM_u>P zl-~j124OyFXSt8(h6gFQ`Dy5LmJo|t9wOGQOu_F0@HATM!Kk^KVM^}ZNm~H;th9`b zvfjx&>YGGUZiNb_ULfYJw!ktquDN|43IXj6;`o#ne{6Cq72h@hZWLBVFe=bDD5-*d zAAlF7^^*HQWvvTt2jFIHgP)lAyI7`quKQ*t0Ot$W$Uqv#3_HPX$_}Wv!dV-mu2~Gz zJ)MF-giX=bh{Psz5u4CW7YuhkJ#NLDPk1pi(8RF)&9pv00tr`WM>H(n*T)L?_S1yB zK*ILxCZ57F-IE!HUbOM!TSTzUi`fYSq)!H^2JMEr$L~^!mm_hB*PTDUaEn2`FOc3tM}Xj9#?Q@GE;6#VEUcwMQCWm)t2*JjbQ? zO}IhE_4HnbnbG4OsE1?BF;VY=!GCOFQ2cSyxr%3E^M+3voX{6vw(ELj)NVYWgaL3p|0AA-;5b;gw z;kmKEXXAs{o-34C(;0^Ww5#K;RQ3Utv$*a&5OQ$v5p3DrkC9>4QAA;jr zT1uMIbSJ|!x?1~l0Ird55UutMy@2v%{8s-)d-lgFSB+|4pwMZ|=Pl<+zr99G|vN^?!27~!O*9>t_*Ax;3o z31M}x#DA`bco&61cTS)e?*AGPZm`EfC3bF_WnyU(S52TroCJi8(uzQd{}>s{9SP!T z=F%K~0|@8jv%V7lAhDx8wTNjfQNk%e*d?wrOROD5{A^<2KaMHkw}7xxz2Ge|_qGy~ zNdo@jL|TW_fN+Z6BA4>v`Z?3<{F#*BJ+ScxAiRS%g-XG4Lgm$v9GTwkrIT$yxXNyg zl!9|7`n|(g;k;SJA^Z+jl7wWX&ZO5lsfDN4Wryf&8xXdt=jGB!F_aG(f!dBl@pd}f z287e{HmSto0Lui)pzrz^ZRR;ZSSZgY&74Z64b^#u$$pxl_X$)80cEqi+0)J1>|8Ql z?sTqYY^BFH&Q~ZQWxKXtFSE%I!{1K~)<>gc>ekKC`8FV3;tptK62^?Q#6-oTs6Jbb zw$S-DART4r8|9|B;+Ofxk)d4a4w-j%o4gH33)tPBGDBhk`gCU(`6V7?oJsk`3Mr`k z%T>bZnm{7FP5l)dFd;bH-=rX!ylt+q%*&l5oJ!p%HPxI4R@+CmJDXmb;rDUex zqexc5D;pf=M6qPP4M^_^%e1oiP!)@OF*2g!3<{)ZahCyUH+M5!)~iJnozY^&W~!W$ z&eAo2KLOGjX`8Ri+GK{?PbMm%1cTb#`SPx1ODeP0V}bMXNLG#9(`hNGJ0iSRXTG%nu@z`ds9O6`m;d8=uV_Y(jv z_TON!TXSoKWxsJU8Lfg8Np}PXV~xUTETQ`Lp@Z(C6rWiTwavVV_p9 z9nA$jp)6f8{27!`@QQ#Z1k(==`!E&40RS%Zy`th7w$?h`r_-I;F9C49zR5#2_2sVs@IvqiM`W9LaM+uq6?zqb zOFSnfoDz}!;f45z0QgQ|J&XNWj~d9>w9KCa@LA6m!P!vZuNiv~=`a9~*?R=1KR-wM zla~1l*kxX4ql)b9O(-_q*mMMdn>~jFJWH1vW*RcxrT@!Yy6m)pC&~o?hQh|B6XL)g4(C=w6JOCl7`p4cJCMfF9qHc@syxZoE$J|nXduxhDqFId%j~z zN1>Z;Y(Eab{ecrK>FmrGh67o8e))9(t~OWec$O+OO_$tP)lL9#i~n5~w_AZ}ZJr?A z!1ZeYuGE(*m=ESe6v)zP>PeVw;HHMFRl&}Ty~p+&0KRKp60!5WIX(8w_9+0~G?r_4 znk+O;RYZDr;xtU@-_GH@u2dHkoi6vk0l@R-cJ-FUj5Dx5J=b&`4tj%;kl(#~27rh4 zT^`&py9YPk)=yRQECA2wD;2thN}D=J2k)Cu<2^*F2W4r-fFRRp>Nx=J@E?|NgU$sT zHFv+pTL8RfZ{~>|s(N5zz_ljl0k}`UK`q!^V!`O`JimuZtzRU9x9ddYt)+s$00(d2 zJcp-{fi!h2+qVI@NZ&7EIUC@mOpuzIi*O*BrwkmAYGy2?)0L|~+#-Y{7WUiel-HZ0 z=Is*9*0)N-vw}uxX27I6^hW@mv$hj^s~QhYluW99mjQTEUm|03PK#{Z(Mk^o{|SJr ztW_4SP8n9N$~~=o1@@~FfwDvau?lc$raA$GiytcXt)L>k@#nkMvh$alr>nKd3zU+UY;O$F1rhY!w z@7_Xri<&Gaa~FS36?|?W{QfOMSn9#?AnELYPS*#nL%lVZ`El4b?7&!4{tm#?hBLbh zw>di)so-w_aJ%P-7bk;;KM^u%%6~u?X}+UjIY_*qFH6h33EQdfvT-&UOJ!nlIs`v} zPRGB&z~RBq=K}+-qnrOYv?dpAoC<4J)tKHs48T+Vy#`K2ebK6jpMG*%0Kkj>8>%}5 zeJQFYUk2dK-~tZM2ph%eA=ln61mF(iJswB>hCkvp>BxQrfEPT@BbO{wA~71>-o6Od zR=Z-jH$jj2vPWS`|0V+`NmCLLw^tSe@Ri_Mo|y5f2PXzxrTz*44~LGiSoEjW54YSc z0pLde4cWO6J?|6TeU*;^aC>kui$9n2mOmS_>Hemr06gY7$m6nZ%oxygx>f6|0Nmr< zL573Kg>wQ=BaCHGLe_4D^onAo$9m;)04_1FnYemRUp#k5Ki%7~9DrNR8)SSI11wi? zXLnD){`8(9#u&HQT9v!@vI2m+{d)ym4yHdd6u|Tp&65D!V(%7luN|7*;|o@(FI09>c9 z)$k0Fa~wJ~Qfnb-Zk4gvI$ai8W>9r z<>?*J?nBCt!|-FBiOan3#bM43L^nJR1JO+~o@6IJH_?}*W92z0c+YXs$=0748-m}4 z6*88Rc6L^=QU|8JvI(}+Jgwj_iD=TlanAjo3Hdt}(5vk8zGLRitXGx-#4A(Bycwi@ z$JlR@P!!p9W80#?3&3aXV+!v6WEbxEr%vi#w*c^vbyCOv)|}~Ub7v3VyG4M{dK^C} zb3XT>-mP%pTZ=7XPYlP((?R$=09Sc0aJciqu4KnQchfSrK^4<)D%hGepc>QrX_?=L z1K&C-;aRfKFjH}#*Vzu6;#uK@+=ztSu5@=mqw3k>!TqgO)qO1~x@}9~?^F4FU;bwJ%PV zRH~dm1>gpAgP)j2!%B>q#-9Q3isuXodZLCu6LHt(U%JJ4Y}YWhJ;}7!eYgD}0QZ?B z6lLrhmhslQ3w+Rq`Hnjt^lls)x`%f5A!y~j+hr$QdWeKepLdo@4p%^*awB*~C{>fO zeMdy}7ER}AyDIqzAiU?@rk7;D$?4e^%iEEqTQ`3R2y1*-wUQjR1jlasIvn4hl8;sh zer1`l#VS3}s>Oqr zsdHww-tx7j=q8X8fbguo*I&A4R()$-#;_XedWY!(A0W*4?stmN1*eEWOP1zv5)gJd zqEw?gr^XvC-x%RHfN;{d;VZQ_-0_)o%=84jj;~6~rz(Vivfp0HcPGW5$OS`!)({gc zddl9PH0EdJRHq&ER+uWzMU=5?ZMNuP`) zudHSKl0!NNNJ|6PrShyWujGjcK9b-)5y|meIr*&$DWa?n9pk4ttrJ<15&U(U=+iin zKL2bd_*(b6*RntE_Kdu2Ea5wByJS;28a9w-I%S?4v$u2!VzDo8cx7i+PtqoTt zgQ8T#h4!kD;lFosG)*^w0OITH1@A~Oi9=y53*l5p-W&4hZIe^f)BfrCar5vk?nD&( zdx_HbG|;z>t~@{P_1@wx2lC0LLfi;28FvrjpDVDbbZie|Gv8(#b?p>;7htJ}$)qB&2)&Lsf+8h1E=lckz)qPdpt?_9cVyvXR55Vnf9#f`!&x>i8|Rs-pgLMN5%_d&w-=-nu`OB2K1#z_$;;SWHvvfN!!JqBuOM!wwC*MeYYhCgz8*+0bSg z^{(Vz0tvs(UiRbSv_iCQYMu(<7a-xxlccX4;WSU7%JWNrW#08cRd2aBWO{y6rPsReFK)jDUQLdlHUY`SJBdV$tv~vrHDsVLbK@r zlt630p^4uE!e6-y(NeIVV?`^YGk576y)hXOp5zXY92&apA)aY&M~+aje7QmhD)naq zWi=TP^;C=PZH`Ku*5q+^jQ+L4F^I|A=#BC$Cov4=l?>WPXyJSVQK9vMk`OSi>{ z`8A|qObHGT2Az9;YvtV)VqDqJU8x=6XUhyf+h+K=Ei8A3mzBPSiu8-c3n0t2+R5xl zk<5?<#&cgm;3E=Jhb`8bwAIQlf-E<18>>cIWn*rPLwZU?mV&&WD+u^an&n=QAg*M(giT z@(xRR<)IVT*>ErRES?nsL9uOc63-Qlr^>RNPqLe9oE(&>DQa1jr8!i~tQ6!J zEjyM&$A>vcq;Ea;1o>Dchfd`Hzcjxeu{M#CS&bNfmi$d2CYD8Pcba8WWbS69S>z!< zZ<--LB2i~;Xi$C))Z+tg4QWYSWreuT3Q6)esk2;){QR;}+u}uHLP2~&BY!o-8yrK| z{7zJI@Q~>KAjZXL&7}HBo_;R+4FDH#t1(XLlD|rGZ|FJ=z^mFTY1|OamFr{G15QBm zMg{aLf8&ni^6h?aL%o*?s1f=CC4f(<=To>z^ejM)g7q++qP_*PK8P0NaNbJaSLeZW zjr=?SubI2(dm~?LL;Sxw4&p)ubR5Kn+NjeH?yIqHgLK!q71g-Oip_5H#ObQvMF8$Z z@77{Aey_|t4%U#mHq<2)!e=~ZkM&$ErNQxlks0c#^<n?@}*AQ zn2?dgn2(cd9Ktd{c-CBBTk2=glpJCc5ymMXB|lyv_?7GI>0GJ7EG$L^BYqo)>^6F_ z3dmx;ak@~N5l(-u+2bFINY2-eD*1_92xn_b-MTiZj#R?S$#qT`wxU7^DbLDRbLCo7 z!(O54V`QY=5mhaE{pgc`w9HtSEi;8~hByKSHMJq8QK7plnt! zFidlv?!0*lkgn*jRF|1SLeLu-W~j(8N(0Sl6(H>qcBRYJx{>z^bziD6@W=gfu+O;- zW_5)WR`AN2vb+-o5nJ2HqK+6VJ%^loIkNKC0c($N4U?=w6AVGJZLw-z&glIvt<@S( z;09w=uFT~68C0vXOhXT1>J>_Q8cIq#oGG`fQnkuRwJjtlQjpW98F?)rUC>q+%6U=g z%@8-#D5+hwB2QoW_y!;y;x1;(SZAdMv*v%Ajrg4jMWt_ZtOKO?(E6G(KSyWyd2K9r zyTWjHwQ^1j{>=(0sDuya%0Mb+SdlhJyR(J|wEu3TnO(PUA>5Mt{M z`c73&ex^c-5Jg{ISH>!5seH|Rq>z{*t(2ZYPIU8+1LM)nN%Pt8XuGJ)^0V5!5U0#3 z5L;)l>g_(H61!EDKd6vX$~N(x*l3>T@-;+tLkQUkDhtyH>mEZeUG@RG9M@u9+CGbhpwRcmem565u>FOAf5GOg`e0N&t_ zCvl!vK3T`9pP=8)U{jQ%G29?(bLs`x_kI(AN5s8VxKmbUw+U{x>jAh+xJcT`E2A}> zO56F&E#Sc_JX_}4Zg!q<(+EL|*q5s;QiC!$VPSsyY!QzNK%*sS}=_+CI-X-+sbqD%P)-^_hp`S!Lk!wdQe~kYLkM`A)9q#)QtQp zsMlI~d9*x7<%)MIT=I4zhB+!vm-~MXNSoF3q(qU+dO70((&2YmtW0;s{sNHRGnd87 zO}w+%AbpCA*4v}>o{WP0;laFL;7cN7%!rCwe~ZFJ@2jM0BCUI+{aN%sHqv#L)mmkwMp;%V$wE_$z!5PzR)|eL&JR>nqD&6ft*1aAv(x%95 z{VEroWwM?@)x0e(n#2d0#D&`bM0bH+1NJwtU;q!=k+}ojC>?V@yA>?sUeh00^nt9TR*X9%Ip^6km)W^0B-Vb8E~>4 zA+@F19tPkJYfIlPwfzMEcUr6aaW#+PHDj;S9|7PJ@BBgM%}&$DxDTxV5`bp{2g=yy zr4)&m-RF}4c;4PMi0!DR`XcTE^{)W9FED=?o4kY#&fO<_3<}<}zncg_nAXU-ruj7h zF81FT!nMV&&bmS`Jt=z}fJZ#bd$7eaI+;|_mFCw0c*V1!2Zwn^4~@OSdg7Kc*Yr9U zy7`F^+-s+xY_0kIG-YJ$8~I59t_>_6#I06nR+}eEd*wF(T{(=zOtU==z=i(x12~@Vsg2e3x?4m6_>TXbGA>(zc|)Ec z{d9Qd+PJ}4>fhT(tdcUJP9U)$8RSKgrSInb4v@B3i@S&gM{2Do4Hg7Os1sEBiS;ZX zt+6)|l8j{H&?eLitnwl0O+Y&8J6SFl8>&)*P?an+rV^r091AR&fF3l#_pdZQRHo(Dszd z?RsJ@iU>+Who;uY`Q+EBue$*9+Tpp@N%JaJ+9%WYT?C{f_UXZLb$goBDi^P5tBvt; zme%SIfV9lF)s=aT#HeI=4i{yXuJT_3q!qs1U4(?xd_@Q<6~Z3@X`%mWcX@&+%_EVo zUBj^ zz~iK5CgWArnJQ6ocIIWOQW=N54v;tL#|K7>{y-~-GP6B`uUPL3*6U(+rpSk>*ZL+P zZ3W`vko%;NJSazC!jW^R45n}UVg3urk(9) z!w+Qrf|~V9R@NWLD~xllI^hwuDsPxRma?%z4=I z*M~W81?0n?W989eIMSqWnX=6LvRzE7OA)d|rtF-Gsgb{5A;*;S($?XThOifltQM?c zSWYAJNr`i=&@IT@L9XYe)BNl>e7G%gJ;K-HFHHUtH; zH_8ePeqTOgaO(6b*;nHgjkMvuLbMmC!&-G;2lh8jPWqasP?z)*0B)6+bmF)!SP8{F zTz>$7d(^ER&Rv&HKIDWQ#G^w{+0ub|(-1ksq;P%2zO1L*-s;|wM$j2sp0wh zEjcaeD`S$2ZN*Y`nQ%-|91%q1H5HPfoX~C#M|oCYSa;nFq~EKr>mqI9_;|d&DP1K? zRf(ee$`c?hF;;h%OGVSu+nKH&=+eykLW(YleFKm-$QK97O|_cd+g_FJY0-`Px}>{q z21wWSrM=~3G#E(6BT0@+;I6i8&LMphicnqY$hoDRc0ql}_f?1JWk#d{-G` zj!h<;OI1~(kf>^)6@Lbh7IbMjAk;FB@~=0AwT_$x#jG*HGD6y2`@k-zMthmLN>-3 z^T-_eo@PnEH_YpICwVbv@lM>|Dt`~8+7~!bvj8zoEes>qli%3i<|c-boL`Ay1oyJ2 zt!Ked_T9)~xinQ5ny1iM_;~;>2<)lCMStCA3f??DL9-2jSG_xOxIvFSRIkN9Pq)Yb za9{9zmP`nkhS1oP@7n=**1so(^LEYsb>3RKQTzu0T;o5J!|JqVS)1BQ!=D{z$F*af ze`|GFZqQh{R4+>{Bv>hwDCviQv^Q`iSC*TaWu!F9QhiBc)h23)b^_84-_DvcYgY?m zDJLS&-KNxXpW*1)!uQAZ?09H?{2u2uA&K)=3tXU>^9CEOjLc@IIvxDT`{Nya!M8Rx z+9XTG02lZ#11U{)lG-M+!G8<$&bhdPyan57;IJWtr)pgE zc8B~ZAg>DSOOTv}S`JBh4GFkel52EUOpA0T4r!_Vx4tWV6UkjZIjLHoPE0Ui+h4jxv z6-mu1Bh|OkoF4<^v%wRgQCvOLEs7Z|DY0l(CK(|?eM}N2(VLZ)0`kGYF?+ORYI%!K zf04}eOZA4{sPn1MdpNVv(ekgpKd$9lgUf;okls+I@_J5X<;ga$&$PArX+BPy=0#Fg zL6UQONUOXIq&nxn5LffEfQ!K4C+2fuYeFA{1 zBMXC=A8lm0k2kp&%mDCg=$aSjgFT4<5ZM87<(2Bc-a1&MNlDv_y-Z*HSv z-!34P=Ja(yS|8ZsFY~oPVE(SBxf@|cw?f^IjUD9pIX1R z5^?XT+N6)zrXYv?HSL8e(Bydq0^#8U(tWtJG-&2TT=d7r#!~>EPuTnU*N|6H= z?`(6dmrqy7Y2}^N1?7QORj3YRRWaR}>y3HMP{;^oaEBQZX&C)Rg`QE?rJmKk;Jg_a zx0+{#JT?7=SnWWP%#(D{pD-ln>4SuPrjo#`>k}BTIZ2B$zSi4>C(oV0NfclVBrQ{7+bGS$mc+*TSJF++^M&%V7s)= zC+J81w?Nw6k*g}kGH0d7PJ5gO;HK081?wUwYXVPqHvS%f2V)y7T&+vNoaR>P0sz;9 zNtKE`U3{mX8Quoqg~TNlXKimb<8@yqzX-t7kt-U`>)r_k#ZR|<`~iSFQri`*@|>k{ z?#n5c0Ju1Q(85{Kn3Lg5DuzD-F`P^;QE^kSV9^EUu4iLce&hwsL254Z-vEwQa8PO1uazthI#{{`TQsy)uFUW#+o0^MT$9;nix z=tdJ4&H5#%U^KW@dLMRP@{HmxSS_ICh28=r6DESW84 zG`HJt0C0KLP6Ze3#Ds!3NzVoT1AyDZ+fAGjrG~Vi(n#kf)ZqA11wYi_$$!4!?g{w- zc3bL%f*VvW+$f23htT|I##_21dQ8P7HL(OWDsi`^4?i=W_DuY=jH+{> zNNzTqW1watG&eed60;7i~I1>Vwi1wi%AA#WTeJ$&m(>X zfZMB)s-`1b|y3rzG6!_ckGF}i{V&Epbc`<7Alw4I?1=6lb5W9wTt}-;f z274#G&U6mGS{cb*xn2$B6x*N^QA9@SjX1rS=Ia&Er<{o%v`R@{n${uknJCNW=yS(_ zurPW+DWy~?7?ve}htHy?Ql735BFduJ5xJZ-Ig@2u7CKh-5v1}Wjb_$XXdz`$a;;V_ z+Ma4#RKgxXvJ0Nn?aqh4Z&XNOWqxA0Q7&19C8*hB)*GBzFh#4`VXXtK?eQy0+1b^n z@}9iHd5Xj^K0-ete)r}#DxXm=#&!it-Pw<>Mz=N3`hP*wc}R+7d?doyQenlEEs4GS z2%}@f=9_s|50N-bW4Vr2y3P4}fOtN&RvcmE5@K7^EE7yHOwP-oLW*8_`h0~LRSxEQ zMzXTjpA%R?U^stF(1)|KbIWXv{C$w&$>cI=gz@_rHtc1XWF5npc+uCFqg$+K5x~4?xK$v1f#zG0ZbOsad_vFy2~*@wvCR?f@As%d8}A zu1PWs8)w*LjA3f~7^W&ohjU#br4a;~8hMR0L+-F~ybu4$c%^;7D zMYp@;U4XnZzCjpeOwy{dz_NCo6Dc#?ME}^n-kAL33fZG9t9hTpjL=G&*1|hgd;wH( zMTaZW4L;am1dSWhx`*jo}XUGk1|Rt!*-MYR(&j^7!0FjSX7f` zoSD+T3b|HUkywltAQE&%EzwibIH%Iyey_mk&bDHex7rjg`EifkB=4`J$|@_eA8=nl z!4iu)I}j7Q3o-F324y=C+Zblqf%S-#(<1+@lA=aApSf=VVv;Juv`P$PnhZOqjb(;N z7bb`@w#W>sa<%|=%Lgin8pu$1n_Yq0SteD@F#bHtXp0cfgo-Tcu0u@lD~My{0>gOj z=6L!^>m?x91F6@ETO#2H=ul* zV{ajBiAu^NxHm2x1K`T|;~Z|aJf)T~A9);rucS^3nCWg|QCB<7_5=V=WPZhBHWOx; z>IemY4Zs`8wIb#_Zxd0+EcebE04_*7*YKvJ41*(d$>}$+%*-!Yoaa%zj$`TS@hJeF zOI?s~l1FBOa~;ZW0l1>-oP^7=&^jc!d!60@;D*Es95 z_!}Hn)9s9>)ac&X0>F*A?+|klCSx$<+LCtw_)hjM0(!y>Yei_0*FcebvJE)J(+i+z zc=5j=;rZ+fEM^R%N2a^u_dNh!uOhKhoJFbF*v8zy18`UJPaNjGvl*>+G7XOZ0eiD* zuY|)amkJ@Crkwx5IJiCc8p2W1VIj`_Uj8rumnMJD;%R>8c}rJ73jnyT>XLxjYBH!Y zMY<uy@_R}XeHIOG9|PcZ;utZiEB^m%y$O62MfyJ8Z}nBxGt)EEbDx<^CX>nJp4|QT{cZ zOsCo3-;cJFd7tO4x30I|x2mU`PSYGUzFMLaF3kKC!colHGut2Iv{WbDpYZ^Mk;BV? zvu(UTtP}3aI6$43#E0{Upr$*^^uq9R%B(9uP}{Z{^oUNlBC?ea$1K@*WVUaVuGR@R zxDSTI!vwznP+n+AI*hf~IvmECjD1`O*ccDbg$jUNjt1C7;Z%6{x>i~O0r%-|$nT^0keRV_IvlSoL0aj!j;1Vd&89^Wn zjMc9KHt7JXBacFYskwz=(&G%{OQ_FQd_rGD@I0GfECPcDCHKjaE;fj_XaI$r^i?DZ zEuz=VlVBQA)c0^crBkraznD#wSWJZ`mPE1)UiEdLTXleCp{F4cM*Q?*;JPaeQeSBL zv<`66yB8(mvS(PO)!AL<1ht*E=>T8)7YGSt!5|DNLVROPt>rU1z*_3d5?uv85nvfM z9R#(AXLW!LY1{b(W3~OAl_V0f=(q7=Fd$kglL~g~6nqiB$|q3B z!!Z6X3{yEwJuKRFtz*^OANd}tCI&5B=~NfrX`Bh8q)C$>fb;okb6tHQ=y6KBYgRmb|HPI$iS(Xy~5*DRQF+D^Bx=!DM6LHpop7)3 zSWehDs2G#M303%^PWZELbKZ5rQ##=V&)#@gQVnW*Y}-dV;R4^e?67-4f$V8Ww7pzi zCtT!Rly{v$pXh`~dmc5&yJky%KTI(JnFfSeVy7v^AG-{36+KAG+h@f zGI&9~d*QH7xK!Dd6!I0B?ZP*8!jsl_sgR>WR#2Vo!{0yk(cJbvJh4{W5`gMUPt?ghd)wZoLTp|~2g;I0kNp)%XNfX=1f7vT#@e)h%W?+GN5;%3o=4TC%{B8c_ z{BW+{6UzyB)kpRGq7%Nw&M68rB{VoHZhJq*uR7tz>xCZtrzTAPK5#{;SLRI7wqHVC z)A6pc-+5_v5oT&=2G_amiJ+Hs!e`J0D$Ffq zn4B`zeSiK^N6Am3C3$s;P(~RM%}$qDb{NF4`bNSpbfC{+ZyU%Unw%c9#bF{5b+!1n z4)heeBezWxPc>O(8wHgnA1(8x26B+E*#)^(iEu_q5=2C%+NmBzeWla$IGjlq=F4v@ zjCwjTn3rsei!bTh;&P5xmP}4YeHr;TFLex%ci3MF65S9JDF%j^fl(h>@U0H;D!aBY zQGy^+3ygy<66%ckP6zma{Wy_eDsqx9ZebW=QDdy{b$~ZifaFF@ZZ^Y|E9#Sflg(J}d6T{1D1an!Z;~KlDBvB|EqGp!2(1BB(1Z;fq%BLy73hUPFL_ZE< zMux4pk>_qro{4SJ0O@3pbART@-5@c>1WgH98bLn=gb@n>d3c5is80&f;8wEVxjGuJ z;n>@Xfk0AQCf=-xJ>-D%w`iXdMALFFEwGz`VcgZg%}DmnlN!uL_PUN`)s-Rew}HT0 z48qK0QCoCHZTD=?ig!Z%tYQ$Eq}Yd_(!|NV=Pj}1uOJh}fYeuHZq*gA-?KSd=SK|o zBK8g&!wBiXsn3&oTGuvFSls`AK9ktRt5zV0gLQRQ;4;9 z+>uq4CYt)FM+wj9Y&l~)Yz^1M({ej!ht%IJZr2s_t@VI4A;evX3+4%8&u(gH_pHv? z9m+`y4aj5=5(b3q1p?_?s6KLNhYoZ}nPaKzmYFk+|rc!GHvHjS)@;|3LM!LB4YRGViHnA*Sr_2vv6_V!h_meGnw8P9ZXbVZiA}%i>c_jf~kG^d$!bt&W;>BLTVT;q}wAzB|wER=Y zKEZtT713QlRDw5=>EL0rE9Tls!g=rORrZO{XH)%cP%oS zJD0TGORp22k6g_S%ZYl6p{TCyrFuHy`p9A$b0xaShN7-*_tNWx7cx&%W=R)|skp1k z{6r_*lzAyBthJbm>e`;DtP{?QzFSDk%#qE-`Kq;_>V!L@2dJc`tr`&X2QO zTl-PrH0loyCbprq;5HA>6@*MXGIk!Lkgj*xIa^c!OB9#Ci}+Z!2yz;aOz%NDF0!$% zWpJl0{1#YQ%k2s$WR_qqum(KHS}Dpm)JV9Lwjb<;IzD7UzAd0|oOurfgD=2`Ky##O z{NMS%v>T8^)*BBL4q6XE&X$m}&%=9=X}Q$^QnievVl#=?giYPX+vWOZTk_n*?&T&o zPHOUs$!pcv(P2fh^lhFzY39V{rfH%2aWh&*jSCAB*ROf>#4wS>UX3kxHO-tBwn%c1 zDJ`QYX7G%uQ>U~{4~L{+AF6|r=(T0auM~w^BH8qY6^_ntcT2u1NhAAzLGebR^ zTc(c-4Qd?SJS7~EeD&iRTP8M5oBsb-T(*?ed&=a-(NxkrX*!G3xW?v* zP011uZD^U;*i0+vkZk%&H%|=>9yeub*dUSG$)Vcjmgdpp!bVBzJ^8MtmdQvN?6kX@o9?Dov@}nf-rP7jRUKMledENY znW2WpmgdQgVXI{Buvs<2`vm$6l7y)f8)?79T0?ZfUGc=)cjmN~xFO7wMdoD@MPe8L zgjkm2k{ez+@xt!_@8Ow;t~jiV+cM{}Lp z+tkERkEX`ajbpu!cBQQ(PHdb!nvSewGj+!w{rK&Y*4EXa{;KY%d3(jIR$+Yf6|wUU z_A6ivw%M=}Tr-PmyUc}ZXub~>y#eVvq4HJKk1oSPTazkl5nlbPre_`^OKYyN2l=&V zA#8);OVPY!JhY^?Hti7l8s34k@Hjk*Wd{H^QyUfj9M>`Cpg^_nd{7;4Er<3L0OAN&ki7 zHLw6OM_RXox%>lg%>`?-d4}yBFg*k8Sm{mHn&W?v@6RdsBjm}0tMWR1NxC&%rdFQVU-DZ;{!V%YHyoC^K146VtfiE>4!sNK z;4r!bbs?sed&th@HGB#$vg6)_UBW+vihO_Cm_E^I-j!f?Sp=DLGZ9BDyW6dQZH3kB zN61VEHplXu02~sPO1$;zw

    ?l#$ztwPvkQ)hoN7AmF~z`l3uI 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

    Ya-{XR5lVW$(!V^@-hIfAh+6RkYJAw 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ℑkY<$M1y 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

    rq$In_|bnm1thh=4{mH~s-N1} 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

    nE6ekdzqAoWw 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

    *e8c?P}NMDk_1?-^|cZw}V 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

    iOO)V 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 z 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

    +5t%WnYp!k#wk?nv`}erIm>pNvuu%m4M?-? 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

    _6Lz>&60|qSR8e)=o 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

    X}cxVlv!{9^VCUR_`H>jI-aD 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�Nst=73oU+DE+vC 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

  • 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 XrU(_1Q!HMGq*eSsf|)Dg(+mIr9TFlt literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/examples/protomaps/public/css/leaflet.css b/examples/containers/wasm-workers-server/examples/protomaps/public/css/leaflet.css new file mode 100644 index 00000000..981874b5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/public/css/leaflet.css @@ -0,0 +1,656 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + } diff --git a/examples/containers/wasm-workers-server/examples/protomaps/public/index.html b/examples/containers/wasm-workers-server/examples/protomaps/public/index.html new file mode 100644 index 00000000..aa4da2d1 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/public/index.html @@ -0,0 +1,29 @@ + + + Protomaps + Wasm Workers Server + + + + + + +
    + + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/protomaps/public/js/leaflet.js b/examples/containers/wasm-workers-server/examples/protomaps/public/js/leaflet.js new file mode 100644 index 00000000..047bfe7e --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/protomaps/public/js/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.3, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.late.lng&&n.lng","http://www.w3.org/2000/svg"===(Ft.firstChild&&Ft.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Ft,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Wt=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Wt,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Wt,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=W(e),o=0,s=n.length;othis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!Fe(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;sthis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var Ve,B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;se.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;S(t,"click",O),this.expand(),setTimeout(function(){k(t,"click",O)})}})),Ge=B.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ke=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ge,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280'+(b.inlineSvg?' ':"")+"Leaflet
    "},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ye).addTo(this)}),B.Layers=qe,B.Zoom=Ge,B.Scale=Ke,B.Attribution=Ye,Ue.layers=function(t,e,i){return new qe(t,e,i)},Ue.zoom=function(t){return new Ge(t)},Ue.scale=function(t){return new Ke(t)},Ue.attribution=function(t){return new Ye(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Xe=b.touch?"touchstart mousedown":"mousedown",Je=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Xe,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Je._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Xe,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Je._dragging===this&&this.finishDrag():Je._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Je._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1e&&(i.push(t[n]),o=n);oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ni(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||vi.prototype._containsPoint.call(this,t,!0)}});var xi=ui.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;es.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Bi=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Ai,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Ai,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ui||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof mi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Oi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Oi.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Oi.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Oi.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Ni=Ri.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Hi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Ui("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Ui("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Ui("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Ui("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},Vi=b.vml?Ui:ct,qi=Hi.extend({_initContainer:function(){this._container=Vi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Vi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Hi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=Vi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Gi(t){return b.svg||b.vml?new qi(t):null}b.vml&&qi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Wi(t)||Gi(t)}});var Ki=yi.extend({initialize:function(t,e){yi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});qi.create=Vi,qi.pointsToPath=dt,xi.geometryToLayer=wi,xi.coordsToLatLng=Pi,xi.coordsToLatLngs=Li,xi.latLngToCoords=Ti,xi.latLngsToCoords=Mi,xi.getFeature=zi,xi.asFeature=Ci,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Je(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)e.getMaxZoom()&&1{var bi=Object.create;var Ce=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var vi=Object.getOwnPropertyNames,Gt=Object.getOwnPropertySymbols,_i=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty,zi=Object.prototype.propertyIsEnumerable;var er=(t,e,r)=>e in t?Ce(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,tr=(t,e)=>{for(var r in e||(e={}))Qt.call(e,r)&&er(t,r,e[r]);if(Gt)for(var r of Gt(e))zi.call(e,r)&&er(t,r,e[r]);return t};var rr=t=>Ce(t,"__esModule",{value:!0});var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Li=(t,e)=>{rr(t);for(var r in e)Ce(t,r,{get:e[r],enumerable:!0})},Si=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of vi(e))!Qt.call(t,i)&&i!=="default"&&Ce(t,i,{get:()=>e[i],enumerable:!(r=wi(e,i))||r.enumerable});return t},U=t=>Si(rr(Ce(t!=null?bi(_i(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var E=(t,e,r)=>new Promise((i,n)=>{var a=l=>{try{o(r.next(l))}catch(u){n(u)}},s=l=>{try{o(r.throw(l))}catch(u){n(u)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,s);o((r=r.apply(t,e)).next())});var Q=W((ma,ir)=>{"use strict";ir.exports=de;function de(t,e){this.x=t,this.y=e}de.prototype={clone:function(){return new de(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),i=e*this.x-r*this.y,n=r*this.x+e*this.y;return this.x=i,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),i=Math.sin(t),n=e.x+r*(this.x-e.x)-i*(this.y-e.y),a=e.y+i*(this.x-e.x)+r*(this.y-e.y);return this.x=n,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};de.convert=function(t){return t instanceof de?t:Array.isArray(t)?new de(t[0],t[1]):t}});var pt=W((pa,nr)=>{"use strict";var Fi=Q();nr.exports=me;function me(t,e,r,i,n){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=i,this._values=n,t.readFields(ki,this,e)}function ki(t,e,r){t==1?e.id=r.readVarint():t==2?Mi(r,e):t==3?e.type=r.readVarint():t==4&&(e._geometry=r.pos)}function Mi(t,e){for(var r=t.readVarint()+t.pos;t.pos>3}if(i--,r===1||r===2)n+=t.readSVarint(),a+=t.readSVarint(),r===1&&(o&&s.push(o),o=[]),o.push(new Fi(n,a));else if(r===7)o&&o.push(o[0].clone());else throw new Error("unknown command "+r)}return o&&s.push(o),s};me.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,i=0,n=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3}if(i--,r===1||r===2)n+=t.readSVarint(),a+=t.readSVarint(),no&&(o=n),au&&(u=a);else if(r!==7)throw new Error("unknown command "+r)}return[s,l,o,u]};me.prototype.toGeoJSON=function(t,e,r){var i=this.extent*Math.pow(2,r),n=this.extent*t,a=this.extent*e,s=this.loadGeometry(),o=me.types[this.type],l,u;function f(x){for(var w=0;w{"use strict";var Di=pt();sr.exports=ar;function ar(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Pi,this,e),this.length=this._features.length}function Pi(t,e,r){t===15?e.version=r.readVarint():t===1?e.name=r.readString():t===5?e.extent=r.readVarint():t===2?e._features.push(r.pos):t===3?e._keys.push(r.readString()):t===4&&e._values.push(Ai(r))}function Ai(t){for(var e=null,r=t.readVarint()+t.pos;t.pos>3;e=i===1?t.readString():i===2?t.readFloat():i===3?t.readDouble():i===4?t.readVarint64():i===5?t.readVarint():i===6?t.readSVarint():i===7?t.readBoolean():null}return e}ar.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Di(this._pbf,e,this.extent,this._keys,this._values)}});var lr=W((xa,or)=>{"use strict";var Bi=gt();or.exports=Oi;function Oi(t,e){this.layers=t.readFields(Ei,{},e)}function Ei(t,e,r){if(t===3){var i=new Bi(r,r.readVarint()+r.pos);i.length&&(e[i.name]=i)}}});var ur=W((ya,Je)=>{Je.exports.VectorTile=lr();Je.exports.VectorTileFeature=pt();Je.exports.VectorTileLayer=gt()});var hr=W(xt=>{xt.read=function(t,e,r,i,n){var a,s,o=n*8-i-1,l=(1<>1,f=-7,c=r?n-1:0,d=r?-1:1,x=t[e+c];for(c+=d,a=x&(1<<-f)-1,x>>=-f,f+=o;f>0;a=a*256+t[e+c],c+=d,f-=8);for(s=a&(1<<-f)-1,a>>=-f,f+=i;f>0;s=s*256+t[e+c],c+=d,f-=8);if(a===0)a=1-u;else{if(a===l)return s?NaN:(x?-1:1)*(1/0);s=s+Math.pow(2,i),a=a-u}return(x?-1:1)*s*Math.pow(2,a-i)};xt.write=function(t,e,r,i,n,a){var s,o,l,u=a*8-n-1,f=(1<>1,d=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,x=i?0:a-1,w=i?1:-1,z=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+c>=1?e+=d/l:e+=d*Math.pow(2,1-c),e*l>=2&&(s++,l/=2),s+c>=f?(o=0,s=f):s+c>=1?(o=(e*l-1)*Math.pow(2,n),s=s+c):(o=e*Math.pow(2,c-1)*Math.pow(2,n),s=0));n>=8;t[r+x]=o&255,x+=w,o/=256,n-=8);for(s=s<0;t[r+x]=s&255,x+=w,s/=256,u-=8);t[r+x-w]|=z*128}});var gr=W((wa,pr)=>{"use strict";pr.exports=k;var Ge=hr();function k(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}k.Varint=0;k.Fixed64=1;k.Bytes=2;k.Fixed32=5;var yt=(1<<16)*(1<<16),fr=1/yt,Ri=12,cr=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");k.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=i&7,t(n,e,this),this.pos===a&&this.skip(i)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Qe(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=mr(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Qe(this.buf,this.pos)+Qe(this.buf,this.pos+4)*yt;return this.pos+=8,t},readSFixed64:function(){var t=Qe(this.buf,this.pos)+mr(this.buf,this.pos+4)*yt;return this.pos+=8,t},readFloat:function(){var t=Ge.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ge.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e=this.buf,r,i;return i=e[this.pos++],r=i&127,i<128||(i=e[this.pos++],r|=(i&127)<<7,i<128)||(i=e[this.pos++],r|=(i&127)<<14,i<128)||(i=e[this.pos++],r|=(i&127)<<21,i<128)?r:(i=e[this.pos],r|=(i&15)<<28,Ii(r,t,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=Ri&&cr?Gi(this.buf,e,t):Ji(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==k.Bytes)return t.push(this.readVarint(e));var r=ie(this);for(t=t||[];this.pos127;);else if(e===k.Bytes)this.pos=this.readVarint()+this.pos;else if(e===k.Fixed32)this.pos+=4;else if(e===k.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+e)},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0){Xi(t,this);return}this.realloc(4),this.buf[this.pos++]=t&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=(t>>>=7)&127|(t>127?128:0),!(t<=127)&&(this.buf[this.pos++]=t>>>7&127)))},writeSVarint:function(t){this.writeVarint(t<0?-t*2-1:t*2)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(t.length*4),this.pos++;var e=this.pos;this.pos=Qi(this.buf,t,this.pos);var r=this.pos-e;r>=128&&dr(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Ge.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Ge.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&dr(r,i,this),this.pos=r-1,this.writeVarint(i),this.pos+=i},writeMessage:function(t,e,r){this.writeTag(t,k.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Ui,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ni,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Zi,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ji,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,qi,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,$i,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wi,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Hi,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Ki,e)},writeBytesField:function(t,e){this.writeTag(t,k.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,k.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,k.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,k.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,k.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,k.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,k.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Ii(t,e,r){var i=r.buf,n,a;if(a=i[r.pos++],n=(a&112)>>4,a<128||(a=i[r.pos++],n|=(a&127)<<3,a<128)||(a=i[r.pos++],n|=(a&127)<<10,a<128)||(a=i[r.pos++],n|=(a&127)<<17,a<128)||(a=i[r.pos++],n|=(a&127)<<24,a<128)||(a=i[r.pos++],n|=(a&1)<<31,a<128))return pe(t,n,e);throw new Error("Expected varint not more than 10 bytes")}function ie(t){return t.type===k.Bytes?t.readVarint()+t.pos:t.pos+1}function pe(t,e,r){return r?e*4294967296+(t>>>0):(e>>>0)*4294967296+(t>>>0)}function Xi(t,e){var r,i;if(t>=0?(r=t%4294967296|0,i=t/4294967296|0):(r=~(-t%4294967296),i=~(-t/4294967296),r^4294967295?r=r+1|0:(r=0,i=i+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),Vi(r,i,e),Yi(i,e)}function Vi(t,e,r){r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos++]=t&127|128,t>>>=7,r.buf[r.pos]=t&127}function Yi(t,e){var r=(t&7)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),!!t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),!!t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),!!t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),!!t&&(e.buf[e.pos++]=t&127|((t>>>=7)?128:0),!!t&&(e.buf[e.pos++]=t&127)))))}function dr(t,e,r){var i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(Math.LN2*7));r.realloc(i);for(var n=r.pos-1;n>=t;n--)r.buf[n+i]=r.buf[n]}function Ui(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function mr(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Ji(t,e,r){for(var i="",n=e;n239?4:a>223?3:a>191?2:1;if(n+o>r)break;var l,u,f;o===1?a<128&&(s=a):o===2?(l=t[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=t[n+1],u=t[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=t[n+1],u=t[n+2],f=t[n+3],(l&192)==128&&(u&192)==128&&(f&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|f&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function Gi(t,e,r){return cr.decode(t.subarray(e,r))}function Qi(t,e,r){for(var i=0,n,a;i55295&&n<57344)if(a)if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}else n=a-55296<<10|n-56320|65536,a=null;else{n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=n&63|128)}return r}});var Nr=W((Tt,Dt)=>{(function(t,e){typeof Tt=="object"&&typeof Dt!="undefined"?Dt.exports=e():typeof define=="function"&&define.amd?define(e):(t=t||self).RBush=e()})(Tt,function(){"use strict";function t(h,m,p,b,g){(function y(v,_,S,F,T){for(;F>S;){if(F-S>600){var M=F-S+1,B=_-S+1,q=Math.log(M),Z=.5*Math.exp(2*q/3),te=.5*Math.sqrt(q*Z*(M-Z)/M)*(B-M/2<0?-1:1),X=Math.max(S,Math.floor(_-B*Z/M+te)),ct=Math.min(F,Math.floor(_+(M-B)*Z/M+te));y(v,_,X,ct,T)}var ce=v[_],re=S,O=F;for(e(v,S,_),T(v[F],ce)>0&&e(v,S,F);re0;)O--}T(v[S],ce)===0?e(v,S,O):e(v,++O,F),O<=_&&(S=O+1),_<=O&&(F=O-1)}})(h,m,p||0,b||h.length-1,g||r)}function e(h,m,p){var b=h[m];h[m]=h[p],h[p]=b}function r(h,m){return hm?1:0}var i=function(h){h===void 0&&(h=9),this._maxEntries=Math.max(4,h),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function n(h,m,p){if(!p)return m.indexOf(h);for(var b=0;b=h.minX&&m.maxY>=h.minY}function w(h){return{children:h,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function z(h,m,p,b,g){for(var y=[m,p];y.length;)if(!((p=y.pop())-(m=y.pop())<=b)){var v=m+Math.ceil((p-m)/b/2)*b;t(h,v,m,p,g),y.push(m,v,v,p)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(h){var m=this.data,p=[];if(!x(h,m))return p;for(var b=this.toBBox,g=[];m;){for(var y=0;y=0&&g[m].children.length>this._maxEntries;)this._split(g,m),m--;this._adjustParentBBoxes(b,g,m)},i.prototype._split=function(h,m){var p=h[m],b=p.children.length,g=this._minEntries;this._chooseSplitAxis(p,g,b);var y=this._chooseSplitIndex(p,g,b),v=w(p.children.splice(y,p.children.length-y));v.height=p.height,v.leaf=p.leaf,a(p,this.toBBox),a(v,this.toBBox),m?h[m-1].children.push(v):this._splitRoot(p,v)},i.prototype._splitRoot=function(h,m){this.data=w([h,m]),this.data.height=h.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(h,m,p){for(var b,g,y,v,_,S,F,T=1/0,M=1/0,B=m;B<=p-m;B++){var q=s(h,0,B,this.toBBox),Z=s(h,B,p,this.toBBox),te=(g=q,y=Z,v=void 0,_=void 0,S=void 0,F=void 0,v=Math.max(g.minX,y.minX),_=Math.max(g.minY,y.minY),S=Math.min(g.maxX,y.maxX),F=Math.min(g.maxY,y.maxY),Math.max(0,S-v)*Math.max(0,F-_)),X=f(q)+f(Z);te=m;T--){var M=h.children[T];o(v,h.leaf?g(M):M),_+=c(v)}return _},i.prototype._adjustParentBBoxes=function(h,m,p){for(var b=p;b>=0;b--)o(m[b],h)},i.prototype._condense=function(h){for(var m=h.length-1,p=void 0;m>=0;m--)h[m].children.length===0?m>0?(p=h[m-1].children).splice(p.indexOf(h[m]),1):this.clear():a(h[m],this.toBBox)},i})});var Kr=W(()=>{});var Jr=W((Bt,Ot)=>{(function(t,e){typeof Bt=="object"&&typeof Ot!="undefined"?Ot.exports=e():typeof define=="function"&&define.amd?define(e):(t=t||self,t.TinyQueue=e())})(Bt,function(){"use strict";var t=function(i,n){if(i===void 0&&(i=[]),n===void 0&&(n=e),this.data=i,this.length=this.data.length,this.compare=n,this.length>0)for(var a=(this.length>>1)-1;a>=0;a--)this._down(a)};t.prototype.push=function(i){this.data.push(i),this.length++,this._up(this.length-1)},t.prototype.pop=function(){if(this.length!==0){var i=this.data[0],n=this.data.pop();return this.length--,this.length>0&&(this.data[0]=n,this._down(0)),i}},t.prototype.peek=function(){return this.data[0]},t.prototype._up=function(i){for(var n=this,a=n.data,s=n.compare,o=a[i];i>0;){var l=i-1>>1,u=a[l];if(s(o,u)>=0)break;a[i]=u,i=l}a[i]=o},t.prototype._down=function(i){for(var n=this,a=n.data,s=n.compare,o=this.length>>1,l=a[i];i=0)break;a[i]=f,i=u}a[i]=l};function e(r,i){return ri?1:0}return t})});var Qr=W((qa,Et)=>{"use strict";var ot=Jr();ot.default&&(ot=ot.default);Et.exports=Gr;Et.exports.default=Gr;function Gr(t,e,r){e=e||1;for(var i,n,a,s,o=0;oa)&&(a=l[0]),(!o||l[1]>s)&&(s=l[1])}var u=a-i,f=s-n,c=Math.min(u,f),d=c/2;if(c===0){var x=[i,n];return x.distance=0,x}for(var w=new ot(void 0,Zn),z=i;zm.d&&(m=p);for(var b=w.length;w.length;){var g=w.pop();g.d>m.d&&(m=g,r&&console.log("found best %d after %d probes",Math.round(1e4*g.d)/1e4,b)),!(g.max-m.d<=e)&&(d=g.h/2,w.push(new le(g.x-d,g.y-d,d,t)),w.push(new le(g.x+d,g.y-d,d,t)),w.push(new le(g.x-d,g.y+d,d,t)),w.push(new le(g.x+d,g.y+d,d,t)),b+=4)}r&&(console.log("num probes: "+b),console.log("best distance: "+m.d));var y=[m.x,m.y];return y.distance=m.d,y}function Zn(t,e){return e.max-t.max}function le(t,e,r,i){this.x=t,this.y=e,this.h=r,this.d=$n(t,e,i),this.max=this.d+this.h*Math.SQRT2}function $n(t,e,r){for(var i=!1,n=1/0,a=0;ae!=c[1]>e&&t<(c[0]-f[0])*(e-f[1])/(c[1]-f[1])+f[0]&&(i=!i),n=Math.min(n,Hn(t,e,f,c))}return n===0?0:(i?1:-1)*Math.sqrt(n)}function Wn(t){for(var e=0,r=0,i=0,n=t[0],a=0,s=n.length,o=s-1;a1?(n=i[0],a=i[1]):l>0&&(n+=s*l,a+=o*l)}return s=t-n,o=e-a,s*s+o*o}});var ca={};Li(ca,{CenteredSymbolizer:()=>Vt,CenteredTextSymbolizer:()=>ee,CircleSymbolizer:()=>se,FlexSymbolizer:()=>Ze,Font:()=>ua,GeomType:()=>J,GroupSymbolizer:()=>$e,IconSymbolizer:()=>li,Index:()=>Pt,Justify:()=>G,Labeler:()=>Ve,Labelers:()=>Ye,LineLabelPlacement:()=>ze,LineLabelSymbolizer:()=>Le,LineSymbolizer:()=>R,OffsetSymbolizer:()=>Yt,OffsetTextSymbolizer:()=>fe,PMTiles:()=>rt,Padding:()=>hi,PmtilesSource:()=>Oe,PolygonLabelSymbolizer:()=>Se,PolygonSymbolizer:()=>A,Sheet:()=>yi,ShieldSymbolizer:()=>lt,Static:()=>pi,TextPlacements:()=>C,TextSymbolizer:()=>We,TileCache:()=>st,View:()=>Ct,ZxySource:()=>it,arr:()=>Qn,covering:()=>Zr,createPattern:()=>Gn,cubicBezier:()=>ra,dark:()=>ve,exp:()=>Y,filterFn:()=>Ke,getFont:()=>Zt,getZoom:()=>Ut,isCCW:()=>Ir,isInRing:()=>Mt,json_style:()=>fa,labelRules:()=>ke,leafletLayer:()=>la,light:()=>we,linear:()=>ta,numberFn:()=>ft,numberOrFn:()=>jt,paintRules:()=>Fe,painter:()=>Xe,pointInPolygon:()=>Xr,pointMinDistToLines:()=>Yr,pointMinDistToPoints:()=>Vr,sourcesToViews:()=>Ie,step:()=>ea,toIndex:()=>ae,transformGeom:()=>Ee,widthFn:()=>qt,wrap:()=>Re});var oe=U(Q());var he=U(Q());var be=U(Q()),Ar=U(ur()),Br=U(gr());var V=(t,e,r)=>new Promise((i,n)=>{var a=l=>{try{o(r.next(l))}catch(u){n(u)}},s=l=>{try{o(r.throw(l))}catch(u){n(u)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,s);o((r=r.apply(t,e)).next())}),N=Uint8Array,ue=Uint16Array,xr=Uint32Array,yr=new N([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),br=new N([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),en=new N([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wr=function(t,e){for(var r=new ue(31),i=0;i<31;++i)r[i]=e+=1<>>1|(D&21845)<<1,ne=(ne&52428)>>>2|(ne&13107)<<2,ne=(ne&61680)>>>4|(ne&3855)<<4,bt[D]=((ne&65280)>>>8|(ne&255)<<8)>>>1;var ne,Te=function(t,e,r){for(var i=t.length,n=0,a=new ue(e);n>>l]=u}else for(o=new ue(i),n=0;n>>15-t[n]);return o},De=new N(288);for(var D=0;D<144;++D)De[D]=8;for(var D=144;D<256;++D)De[D]=9;for(var D=256;D<280;++D)De[D]=7;for(var D=280;D<288;++D)De[D]=8;var Lr=new N(32);for(var D=0;D<32;++D)Lr[D]=5;var nn=Te(De,9,1),an=Te(Lr,5,1),wt=function(t){for(var e=t[0],r=1;re&&(e=t[r]);return e},H=function(t,e,r){var i=e/8|0;return(t[i]|t[i+1]<<8)>>(e&7)&r},vt=function(t,e){var r=e/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(e&7)},sn=function(t){return(t+7)/8|0},on=function(t,e,r){(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length);var i=new(t.BYTES_PER_ELEMENT==2?ue:t.BYTES_PER_ELEMENT==4?xr:N)(r-e);return i.set(t.subarray(e,r)),i},ln=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],K=function(t,e,r){var i=new Error(e||ln[t]);if(i.code=t,Error.captureStackTrace&&Error.captureStackTrace(i,K),!r)throw i;return i},_t=function(t,e,r){var i=t.length;if(!i||r&&r.f&&!r.l)return e||new N(0);var n=!e||r,a=!r||r.i;r||(r={}),e||(e=new N(i*3));var s=function(Ht){var Kt=e.length;if(Ht>Kt){var Jt=new N(Math.max(Kt*2,Ht));Jt.set(e),e=Jt}},o=r.f||0,l=r.p||0,u=r.b||0,f=r.l,c=r.d,d=r.m,x=r.n,w=i*8;do{if(!f){o=H(t,l,1);var z=H(t,l+1,3);if(l+=3,z)if(z==1)f=nn,c=an,d=9,x=5;else if(z==2){var b=H(t,l,31)+257,g=H(t,l+10,15)+4,y=b+H(t,l+5,31)+1;l+=14;for(var v=new N(y),_=new N(19),S=0;S>>4;if(h<16)v[S++]=h;else{var q=0,Z=0;for(h==16?(Z=3+H(t,l,3),l+=2,q=v[S-1]):h==17?(Z=3+H(t,l,7),l+=3):h==18&&(Z=11+H(t,l,127),l+=7);Z--;)v[S++]=q}}var te=v.subarray(0,b),X=v.subarray(b);d=wt(te),x=wt(X),f=Te(te,d,1),c=Te(X,x,1)}else K(1);else{var h=sn(l)+4,m=t[h-4]|t[h-3]<<8,p=h+m;if(p>i){a&&K(0);break}n&&s(u+m),e.set(t.subarray(h,p),u),r.b=u+=m,r.p=l=p*8,r.f=o;continue}if(l>w){a&&K(0);break}}n&&s(u+131072);for(var ct=(1<>>4;if(l+=q&15,l>w){a&&K(0);break}if(q||K(2),O<256)e[u++]=O;else if(O==256){re=l,f=null;break}else{var $t=O-254;if(O>264){var S=O-257,Me=yr[S];$t=H(t,l,(1<>>4;dt||K(3),l+=dt&15;var X=rn[mt];if(mt>3){var Me=br[mt];X+=vt(t,l)&(1<w){a&&K(0);break}n&&s(u+131072);for(var Wt=u+$t;u>3&1)+(e>>4&1);i>0;i-=!t[r++]);return r+(e&2)},fn=function(t){var e=t.length;return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0},cn=function(t){((t[0]&15)!=8||t[0]>>>4>7||(t[0]<<8|t[1])%31)&&K(6,"invalid zlib data"),t[1]&32&&K(6,"invalid zlib data: preset dictionaries not supported")};function dn(t,e){return _t(t,e)}function mn(t,e){return _t(t.subarray(hn(t),-8),e||new N(fn(t)))}function pn(t,e){return _t((cn(t),t.subarray(2,-4)),e)}function zt(t,e){return t[0]==31&&t[1]==139&&t[2]==8?mn(t,e):(t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31?dn(t,e):pn(t,e)}var _a=typeof TextEncoder!="undefined"&&new TextEncoder,gn=typeof TextDecoder!="undefined"&&new TextDecoder,xn=0;try{gn.decode(un,{stream:!0}),xn=1}catch(t){}var za=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(t){t()},Sr=(t,e)=>t*Math.pow(2,e),Pe=(t,e)=>Math.floor(t/Math.pow(2,e)),et=(t,e)=>Sr(t.getUint16(e+1,!0),8)+t.getUint8(e),Fr=(t,e)=>Sr(t.getUint32(e+2,!0),16)+t.getUint16(e,!0),yn=(t,e,r,i,n)=>{if(t!=i.getUint8(n))return t-i.getUint8(n);let a=et(i,n+1);if(e!=a)return e-a;let s=et(i,n+4);return r!=s?r-s:0},bn=(t,e,r,i)=>{let n=Mr(t,e|128,r,i);return n?{z:e,x:r,y:i,offset:n[0],length:n[1],is_dir:!0}:null},kr=(t,e,r,i)=>{let n=Mr(t,e,r,i);return n?{z:e,x:r,y:i,offset:n[0],length:n[1],is_dir:!1}:null},Mr=(t,e,r,i)=>{let n=0,a=t.byteLength/17-1;for(;n<=a;){let s=a+n>>1,o=yn(e,r,i,t,s*17);if(o>0)n=s+1;else if(o<0)a=s-1;else return[Fr(t,s*17+7),t.getUint32(s*17+13,!0)]}return null},wn=(t,e)=>t.is_dir&&!e.is_dir?1:!t.is_dir&&e.is_dir?-1:t.z!==e.z?t.z-e.z:t.x!==e.x?t.x-e.x:t.y-e.y,Cr=(t,e)=>{let r=t.getUint8(e*17);return{z:r&127,x:et(t,e*17+1),y:et(t,e*17+4),offset:Fr(t,e*17+7),length:t.getUint32(e*17+13,!0),is_dir:r>>7==1}},Tr=t=>{let e=[],r=new DataView(t);for(let i=0;i{t.sort(wn);let e=new ArrayBuffer(17*t.length),r=new Uint8Array(e);for(let i=0;i>8&255,r[i*17+3]=n.x>>16&255,r[i*17+4]=n.y&255,r[i*17+5]=n.y>>8&255,r[i*17+6]=n.y>>16&255,r[i*17+7]=n.offset&255,r[i*17+8]=Pe(n.offset,8)&255,r[i*17+9]=Pe(n.offset,16)&255,r[i*17+10]=Pe(n.offset,24)&255,r[i*17+11]=Pe(n.offset,32)&255,r[i*17+12]=Pe(n.offset,48)&255,r[i*17+13]=n.length&255,r[i*17+14]=n.length>>8&255,r[i*17+15]=n.length>>16&255,r[i*17+16]=n.length>>24&255}return e},_n=(t,e)=>{if(t.byteLength<17)return null;let r=t.byteLength/17,i=Cr(t,r-1);if(i.is_dir){let n=i.z,a=e.z-n,s=Math.trunc(e.x/(1<>>0)*4294967296+(t>>>0)}function Sn(t,e){let r=e.buf,i,n;if(n=r[e.pos++],i=(n&112)>>4,n<128||(n=r[e.pos++],i|=(n&127)<<3,n<128)||(n=r[e.pos++],i|=(n&127)<<10,n<128)||(n=r[e.pos++],i|=(n&127)<<17,n<128)||(n=r[e.pos++],i|=(n&127)<<24,n<128)||(n=r[e.pos++],i|=(n&1)<<31,n<128))return xe(t,i);throw new Error("Expected varint not more than 10 bytes")}function Ae(t){let e=t.buf,r,i;return i=e[t.pos++],r=i&127,i<128||(i=e[t.pos++],r|=(i&127)<<7,i<128)||(i=e[t.pos++],r|=(i&127)<<14,i<128)||(i=e[t.pos++],r|=(i&127)<<21,i<128)?r:(i=e[t.pos],r|=(i&15)<<28,Sn(r,t))}function Fn(t,e,r,i){if(i==0){r==1&&(e[0]=t-1-e[0],e[1]=t-1-e[1]);let n=e[0];e[0]=e[1],e[1]=n}}function kn(t,e,r){let i=0,n=0;for(;n>0;for(;f>0;)s=(u[0]&f)>0?1:0,o=(u[1]&f)>0?1:0,l+=f*f*(3*s^o),Fn(f,u,s,o),f=f/2>>0;return i+l}var Lt=32,Be;(function(t){t[t.Unknown=0]="Unknown",t[t.None=1]="None",t[t.Gzip=2]="Gzip",t[t.Brotli=3]="Brotli",t[t.Zstd=4]="Zstd"})(Be||(Be={}));function tt(t,e){if(e===1||e===0)return t;if(e===2)return zt(new Uint8Array(t));throw Error("Compression method not supported")}var St;(function(t){t[t.Unknown=0]="Unknown",t[t.Mvt=1]="Mvt",t[t.Png=2]="Png",t[t.Jpeg=3]="Jpeg",t[t.Webp=4]="Webp"})(St||(St={}));var Ft=127;function Mn(t,e){let r=0,i=t.length-1;for(;r<=i;){let n=i+r>>1,a=e-t[n].tileId;if(a>0)r=n+1;else if(a<0)i=n-1;else return t[n]}return i>=0&&(t[i].runLength===0||e-t[i].tileId0?i[a].offset=i[a-1].offset+i[a-1].length:i[a].offset=s-1}return i}function Dn(t){let e=new DataView(t);return e.getUint16(2,!0)===2?(console.warn("PMTiles spec version 2 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),2):e.getUint16(2,!0)===1?(console.warn("PMTiles spec version 1 has been deprecated; please see github.com/protomaps/PMTiles for tools to upgrade"),1):3}var ye=class extends Error{};function Pn(t,e){return V(this,null,function*(){let r=yield t.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error("Wrong magic number for PMTiles archive");if(Dn(r.data)<3)return[yield Dr.getHeader(t)];let n=r.data.slice(0,Ft),a=Tn(n,r.etag);if(e){let s=r.data.slice(a.rootDirectoryOffset,a.rootDirectoryOffset+a.rootDirectoryLength),o=t.getKey()+"|"+(a.etag||"")+"|"+a.rootDirectoryOffset+"|"+a.rootDirectoryLength,l=Pr(tt(s,a.internalCompression));return[a,[o,Lt*l.length,l]]}return[a,void 0]})}function An(t,e,r,i){return V(this,null,function*(){let n=yield t.getBytes(e,r);if(i.etag&&i.etag!==n.etag)throw new ye("ETag mismatch: "+i.etag);let a=tt(n.data,i.internalCompression),s=Pr(a);if(s.length===0)throw new Error("Empty directory is invalid");return s})}var Bn=class{constructor(t=64e6,e=!0){this.cache=new Map,this.sizeBytes=0,this.maxSizeBytes=t,this.counter=1,this.prefetch=e}getHeader(t){return V(this,null,function*(){let e=t.getKey();if(this.cache.has(e))return this.cache.get(e).lastUsed=this.counter++,yield this.cache.get(e).data;let r=new Promise((i,n)=>{Pn(t,this.prefetch).then(a=>{this.cache.has(e)&&(this.cache.get(e).size=Ft,this.sizeBytes+=Ft),a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,size:a[1][1],data:Promise.resolve(a[1][2])}),i(a[0]),this.prune()}).catch(a=>{n(a)})});return this.cache.set(e,{lastUsed:this.counter++,data:r,size:0}),r})}getDirectory(t,e,r,i){return V(this,null,function*(){let n=t.getKey()+"|"+(i.etag||"")+"|"+e+"|"+r;if(this.cache.has(n))return this.cache.get(n).lastUsed=this.counter++,yield this.cache.get(n).data;let a=new Promise((s,o)=>{An(t,e,r,i).then(l=>{s(l),this.cache.has(n)&&(this.cache.get(n).size=Lt*l.length,this.sizeBytes+=Lt*l.length),this.prune()}).catch(l=>{o(l)})});return this.cache.set(n,{lastUsed:this.counter++,data:a,size:0}),a})}getArrayBuffer(t,e,r,i){return V(this,null,function*(){let n=t.getKey()+"|"+(i.etag||"")+"|"+e+"|"+r;if(this.cache.has(n))return this.cache.get(n).lastUsed=this.counter++,yield this.cache.get(n).data;let a=new Promise((s,o)=>{t.getBytes(e,r).then(l=>{if(i.etag&&i.etag!==l.etag)throw new ye("ETag mismatch: "+i.etag);s(l.data),this.cache.has(n)&&(this.cache.get(n).size=l.data.byteLength,this.sizeBytes+=l.data.byteLength),this.prune()}).catch(l=>{o(l)})});return this.cache.set(n,{lastUsed:this.counter++,data:a,size:0}),a})}prune(){for(;this.sizeBytes>this.maxSizeBytes;){let t=1/0,e;this.cache.forEach((r,i)=>{r.lastUseda.maxZoom)return;let s=a.rootDirectoryOffset,o=a.rootDirectoryLength;for(let l=0;l<5;l++){let u=yield this.cache.getDirectory(this.source,s,o,a),f=Mn(u,n);if(f)if(f.runLength>0){let c=yield this.source.getBytes(a.tileDataOffset+f.offset,f.length,i);if(a.etag&&a.etag!==c.etag)throw new ye("ETag mismatch: "+a.etag);return{data:tt(c.data,a.tileCompression),cacheControl:c.cacheControl,expires:c.expires}}else s=a.leafDirectoryOffset+f.offset,o=f.length;else return}throw Error("Maximum directory depth exceeded")})}getZxy(t,e,r,i){return V(this,null,function*(){try{return yield this.getZxyAttempt(t,e,r,i)}catch(n){if(n instanceof ye)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,e,r,i);throw n}})}getMetadataAttempt(){return V(this,null,function*(){let t=yield this.cache.getHeader(this.source),e=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength);if(t.etag&&t.etag!==e.etag)throw new ye("Etag mismatch: "+t.etag);let r=tt(e.data,t.internalCompression),i=new TextDecoder("utf-8");return JSON.parse(i.decode(r))})}getMetadata(){return V(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof ye)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}};var J;(function(i){i[i.Point=1]="Point",i[i.Line=2]="Line",i[i.Polygon=3]="Polygon"})(J||(J={}));function ae(t){return t.x+":"+t.y+":"+t.z}var On=(t,e,r)=>{t.pos=e;for(var i=t.readVarint()+t.pos,n=1,a=0,s=0,o=0,l=1/0,u=-1/0,f=1/0,c=-1/0,d=[],x=[];t.pos>3}if(a--,n===1||n===2)s+=t.readSVarint()*r,o+=t.readSVarint()*r,su&&(u=s),oc&&(c=o),n===1&&(x.length>0&&d.push(x),x=[]),x.push(new be.default(s,o));else if(n===7)x&&x.push(x[0].clone());else throw new Error("unknown command "+n)}return x&&d.push(x),{geom:d,bbox:{minX:l,minY:f,maxX:u,maxY:c}}};function Or(t,e){let r=new Ar.VectorTile(new Br.default(t)),i=new Map;for(let[n,a]of Object.entries(r.layers)){let s=[],o=a;for(let l=0;ls[0]!=e.z?(s[1].abort(),!1):!0));let i=new AbortController;this.controllers.push([e.z,i]);let n=i.signal,a=yield this.p.getZxy(e.z,e.x,e.y,n);return a?Or(a.data,r):new Map})}},it=class{constructor(e,r){this.url=e,this.controllers=[],this.shouldCancelZooms=r}get(e,r){return E(this,null,function*(){this.shouldCancelZooms&&(this.controllers=this.controllers.filter(s=>s[0]!=e.z?(s[1].abort(),!1):!0));let i=this.url.replace("{z}",e.z.toString()).replace("{x}",e.x.toString()).replace("{y}",e.y.toString()),n=new AbortController;this.controllers.push([e.z,n]);let a=n.signal;return new Promise((s,o)=>{fetch(i,{signal:a}).then(l=>l.arrayBuffer()).then(l=>{let u=Or(l,r);s(u)}).catch(l=>{o(l)})})})}},kt=6378137,Er=85.0511287798,nt=kt*Math.PI,En=t=>{let e=Math.PI/180,r=Math.max(Math.min(Er,t[0]),-Er),i=Math.sin(r*e);return new be.default(kt*t[1]*e,kt*Math.log((1+i)/(1-i))/2)};function Rr(t){return t*t}function at(t,e){return Rr(t.x-e.x)+Rr(t.y-e.y)}function Rn(t,e,r){var i=at(e,r);if(i===0)return at(t,e);var n=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/i;return n=Math.max(0,Math.min(1,n)),at(t,new be.default(e.x+n*(r.x-e.x),e.y+n*(r.y-e.y)))}function Mt(t,e){for(var r=!1,i=0,n=e.length-1;it.y!=l>t.y&&t.x<(o-a)*(t.y-s)/(l-s)+a;u&&(r=!r)}return r}function Ir(t){for(var e=0,r=0;r1&&(s.x=s.x-Math.floor(s.x));let o=s.mult(1<{let a=this.cache.get(r);if(a)a.used=performance.now(),i(a.data);else{let s=this.inflight.get(r);s?s.push([i,n]):(this.inflight.set(r,[]),this.source.get(e,this.tileSize).then(o=>{this.cache.set(r,{used:performance.now(),data:o});let l=this.inflight.get(r);if(l&&l.forEach(u=>u[0](o)),this.inflight.delete(r),i(o),this.cache.size>=64){let u=1/0,f;this.cache.forEach((c,d)=>{c.used{let l=this.inflight.get(r);l&&l.forEach(u=>u[1](o)),this.inflight.delete(r),n(o)}))}})})}};var Ee=(t,e,r)=>{let i=[];for(let n of t){let a=[];for(let s of n)a.push(s.clone().mult(e).add(r));i.push(a)}return i},Re=(t,e)=>{let r=1<=r&&(t=t%r),t},Ct=class{constructor(e,r,i){this.tileCache=e,this.maxDataLevel=r,this.levelDiff=i}dataTilesForBounds(e,r){let i=Math.pow(2,e)/Math.pow(2,Math.ceil(e)),n=[];var a=1,s=this.tileCache.tileSize;if(ethis.tileCache.get(a.data_tile)))).map((a,s)=>{let o=i[s];return{data:a,z:e,data_tile:o.data_tile,scale:o.scale,dim:o.dim,origin:o.origin}})})}getDisplayTile(e){return E(this,null,function*(){let r=this.dataTileForDisplayTile(e);return{data:yield this.tileCache.get(r.data_tile),z:e.z,data_tile:r.data_tile,scale:r.scale,origin:r.origin,dim:r.dim}})}queryFeatures(e,r,i){let n=Math.round(i),a=Math.min(n-this.levelDiff,this.maxDataLevel),s=16/(1<{let e=i=>{let n=i.levelDiff===void 0?2:i.levelDiff,a=i.maxDataZoom||14,s;typeof i.url=="string"?i.url.endsWith(".pmtiles")?s=new Oe(i.url,!0):s=new it(i.url,!0):s=new Oe(i.url,!0);let o=new st(s,256*1<f.maxzoom)continue;let w=r.get(f.dataSource||"");if(!!w)for(let z of w){var c=z.data.get(f.dataLayer);if(c===void 0)continue;f.symbolizer.before&&f.symbolizer.before(t,z.z);let h=z.origin,m=z.dim,p=z.scale;if(t.save(),o){t.beginPath();let b=Math.max(h.x-s.x,a.minX-s.x),g=Math.max(h.y-s.y,a.minY-s.y),y=Math.min(h.x-s.x+m,a.maxX-s.x),v=Math.min(h.y-s.y+m,a.maxY-s.y);t.rect(b,g,y-b,v-g),t.clip()}t.translate(h.x-s.x,h.y-s.y);for(var d of c){let b=d.geom,g=d.bbox;g.maxX*p+h.xa.maxX||g.minY*p+h.y>a.maxY||g.maxY*p+h.y{let i=256,n=e/i,a=Math.floor(r.minX/i),s=Math.floor(r.minY/i),o=Math.floor(r.maxX/i),l=Math.floor(r.maxY/i),u=Math.log2(n),f=[];for(let c=a;c<=o;c++){let d=c%(1<this.dim&&(o=!0)}if(s||o){var u=s?this.dim:-this.dim,f=[];for(let x of e.bboxes)f.push({minX:x.minX+u,minY:x.minY,maxX:x.maxX+u,maxY:x.maxY});let c={anchor:new jr.default(e.anchor.x+u,e.anchor.y),bboxes:f,draw:e.draw,order:r,tileKey:i},d=this.current.get(i);d&&d.add(c);for(let x of f){var l=x;l.indexed_label=c,this.tree.insert(l)}}}pruneOrNoop(e){let r=e.split(":"),i,n=0,a=0;for(var s of this.current.keys()){let o=s.split(":");if(o[3]===r[3]){a++;let l=Math.sqrt(Math.pow(+o[0]-+r[0],2)+Math.pow(+o[1]-+r[1],2));l>n&&(n=l,i=s)}i&&a>this.maxLabeledTiles&&this.pruneKey(i)}}pruneKey(e){let r=this.current.get(e);if(!r)return;let i=[];for(let n of this.tree.all())r.has(n.indexed_label)&&i.push(n);i.forEach(n=>{this.tree.remove(n)}),this.current.delete(e)}removeLabel(e){let r=[];for(let n of this.tree.all())e==n.indexed_label&&r.push(n);r.forEach(n=>{this.tree.remove(n)});let i=this.current.get(e.tileKey);i&&i.delete(e)}},Ve=class{constructor(e,r,i,n,a){this.index=new Pt(256*1<l.maxzoom)continue;let u=l.dataSource||"",f=e.get(u);if(!!f)for(let c of f){let d=ae(c.data_tile)+":"+u;if(!i.has(d))continue;let x=c.data.get(l.dataLayer);if(x===void 0)continue;let w=x;l.sort&&w.sort((h,m)=>l.sort?l.sort(h.props,m.props):0);let z={index:this.index,zoom:this.z,scratch:this.scratch,order:o,overzoom:this.z-c.data_tile.z};for(let h of w){if(l.filter&&!l.filter(this.z,h))continue;let m=Ee(h.geom,c.scale,c.origin),p=l.symbolizer.place(z,m,h);if(!!p)for(let b of p){var a=!1;if(!(b.deduplicationKey&&this.index.deduplicationCollides(b))){if(this.index.labelCollides(b,1/0)){if(!this.index.labelCollides(b,o)){let g=this.index.searchLabel(b,1/0);for(let y of g){this.index.removeLabel(y);for(let v of y.bboxes)this.findInvalidatedTiles(n,c.dim,v,d)}this.index.insert(b,o,d),a=!0}}else this.index.insert(b,o,d),a=!0;if(a)for(let g of b.bboxes)(g.maxX>c.origin.x+c.dim||g.minXc.origin.y+c.dim)&&this.findInvalidatedTiles(n,c.dim,g,d)}}}}}for(var s of i)this.index.pruneOrNoop(s);return n.size>0&&this.callback&&this.callback(n),performance.now()-r}findInvalidatedTiles(e,r,i,n){let a=Zr(this.z,r,i);for(let s of a)s.key!=n&&this.index.hasPrefix(s.key)&&e.add(s.display)}add(e){var r=!0;for(let[i,n]of e)for(let a of n)this.index.has(ae(a.data_tile)+":"+i)||(r=!1);return r?0:this.layout(e)}},Ye=class{constructor(e,r,i,n){this.labelers=new Map,this.scratch=e,this.labelRules=r,this.maxLabeledTiles=i,this.callback=n}add(e,r){var i=this.labelers.get(e);return i||(i=new Ve(e,this.scratch,this.labelRules,this.maxLabeledTiles,this.callback),this.labelers.set(e,i)),i.add(r)}getIndex(e){let r=this.labelers.get(e);if(r)return r.index}};var we={earth:"#FFFBF6",glacier:"#ffffff",residential:"#F4F4F8",hospital:"#FFF6F6",cemetery:"#EFF2EE",school:"#F7F6FF",industrial:"#FFF9EF",wood:"#F4F9EF",grass:"#EBF9E3",park:"#E5F9D5",water:"#B7DFF2",sand:"#ebebeb",buildings:"#F2EDE8",highwayCasing:"#FFC3C3",majorRoadCasing:"#FFB9B9",mediumRoadCasing:"#FFCE8E",minorRoadCasing:"#cccccc",highway:"#FFCEBB",majorRoad:"#FFE4B3",mediumRoad:"#FFF2C8",minorRoad:"#ffffff",boundaries:"#9e9e9e",mask:"#dddddd",countryLabel:"#aaaaaa",cityLabel:"#6C6C6C",stateLabel:"#999999",neighbourhoodLabel:"#888888",landuseLabel:"#898989",waterLabel:"#41ABDC",naturalLabel:"#4B8F14",roadsLabel:"#888888",poisLabel:"#606060"};var ve={earth:"#151515",glacier:"#1c1c1c",residential:"#252B2F",hospital:"#3E2C2C",cemetery:"#36483D",school:"#2C3440",industrial:"#33312C",wood:"#3A3E38",grass:"#4E604D",park:"#2C4034",water:"#4D5B73",sand:"#777777",buildings:"#464545",highwayCasing:"#000000",majorRoadCasing:"#1C1B1B",mediumRoadCasing:"#3E3E3E",minorRoadCasing:"#000000",highway:"#5B5B5B",majorRoad:"#595959",mediumRoad:"#4F4F4F",minorRoad:"#393939",boundaries:"#666666",mask:"#dddddd",countryLabel:"#ffffff",cityLabel:"#FFFFFF",stateLabel:"#ffffff",neighbourhoodLabel:"#FDFDFD",landuseLabel:"#DDDDDD",waterLabel:"#707E95",naturalLabel:"#4c4c4c",roadsLabel:"#C4C4C4",poisLabel:"#959393"};function Ue(t,e,r){return Math.min(Math.max(t,r),e)}var _e=class extends Error{constructor(e){super(`Failed to parse color: "${e}"`)}};function In(t){if(typeof t!="string")throw new _e(t);if(t.trim().toLowerCase()==="transparent")return[0,0,0,0];let e=t.trim();e=jn.test(t)?function(s){let o=s.toLowerCase().trim(),l=Xn[function(u){let f=5381,c=u.length;for(;c;)f=33*f^u.charCodeAt(--c);return(f>>>0)%2341}(o)];if(!l)throw new _e(s);return`#${l}`}(t):t;let r=Vn.exec(e);if(r){let s=Array.from(r).slice(1);return[...s.slice(0,3).map(o=>parseInt(Ne(o,2),16)),parseInt(Ne(s[3]||"f",2),16)/255]}let i=Yn.exec(e);if(i){let s=Array.from(i).slice(1);return[...s.slice(0,3).map(o=>parseInt(o,16)),parseInt(s[3]||"ff",16)/255]}let n=Un.exec(e);if(n){let s=Array.from(n).slice(1);return[...s.slice(0,3).map(o=>parseInt(o,10)),parseFloat(s[3]||"1")]}let a=Nn.exec(e);if(a){let[s,o,l,u]=Array.from(a).slice(1).map(parseFloat);if(Ue(0,100,o)!==o)throw new _e(t);if(Ue(0,100,l)!==l)throw new _e(t);return[...qn(s,o,l),u||1]}throw new _e(t)}var $r=t=>parseInt(t.replace(/_/g,""),36),Xn="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((t,e)=>{let r=$r(e.substring(0,3)),i=$r(e.substring(3)).toString(16),n="";for(let a=0;a<6-i.length;a++)n+="0";return t[r]=`${n}${i}`,t},{}),Ne=(t,e)=>Array.from(Array(e)).map(()=>t).join(""),Vn=new RegExp(`^#${Ne("([a-f0-9])",3)}([a-f0-9])?$`,"i"),Yn=new RegExp(`^#${Ne("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),Un=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Ne(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),Nn=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,jn=/^[a-z]+$/i,Wr=t=>Math.round(255*t),qn=(t,e,r)=>{let i=r/100;if(e===0)return[i,i,i].map(Wr);let n=(t%360+360)%360/60,a=(1-Math.abs(2*i-1))*(e/100),s=a*(1-Math.abs(n%2-1)),o=0,l=0,u=0;n>=0&&n<1?(o=a,l=s):n>=1&&n<2?(o=s,l=a):n>=2&&n<3?(l=a,u=s):n>=3&&n<4?(l=s,u=a):n>=4&&n<5?(o=s,u=a):n>=5&&n<6&&(o=a,u=s);let f=i-a/2;return[o+f,l+f,u+f].map(Wr)};function At(t){let[e,r,i,n]=In(t).map((u,f)=>f===3?u:u/255),a=Math.max(e,r,i),s=Math.min(e,r,i),o=(a+s)/2;if(a===s)return[0,0,o,n];let l=a-s;return[60*(e===a?(r-i)/l+(r.5?l/(2-a-s):l/(a+s),o,n]}function Hr(t,e,r,i){return`hsla(${(t%360).toFixed()}, ${Ue(0,100,100*e).toFixed()}%, ${Ue(0,100,100*r).toFixed()}%, ${parseFloat(Ue(0,1,i).toFixed(3))})`}var j=U(Q()),ri=U(Kr()),ii=U(Qr());var I=class{constructor(e,r){this.str=e!=null?e:r,this.per_feature=typeof this.str=="function"&&this.str.length==2}get(e,r){return typeof this.str=="function"?this.str(e,r):this.str}},P=class{constructor(e,r=1){this.value=e!=null?e:r,this.per_feature=typeof this.value=="function"&&this.value.length==2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}},je=class{constructor(e){var r;this.label_props=(r=e==null?void 0:e.label_props)!=null?r:["name"],this.textTransform=e==null?void 0:e.textTransform}get(e,r){let i,n;typeof this.label_props=="function"?n=this.label_props(e,r):n=this.label_props;for(let s of n)if(r.props.hasOwnProperty(s)&&typeof r.props[s]=="string"){i=r.props[s];break}let a;return typeof this.textTransform=="function"?a=this.textTransform(e,r):a=this.textTransform,i&&a==="uppercase"?i=i.toUpperCase():i&&a==="lowercase"?i=i.toLowerCase():i&&a==="capitalize"&&(i=i.toLowerCase().split(" ").map(l=>l[0].toUpperCase()+l.slice(1)).join(" ")),i}},qe=class{constructor(e){var r,i;(e==null?void 0:e.font)?this.font=e.font:(this.family=(r=e==null?void 0:e.fontFamily)!=null?r:"sans-serif",this.size=(i=e==null?void 0:e.fontSize)!=null?i:12,this.weight=e==null?void 0:e.fontWeight,this.style=e==null?void 0:e.fontStyle)}get(e,r){if(this.font)return typeof this.font=="function"?this.font(e,r):this.font;var i="";this.style&&(typeof this.style=="function"?i=this.style(e,r)+" ":i=this.style+" ");var n="";this.weight&&(typeof this.weight=="function"?n=this.weight(e,r)+" ":n=this.weight+" ");var a;typeof this.size=="function"?a=this.size(e,r):a=this.size;var s;return typeof this.family=="function"?s=this.family(e,r):s=this.family,`${i}${n}${a}px ${s}`}},Rt=class{constructor(e,r=[]){this.value=e!=null?e:r,this.per_feature=typeof this.value=="function"&&this.value.length==2}get(e,r){return typeof this.value=="function"?this.value(e,r):this.value}};var It=U(Q()),Kn=(t,e,r)=>{var i=[],n,a,s,o=0,l=0,u=0,f=0,c=0,d=0,x=0,w=0,z=0,h=0,m=0,p=0;if(t.length<2)return[];if(t.length===2)return u=Math.sqrt(Math.pow(t[1].x-t[0].x,2)+Math.pow(t[1].y-t[0].y,2)),[{length:u,beginIndex:0,beginDistance:0,endIndex:2,endDistance:u}];for(f=Math.sqrt(Math.pow(t[1].x-t[0].x,2)+Math.pow(t[1].y-t[0].y,2)),o=1,l=t.length-1;oe||u-p>r)&&(i.push({length:u-p,beginDistance:p,beginIndex:m,endIndex:o+1,endDistance:u}),m=o,p=u),f=c;return o-m>0&&i.push({length:u-p+c,beginIndex:m,beginDistance:p,endIndex:o+1,endDistance:u+c}),i};function ei(t,e,r,i){let n,a,s=0,o=[];var l=-1/0;for(let f of t){let c=Kn(f,Math.PI/45,e);for(let d of c)if(d.length>=e+i){let x=new It.default(f[d.beginIndex].x,f[d.beginIndex].y),w=f[d.endIndex-1],z=new It.default((w.x-x.x)/d.length,(w.y-x.y)/d.length);for(var u=i;u=0&&r-i{let i=document.createElement("canvas"),n=i.getContext("2d");return i.width=t,i.height=e,n!==null&&r(i,n),i},A=class{constructor(e){var r;this.pattern=e.pattern,this.fill=new I(e.fill,"black"),this.opacity=new P(e.opacity,1),this.stroke=new I(e.stroke,"black"),this.width=new P(e.width,0),this.per_feature=(r=this.fill.per_feature||this.opacity.per_feature||this.stroke.per_feature||this.width.per_feature||e.per_feature)!=null?r:!1,this.do_stroke=!1}before(e,r){if(!this.per_feature){e.globalAlpha=this.opacity.get(r),e.fillStyle=this.fill.get(r),e.strokeStyle=this.stroke.get(r);let i=this.width.get(r);i>0&&(this.do_stroke=!0),e.lineWidth=i}if(this.pattern){let i=e.createPattern(this.pattern,"repeat");i&&(e.fillStyle=i)}}draw(e,r,i,n){var a=!1;if(this.per_feature){e.globalAlpha=this.opacity.get(i,n),e.fillStyle=this.fill.get(i,n);var s=this.width.get(i,n);s&&(a=!0,e.strokeStyle=this.stroke.get(i,n),e.lineWidth=s)}let o=()=>{e.fill(),(a||this.do_stroke)&&e.stroke()};var l=0;e.beginPath();for(var u of r){l+u.length>ni&&(o(),l=0,e.beginPath());for(var f=0;f0&&o()}};function Qn(t,e){return r=>{let i=r-t;return i>=0&&i{if(e.length<1)return 0;if(r<=e[0][0])return e[0][1];if(r>=e[e.length-1][0])return e[e.length-1][1];let i=ai(r,e),n=oi(r,i,t,e);return si(n,e[i][1],e[i+1][1])}}function ea(t,e){return r=>{if(e.length<1)return 0;let i=t;for(let n=0;n=e[n][0]&&(i=e[n][1]);return i}}function ta(t){return Y(1,t)}function ra(t,e,r,i,n){return a=>{if(n.length<1)return 0;let s=new ri.default(t,e,r,i),o=ai(a,n),l=s.solve(oi(a,o,1,n));return si(l,n[o][1],n[o+1][1])}}var R=class{constructor(e){var r;this.color=new I(e.color,"black"),this.width=new P(e.width),this.opacity=new P(e.opacity),this.dash=e.dash?new Rt(e.dash):null,this.dashColor=new I(e.dashColor,"black"),this.dashWidth=new P(e.dashWidth,1),this.lineCap=new I(e.lineCap,"butt"),this.lineJoin=new I(e.lineJoin,"miter"),this.skip=!1,this.per_feature=!!(((r=this.dash)==null?void 0:r.per_feature)||this.color.per_feature||this.opacity.per_feature||this.width.per_feature||this.lineCap.per_feature||this.lineJoin.per_feature||e.per_feature)}before(e,r){this.per_feature||(e.strokeStyle=this.color.get(r),e.lineWidth=this.width.get(r),e.globalAlpha=this.opacity.get(r),e.lineCap=this.lineCap.get(r),e.lineJoin=this.lineJoin.get(r))}draw(e,r,i,n){if(this.skip)return;let a=()=>{this.per_feature&&(e.globalAlpha=this.opacity.get(i,n),e.lineCap=this.lineCap.get(i,n),e.lineJoin=this.lineJoin.get(i,n)),this.dash?(e.save(),this.per_feature?(e.lineWidth=this.dashWidth.get(i,n),e.strokeStyle=this.dashColor.get(i,n),e.setLineDash(this.dash.get(i,n))):e.setLineDash(this.dash.get(i)),e.stroke(),e.restore()):(e.save(),this.per_feature&&(e.lineWidth=this.width.get(i,n),e.strokeStyle=this.color.get(i,n)),e.stroke(),e.restore())};var s=0;e.beginPath();for(var o of r){s+o.length>ni&&(a(),s=0,e.beginPath());for(var l=0;l0&&a()}},li=class{constructor(e){this.name=e.name,this.sheet=e.sheet,this.dpr=window.devicePixelRatio}place(e,r,i){let n=r[0],a=new j.default(r[0][0].x,r[0][0].y),s=this.sheet.get(this.name),o=s.w/this.dpr,l=s.h/this.dpr,u={minX:a.x-o/2,minY:a.y-l/2,maxX:a.x+o/2,maxY:a.y+l/2};return[{anchor:a,bboxes:[u],draw:c=>{c.globalAlpha=1,c.drawImage(this.sheet.canvas,s.x,s.y,s.w,s.h,-s.w/2/this.dpr,-s.h/2/this.dpr,s.w/2,s.h/2)}}]}},se=class{constructor(e){this.radius=new P(e.radius,3),this.fill=new I(e.fill,"black"),this.stroke=new I(e.stroke,"white"),this.width=new P(e.width,0),this.opacity=new P(e.opacity)}draw(e,r,i,n){e.globalAlpha=this.opacity.get(i,n);let a=this.radius.get(i,n),s=this.width.get(i,n);s>0&&(e.strokeStyle=this.stroke.get(i,n),e.lineWidth=s,e.beginPath(),e.arc(r[0][0].x,r[0][0].y,a+s/2,0,2*Math.PI),e.stroke()),e.fillStyle=this.fill.get(i,n),e.beginPath(),e.arc(r[0][0].x,r[0][0].y,a,0,2*Math.PI),e.fill()}place(e,r,i){let n=r[0],a=new j.default(r[0][0].x,r[0][0].y),s=this.radius.get(e.zoom,i),o={minX:a.x-s,minY:a.y-s,maxX:a.x+s,maxY:a.y+s};return[{anchor:a,bboxes:[o],draw:u=>{this.draw(u,[[new j.default(0,0)]],e.zoom,i)}}]}},lt=class{constructor(e){this.font=new qe(e),this.text=new je(e),this.fill=new I(e.fill,"black"),this.background=new I(e.background,"white"),this.padding=new P(e.padding,0)}place(e,r,i){let n=this.text.get(e.zoom,i);if(!n)return;let a=this.font.get(e.zoom,i);e.scratch.font=a;let s=e.scratch.measureText(n),o=s.width,l=s.actualBoundingBoxAscent,u=s.actualBoundingBoxDescent,f=r[0],c=new j.default(r[0][0].x,r[0][0].y),d=this.padding.get(e.zoom,i),x={minX:c.x-o/2-d,minY:c.y-l-d,maxX:c.x+o/2+d,maxY:c.y+u+d};return[{anchor:c,bboxes:[x],draw:z=>{z.globalAlpha=1,z.fillStyle=this.background.get(e.zoom,i),z.fillRect(-o/2-d,-l-d,o+2*d,l+u+2*d),z.fillStyle=this.fill.get(e.zoom,i),z.font=a,z.fillText(n,-o/2,0)}}]}},Ze=class{constructor(e){this.list=e}place(e,r,i){var n=this.list[0].place(e,r,i);if(!n)return;var a=n[0];let s=a.anchor,o=a.bboxes[0],l=o.maxY-o.minY,u=[{draw:a.draw,translate:{x:0,y:0}}],f=[[new j.default(r[0][0].x,r[0][0].y+l)]];for(let d=1;d{for(let x of u)d.save(),d.translate(x.translate.x,x.translate.y),x.draw(d),d.restore()}}]}},ui=(t,e)=>({minX:Math.min(t.minX,e.minX),minY:Math.min(t.minY,e.minY),maxX:Math.max(t.maxX,e.maxX),maxY:Math.max(t.maxY,e.maxY)}),$e=class{constructor(e){this.list=e}place(e,r,i){let n=this.list[0];if(!n)return;var a=n.place(e,r,i);if(!a)return;var s=a[0];let o=s.anchor,l=s.bboxes[0],u=[s.draw];for(let c=1;c{u.forEach(d=>d(c))}}]}},Vt=class{constructor(e){this.symbolizer=e}place(e,r,i){let n=r[0][0],a=this.symbolizer.place(e,[[new j.default(0,0)]],i);if(!a||a.length==0)return;let s=a[0],o=s.bboxes[0],l=o.maxX-o.minX,u=o.maxY-o.minY,f={minX:n.x-l/2,maxX:n.x+l/2,minY:n.y-u/2,maxY:n.y+u/2};return[{anchor:n,bboxes:[f],draw:d=>{d.translate(-l/2,u/2-o.maxY),s.draw(d,{justify:2})}}]}},hi=class{constructor(e,r){this.padding=new P(e,0),this.symbolizer=r}place(e,r,i){let n=this.symbolizer.place(e,r,i);if(!n||n.length==0)return;let a=this.padding.get(e.zoom,i);for(var s of n)for(var o of s.bboxes)o.minX-=a,o.minY-=a,o.maxX+=a,o.maxY+=a;return n}},We=class{constructor(e){this.font=new qe(e),this.text=new je(e),this.fill=new I(e.fill,"black"),this.stroke=new I(e.stroke,"black"),this.width=new P(e.width,0),this.lineHeight=new P(e.lineHeight,1),this.letterSpacing=new P(e.letterSpacing,0),this.maxLineCodeUnits=new P(e.maxLineChars,15),this.justify=e.justify}place(e,r,i){let n=this.text.get(e.zoom,i);if(!n)return;let a=this.font.get(e.zoom,i);e.scratch.font=a;let s=this.letterSpacing.get(e.zoom,i),o=Xt(n,this.maxLineCodeUnits.get(e.zoom,i));var l="",u=0;for(let p of o)p.length>u&&(u=p.length,l=p);let f=e.scratch.measureText(l),c=f.width+s*(u-1),d=f.actualBoundingBoxAscent,x=f.actualBoundingBoxDescent,w=(d+x)*this.lineHeight.get(e.zoom,i),z=new j.default(r[0][0].x,r[0][0].y),h={minX:z.x,minY:z.y-d,maxX:z.x+c,maxY:z.y+x+(o.length-1)*w};return[{anchor:z,bboxes:[h],draw:(p,b)=>{p.globalAlpha=1,p.font=a,p.fillStyle=this.fill.get(e.zoom,i);let g=this.width.get(e.zoom,i);var y=0;for(let F of o){var v=0;if(this.justify==2||b&&b.justify==2?v=(c-p.measureText(F).width)/2:(this.justify==3||b&&b.justify==3)&&(v=c-p.measureText(F).width),g)if(p.lineWidth=g*2,p.strokeStyle=this.stroke.get(e.zoom,i),s>0){var _=v;for(var S of F)p.strokeText(S,_,y),_+=p.measureText(S).width+s}else p.strokeText(F,v,y);if(s>0){var _=v;for(var S of F)p.fillText(S,_,y),_+=p.measureText(S).width+s}else p.fillText(F,v,y);y+=w}}}]}},ee=class{constructor(e){this.centered=new Vt(new We(e))}place(e,r,i){return this.centered.place(e,r,i)}},Yt=class{constructor(e,r){var i,n,a;this.symbolizer=e,this.offsetX=new P(r.offsetX,0),this.offsetY=new P(r.offsetY,0),this.justify=(i=r.justify)!=null?i:void 0,this.placements=(n=r.placements)!=null?n:[2,6,8,4,1,3,5,7],this.ddValues=(a=r.ddValues)!=null?a:()=>({})}place(e,r,i){if(i.geomType!==J.Point)return;let n=r[0][0],a=this.symbolizer.place(e,[[new j.default(0,0)]],i);if(!a||a.length==0)return;let s=a[0],o=s.bboxes[0],l=this.offsetX,u=this.offsetY,f=this.justify,c=this.placements,{offsetX:d,offsetY:x,justify:w,placements:z}=this.ddValues(e.zoom,i)||{};d&&(l=new P(d,0)),x&&(u=new P(x,0)),w&&(f=w),z&&(c=z);let h=l.get(e.zoom,i),m=u.get(e.zoom,i),p=(_,S)=>({minX:_.x+S.x+o.minX,minY:_.y+S.y+o.minY,maxX:_.x+S.x+o.maxX,maxY:_.y+S.y+o.maxY});var b=new j.default(h,m),g;let y=_=>{_.translate(b.x,b.y),s.draw(_,{justify:g})},v=(_,S)=>{let F=p(_,S);if(!e.index.bboxCollides(F,e.order))return[{anchor:n,bboxes:[F],draw:y}]};for(let _ of c){let S=this.computeXAxisOffset(h,o,_),F=this.computeYAxisOffset(m,o,_);return g=this.computeJustify(f,_),b=new j.default(S,F),v(n,b)}}computeXAxisOffset(e,r,i){let n=r.maxX,a=n/2;return[1,5].includes(i)?e-a:[8,7,6].includes(i)?e-n:e}computeYAxisOffset(e,r,i){let n=Math.abs(r.minY),a=r.maxY,s=(r.minY+r.maxY)/2;return[3,7].includes(i)?e-s:[8,2,1].includes(i)?e-a:[6,4,5].includes(i)?e+n:e}computeJustify(e,r){return e||([1,5].includes(r)?2:[2,3,4].includes(r)?1:3)}},fe=class{constructor(e){this.symbolizer=new Yt(new We(e),e)}place(e,r,i){return this.symbolizer.place(e,r,i)}},ze;(function(i){i[i.Above=1]="Above",i[i.Center=2]="Center",i[i.Below=3]="Below"})(ze||(ze={}));var Le=class{constructor(e){var r;this.font=new qe(e),this.text=new je(e),this.fill=new I(e.fill,"black"),this.stroke=new I(e.stroke,"black"),this.width=new P(e.width,0),this.offset=new P(e.offset,0),this.position=(r=e.position)!=null?r:1,this.maxLabelCodeUnits=new P(e.maxLabelChars,40),this.repeatDistance=new P(e.repeatDistance,250)}place(e,r,i){let n=this.text.get(e.zoom,i);if(!n||n.length>this.maxLabelCodeUnits.get(e.zoom,i))return;let a=20,s=i.bbox;if(s.maxY-s.minY4&&(c*=1<({minX:y.x-d/2,minY:y.y-d/2,maxX:y.x+d/2,maxY:y.y+d/2})),g=y=>{y.globalAlpha=1,y.rotate(Math.atan2(m,h)),h<0&&(y.scale(-1,-1),y.translate(-u,0));let v=0;this.position===3?v+=f:this.position===2&&(v+=f/2),y.translate(0,v-this.offset.get(e.zoom,i)),y.font=o;let _=this.width.get(e.zoom,i);_&&(y.lineWidth=_,y.strokeStyle=this.stroke.get(e.zoom,i),y.strokeText(n,0,0)),y.fillStyle=this.fill.get(e.zoom,i),y.fillText(n,0,0)};w.push({anchor:z.start,bboxes:b,draw:g,deduplicationKey:n,deduplicationDistance:c})}return w}},Se=class{constructor(e){this.symbolizer=new We(e)}place(e,r,i){let n=i.bbox;if((n.maxY-n.minY)*(n.maxX-n.minX)<2e4)return;let s=this.symbolizer.place(e,[[new j.default(0,0)]],i);if(!s||s.length==0)return;let o=s[0],l=o.bboxes[0],u=r[0],f=(0,ii.default)([u.map(w=>[w.x,w.y])]),c=new j.default(f[0],f[1]),d={minX:c.x-(l.maxX-l.minX)/2,minY:c.y-(l.maxY-l.minY)/2,maxX:c.x+(l.maxX-l.minX)/2,maxY:c.y+(l.maxY-l.minY)/2};return[{anchor:c,bboxes:[d],draw:w=>{w.translate(o.anchor.x-(l.maxX-l.minX)/2,o.anchor.y),o.draw(w)}}]}};var fi=(t,e)=>{let r=At(e),i=tr({},t);for(let[n,a]of Object.entries(t)){let s=At(a);i[n]=Hr(r[0],r[1],s[2],s[3])}return i},Fe=(t,e)=>(e&&(t=fi(t,e)),[{dataLayer:"earth",symbolizer:new A({fill:t.earth})},{dataLayer:"natural",symbolizer:new A({fill:t.glacier}),filter:(r,i)=>i.props.natural=="glacier"},{dataLayer:"landuse",symbolizer:new A({fill:t.residential}),filter:(r,i)=>i.props.landuse=="residential"||i.props.place=="neighbourhood"},{dataLayer:"landuse",symbolizer:new A({fill:t.hospital}),filter:(r,i)=>i.props.amenity=="hospital"},{dataLayer:"landuse",symbolizer:new A({fill:t.cemetery}),filter:(r,i)=>i.props.landuse=="cemetery"},{dataLayer:"landuse",symbolizer:new A({fill:t.school}),filter:(r,i)=>i.props.amenity=="school"||i.props.amenity=="kindergarten"||i.props.amenity=="university"||i.props.amenity=="college"},{dataLayer:"landuse",symbolizer:new A({fill:t.industrial}),filter:(r,i)=>i.props.landuse=="industrial"},{dataLayer:"natural",symbolizer:new A({fill:t.wood}),filter:(r,i)=>i.props.natural=="wood"},{dataLayer:"landuse",symbolizer:new A({fill:t.grass}),filter:(r,i)=>i.props.landuse=="grass"},{dataLayer:"landuse",symbolizer:new A({fill:t.park}),filter:(r,i)=>i.props.leisure=="park"},{dataLayer:"water",symbolizer:new A({fill:t.water})},{dataLayer:"natural",symbolizer:new A({fill:t.sand}),filter:(r,i)=>i.props.natural=="sand"},{dataLayer:"buildings",symbolizer:new A({fill:t.buildings})},{dataLayer:"roads",symbolizer:new R({color:t.highwayCasing,width:Y(1.4,[[5,1.5],[11,4],[16,9],[20,40]])}),filter:(r,i)=>i.props["pmap:kind"]=="highway"},{dataLayer:"roads",symbolizer:new R({color:t.majorRoadCasing,width:Y(1.4,[[9,3],[12,4],[17,8],[20,22]])}),filter:(r,i)=>i.props["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new R({color:t.mediumRoadCasing,width:Y(1.4,[[13,3],[17,6],[20,18]])}),filter:(r,i)=>i.props["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new R({color:t.minorRoadCasing,width:Y(1.4,[[14,2],[17,5],[20,15]])}),filter:(r,i)=>i.props["pmap:kind"]=="minor_road"},{dataLayer:"roads",symbolizer:new R({color:t.minorRoad,width:Y(1.4,[[14,1],[17,3],[20,13]])}),filter:(r,i)=>i.props["pmap:kind"]=="minor_road"},{dataLayer:"roads",symbolizer:new R({color:t.mediumRoad,width:Y(1.4,[[13,2],[17,4],[20,15]])}),filter:(r,i)=>i.props["pmap:kind"]=="medium_road"},{dataLayer:"roads",symbolizer:new R({color:t.majorRoad,width:Y(1.4,[[9,2],[12,3],[17,6],[20,20]])}),filter:(r,i)=>i.props["pmap:kind"]=="major_road"},{dataLayer:"roads",symbolizer:new R({color:t.highway,width:Y(1.4,[[5,.5],[11,2.5],[16,7],[20,30]])}),filter:(r,i)=>i.props["pmap:kind"]=="highway"},{dataLayer:"boundaries",symbolizer:new R({color:t.boundaries,width:2,opacity:.4})},{dataLayer:"mask",symbolizer:new A({fill:t.mask})}]),ke=(t,e,r,i)=>{e&&(t=fi(t,e));var n=["name"];r&&(n=r);let a=(s,o)=>i?s instanceof fe?new Ze([s,new fe({fill:o,label_props:i})]):new Ze([s,new ee({fill:o,label_props:i})]):s;return[{dataLayer:"places",symbolizer:a(new ee({label_props:n,fill:t.countryLabel,lineHeight:1.5,font:(s,o)=>s<6?"200 14px sans-serif":"200 20px sans-serif",textTransform:"uppercase"}),t.countryLabel),filter:(s,o)=>o.props["pmap:kind"]=="country"},{dataLayer:"places",symbolizer:a(new ee({label_props:n,fill:t.stateLabel,font:"300 16px sans-serif"}),t.stateLabel),filter:(s,o)=>o.props["pmap:kind"]=="state"},{id:"cities_high",dataLayer:"places",filter:(s,o)=>o.props["pmap:kind"]=="city",minzoom:7,symbolizer:a(new ee({label_props:n,fill:t.cityLabel,font:(s,o)=>(o==null?void 0:o.props["pmap:rank"])===1?s>8?"600 20px sans-serif":"600 12px sans-serif":s>8?"600 16px sans-serif":"600 10px sans-serif"}),t.cityLabel),sort:(s,o)=>s["pmap:rank"]-o["pmap:rank"]},{id:"cities_low",dataLayer:"places",filter:(s,o)=>o.props["pmap:kind"]=="city",maxzoom:6,symbolizer:new $e([new se({radius:2,fill:t.cityLabel}),a(new fe({label_props:n,fill:t.cityLabel,offsetX:2,offsetY:2,font:(s,o)=>(o==null?void 0:o.props["pmap:rank"])===1?s>8?"600 20px sans-serif":"600 12px sans-serif":s>8?"600 16px sans-serif":"600 10px sans-serif"}),t.cityLabel)]),sort:(s,o)=>s["pmap:rank"]-o["pmap:rank"]},{id:"neighbourhood",dataLayer:"places",symbolizer:a(new ee({label_props:n,fill:t.neighbourhoodLabel,font:"500 10px sans-serif",textTransform:"uppercase"}),t.neighbourhoodLabel),filter:(s,o)=>o.props["pmap:kind"]=="neighbourhood"},{dataLayer:"landuse",symbolizer:a(new Se({label_props:n,fill:t.landuseLabel,font:"300 12px sans-serif"}),t.landuseLabel)},{dataLayer:"water",symbolizer:a(new Se({label_props:n,fill:t.waterLabel,font:"italic 600 12px sans-serif"}),t.waterLabel)},{dataLayer:"natural",symbolizer:a(new Se({label_props:n,fill:t.naturalLabel,font:"italic 300 12px sans-serif"}),t.naturalLabel)},{dataLayer:"roads",symbolizer:a(new Le({label_props:n,fill:t.roadsLabel,font:"500 12px sans-serif"}),t.roadsLabel),minzoom:12},{dataLayer:"roads",symbolizer:new lt({label_props:["ref"],font:"600 9px sans-serif",background:t.highway,padding:2,fill:t.neighbourhoodLabel}),filter:(s,o)=>o.props["pmap:kind"]=="highway"},{dataLayer:"pois",symbolizer:new $e([new se({radius:2,fill:t.poisLabel}),a(new fe({label_props:n,fill:t.poisLabel,offsetX:2,offsetY:2,font:"300 10px sans-serif"}),t.poisLabel)])}]};var ci=(t,e,r)=>[{dataSource:t,dataLayer:e,symbolizer:new se({opacity:.2,fill:r,radius:4}),filter:(i,n)=>n.geomType==J.Point},{dataSource:t,dataLayer:e,symbolizer:new R({opacity:.2,color:r,width:2}),filter:(i,n)=>n.geomType==J.Line},{dataSource:t,dataLayer:e,symbolizer:new A({opacity:.2,fill:r,stroke:r,width:1}),filter:(i,n)=>n.geomType==J.Polygon}],ut=(t,e)=>{var r=[];for(var[i,n]of t)for(var a of n)for(var s of a.data.keys())i===e.dataSource&&s===e.dataLayer||(r=r.concat(ci(i,s,"steelblue")));return r=r.concat(ci(e.dataSource||"",e.dataLayer,"red")),r};var He=6378137,di=85.0511287798,$=He*Math.PI,mi=t=>{let e=Math.PI/180,r=Math.max(Math.min(di,t.y),-di),i=Math.sin(r*e);return new oe.default(He*t.x*e,He*Math.log((1+i)/(1-i))/2)},ia=t=>{var e=180/Math.PI;return{lat:(2*Math.atan(Math.exp(t.y/He))-Math.PI/2)*e,lng:t.x*e/He}},na=(t,e)=>r=>{let i=mi(r);return new oe.default((i.x+$)/($*2),1-(i.y+$)/($*2)).mult((1<r=>{let i=new oe.default(r.x,r.y).add(t).div((1<{let r=e*(360/t);return Math.log2(r/256)},pi=class{constructor(e){let r=e.dark?ve:we;this.paint_rules=e.paint_rules||Fe(r,e.shade),this.label_rules=e.label_rules||ke(r,e.shade,e.language1,e.language2),this.backgroundColor=e.backgroundColor,this.views=Ie(e),this.debug=e.debug||"",this.xray=e.xray}drawContext(e,r,i,n,a){return E(this,null,function*(){let s=mi(n),l=new oe.default((s.x+$)/($*2),1-(s.y+$)/($*2)).clone().mult(Math.pow(2,a)*256).sub(new oe.default(r/2,i/2)),u={minX:l.x,minY:l.y,maxX:l.x+r,maxY:l.y+i},f=[];for(let[p,b]of this.views){let g=b.getBbox(a,u);f.push({key:p,promise:g})}let c=yield Promise.all(f.map(p=>p.promise.then(b=>({status:"fulfilled",value:b,key:p.key}),b=>({status:"rejected",value:[],reason:b,key:p.key})))),d=new Map;for(let p of c)p.status==="fulfilled"&&d.set(p.key,p.value);let x=performance.now(),w=new Ve(a,e,this.label_rules,16,void 0),z=w.add(d);this.backgroundColor&&(e.save(),e.fillStyle=this.backgroundColor,e.fillRect(0,0,r,i),e.restore());let h=this.paint_rules;this.xray&&(h=ut(d,this.xray));let m=Xe(e,a,d,this.xray?null:w.index,h,u,l,!0,this.debug);if(this.debug){e.save(),e.translate(-l.x,-l.y),e.strokeStyle=this.debug,e.fillStyle=this.debug,e.font="12px sans-serif";let p=0;for(let[b,g]of d){for(let y of g){e.strokeRect(y.origin.x,y.origin.y,y.dim,y.dim);let v=y.data_tile;e.fillText(b+(b?" ":"")+v.z+" "+v.x+" "+v.y,y.origin.x+4,y.origin.y+14*(1+p))}p++}e.restore()}return{elapsed:performance.now()-x,project:na(l,a),unproject:aa(l,a)}})}drawCanvas(a,s,o){return E(this,arguments,function*(e,r,i,n={}){let l=window.devicePixelRatio,u=e.clientWidth,f=e.clientHeight;e.width==u*l&&e.height==f*l||(e.width=u*l,e.height=f*l),n.lang&&(e.lang=n.lang);let c=e.getContext("2d");return c.setTransform(l,0,0,l,0,0),this.drawContext(c,u,f,r,i)})}drawContextBounds(e,r,i,n,a){return E(this,null,function*(){let s=i.x-r.x,o=new oe.default((r.x+i.x)/2,(r.y+i.y)/2);return this.drawContext(e,n,a,o,Ut(s,n))})}drawCanvasBounds(s,o,l,u){return E(this,arguments,function*(e,r,i,n,a={}){let f=i.x-r.x,c=new oe.default((r.x+i.x)/2,(r.y+i.y)/2);return this.drawCanvas(e,c,Ut(f,n),a)})}};var gi=U(Q());var sa=t=>new Promise((e,r)=>{setTimeout(()=>{e()},t)}),oa=t=>t.then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})),la=(t={})=>{class e extends L.GridLayer{constructor(i={}){i.noWrap&&!i.bounds&&(i.bounds=[[-90,-180],[90,180]]),i.attribution==null&&(i.attribution='Protomaps \xA9 OpenStreetMap'),super(i);let n=i.dark?ve:we;this.paint_rules=i.paint_rules||Fe(n,i.shade),this.label_rules=i.label_rules||ke(n,i.shade,i.language1,i.language2),this.backgroundColor=i.backgroundColor,this.lastRequestedZ=void 0,this.xray=i.xray,this.tasks=i.tasks||[],this.views=Ie(i),this.debug=i.debug;let a=document.createElement("canvas").getContext("2d");this.scratch=a,this.onTilesInvalidated=s=>{s.forEach(o=>{this.rerenderTile(o)})},this.labelers=new Ye(this.scratch,this.label_rules,16,this.onTilesInvalidated),this.tile_size=256*window.devicePixelRatio,this.tileDelay=i.tileDelay||3,this.lang=i.lang,this.inspector=this.inspect(this)}setDefaultStyle(i,n,a,s){let o=i?ve:we;this.paint_rules=Fe(o,n),this.label_rules=ke(o,n,a,s)}renderTile(i,n,a,s=()=>{}){return E(this,null,function*(){this.lastRequestedZ=i.z;let o=[];for(let[_,S]of this.views){let F=S.getDisplayTile(i);o.push({key:_,promise:F})}let l=yield Promise.all(o.map(_=>_.promise.then(S=>({status:"fulfilled",value:S,key:_.key}),S=>({status:"rejected",reason:S,key:_.key})))),u=new Map;for(let _ of l)_.status==="fulfilled"?u.set(_.key,[_.value]):_.reason.name==="AbortError"||console.error(_.reason);if(n.key!=a||this.lastRequestedZ!==i.z||(yield Promise.all(this.tasks.map(oa)),n.key!=a)||this.lastRequestedZ!==i.z)return;let f=this.labelers.add(i.z,u);if(n.key!=a||this.lastRequestedZ!==i.z)return;let c=this.labelers.getIndex(i.z);if(!this._map)return;let d=this._map.getCenter().wrap(),x=this._getTiledPixelBounds(d),w=this._pxBoundsToTileRange(x),z=w.getCenter(),h=i.distanceTo(z)*this.tileDelay;if(yield sa(h),n.key!=a||this.lastRequestedZ!==i.z)return;let m=16,p={minX:256*i.x-m,minY:256*i.y-m,maxX:256*(i.x+1)+m,maxY:256*(i.y+1)+m},b=new gi.default(256*i.x,256*i.y);n.width=this.tile_size,n.height=this.tile_size;let g=n.getContext("2d");g.setTransform(this.tile_size/256,0,0,this.tile_size/256,0,0),g.clearRect(0,0,256,256),this.backgroundColor&&(g.save(),g.fillStyle=this.backgroundColor,g.fillRect(0,0,256,256),g.restore());var y=0;let v=this.paint_rules;if(this.xray&&(v=ut(u,this.xray)),y=Xe(g,i.z,u,this.xray?null:c,v,p,b,!1,this.debug),this.debug){g.save(),g.fillStyle=this.debug,g.font="600 12px sans-serif",g.fillText(i.z+" "+i.x+" "+i.y,4,14),g.font="12px sans-serif";let _=28;for(let[S,F]of u){let T=F[0].data_tile;g.fillText(S+(S?" ":"")+T.z+" "+T.x+" "+T.y,4,_),_+=14}g.font="600 10px sans-serif",y>8&&(g.fillText(y.toFixed()+" ms paint",4,_),_+=14),f>8&&g.fillText(f.toFixed()+" ms layout",4,_),g.strokeStyle=this.debug,g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(0,256),g.stroke(),g.lineWidth=.5,g.beginPath(),g.moveTo(0,0),g.lineTo(256,0),g.stroke(),g.restore()}s()})}rerenderTile(i){for(let n in this._tiles){let a=this._wrapCoords(this._keyToTileCoords(n));i===this._tileCoordsToKey(a)&&this.renderTile(a,this._tiles[n].el,i)}}clearLayout(){this.labelers=new Ye(this.scratch,this.label_rules,16,this.onTilesInvalidated)}rerenderTiles(){for(let i in this._tiles){let n=this._wrapCoords(this._keyToTileCoords(i)),a=this._tileCoordsToKey(n);this.renderTile(n,this._tiles[i].el,a)}}createTile(i,n){let a=L.DomUtil.create("canvas","leaflet-tile");a.lang=this.lang;let s=this._tileCoordsToKey(i);return a.key=s,this.renderTile(i,a,s,()=>{n(null,a)}),a}_removeTile(i){let n=this._tiles[i];!n||(n.el.removed=!0,n.el.key=void 0,L.DomUtil.removeClass(n.el,"leaflet-tile-loaded"),n.el.width=n.el.height=0,L.DomUtil.remove(n.el),delete this._tiles[i],this.fire("tileunload",{tile:n.el,coords:this._keyToTileCoords(i)}))}queryFeatures(i,n){let a=new Map;for(var[s,o]of this.views)a.set(s,o.queryFeatures(i,n,this._map.getZoom()));return a}inspect(i){return n=>{let a=["\u25CE","\u27CD","\u25FB"],s=i._map.wrapLatLng(n.latlng),o=i.queryFeatures(s.lng,s.lat);var l="";let u=!0;for(var[f,c]of o)for(var d of c)if(!(this.xray&&this.xray!==!0&&!((this.xray.dataSource||"")===f&&this.xray.dataLayer===d.layerName))){l=l+`
    ${a[d.feature.geomType-1]} ${f} ${f?"/":""} ${d.layerName} ${d.feature.id||""}
    `;for(let x in d.feature.props)l=l+`
    ${x} = ${d.feature.props[x]}
    `;u=!1}u&&(l="No features."),L.popup().setLatLng(n.latlng).setContent('
    '+l+"
    ").openOn(i._map)}}addInspector(i){return i.on("click",this.inspector)}removeInspector(i){return i.off("click",this.inspector)}}return new e(t)};function Nt(t){let e=0,r=0;for(let o of t)e+=o.w*o.h,r=Math.max(r,o.w);t.sort((o,l)=>l.h-o.h);let i=Math.max(Math.ceil(Math.sqrt(e/.95)),r),n=[{x:0,y:0,w:i,h:1/0}],a=0,s=0;for(let o of t)for(let l=n.length-1;l>=0;l--){let u=n[l];if(!(o.w>u.w||o.h>u.h)){if(o.x=u.x,o.y=u.y,s=Math.max(s,o.y+o.h),a=Math.max(a,o.x+o.w),o.w===u.w&&o.h===u.h){let f=n.pop();l{let i=new FontFace(t,"url("+e+")",{weight:r});return document.fonts.add(i),i.load()},xi=t=>E(void 0,null,function*(){return new Promise((e,r)=>{let i=new Image;i.onload=()=>e(i),i.onerror=()=>r("Invalid SVG"),i.src=t})}),ha=` + + + + + + +`,yi=class{constructor(e){this.src=e,this.canvas=document.createElement("canvas"),this.mapping=new Map,this.missingBox={x:0,y:0,w:0,h:0}}load(){return E(this,null,function*(){let e=this.src,r=window.devicePixelRatio;e.endsWith(".html")&&(e=yield(yield fetch(e)).text());let i=new window.DOMParser().parseFromString(e,"text/html"),n=Array.from(i.body.children),a=yield xi("data:image/svg+xml;base64,"+btoa(ha)),s=[{w:a.width*r,h:a.height*r,img:a,id:""}],o=new XMLSerializer;for(let d of n){var l=btoa(o.serializeToString(d)),u="data:image/svg+xml;base64,"+l;let x=yield xi(u);s.push({w:x.width*r,h:x.height*r,img:x,id:d.id})}let f=Nt(s);this.canvas.width=f.w,this.canvas.height=f.h;let c=this.canvas.getContext("2d");if(c)for(let d of s)d.x!==void 0&&d.y!==void 0&&(c.drawImage(d.img,d.x,d.y,d.w,d.h),d.id?this.mapping.set(d.id,{x:d.x,y:d.y,w:d.w,h:d.h}):this.missingBox={x:d.x,y:d.y,w:d.w,h:d.h});return this})}get(e){let r=this.mapping.get(e);return r||(r=this.missingBox),r}};function ht(t,e){return typeof t=="number"?t:e}function Ke(t){if(t.includes("$type"))return e=>!0;if(t[0]=="==")return(e,r)=>r.props[t[1]]===t[2];if(t[0]=="!=")return(e,r)=>r.props[t[1]]!==t[2];if(t[0]=="!"){let e=Ke(t[1]);return(r,i)=>!e(r,i)}else{if(t[0]==="<")return(e,r)=>ht(r.props[t[1]],1/0)ht(r.props[t[1]],1/0)<=t[2];if(t[0]===">")return(e,r)=>ht(r.props[t[1]],-1/0)>t[2];if(t[0]===">=")return(e,r)=>ht(r.props[t[1]],-1/0)>=t[2];if(t[0]==="in")return(e,r)=>t.slice(2,t.length).includes(r.props[t[1]]);if(t[0]==="!in")return(e,r)=>!t.slice(2,t.length).includes(r.props[t[1]]);if(t[0]==="has")return(e,r)=>r.props.hasOwnProperty(t[1]);if(t[0]==="!has")return(e,r)=>!r.props.hasOwnProperty(t[1]);if(t[0]==="all"){let e=t.slice(1,t.length).map(r=>Ke(r));return(r,i)=>e.every(n=>n(r,i))}else if(t[0]==="any"){let e=t.slice(1,t.length).map(r=>Ke(r));return(r,i)=>e.some(n=>n(r,i))}else return console.log("Unimplemented filter: ",t[0]),e=>!1}}function ft(t){if(t.base&&t.stops)return r=>Y(t.base,t.stops)(r-1);if(t[0]=="interpolate"&&t[1][0]=="exponential"&&t[2]=="zoom"){let r=t.slice(3),i=[];for(var e=0;eY(t[1][1],i)(n-1)}else if(t[0]=="step"&&t[1][0]=="get"){let r=t.slice(2),i=t[1][1];return(n,a)=>{let s=a==null?void 0:a.props[i];if(typeof s=="number"){if(s1}function jt(t,e=0){return t?typeof t=="number"?t:(r,i)=>i?ft(t)(r,i):e:e}function qt(t,e){let r=jt(t,1),i=jt(e);return(n,a)=>{let s=typeof r=="number"?r:r(n,a);return i?s+(typeof i=="number"?i:i(n,a)):s}}function Zt(t,e){let r=[];for(let o of t["text-font"])e.hasOwnProperty(o)&&r.push(e[o]);r.length===0&&r.push({face:"sans-serif"});let i=t["text-size"];var n="";r.length&&r[0].weight&&(n=r[0].weight+" ");var a="";if(r.length&&r[0].style&&(a=r[0].style+" "),typeof i=="number")return o=>`${a}${n}${i}px ${r.map(l=>l.face).join(", ")}`;if(i.stops){var s=1.4;i.base&&(s=i.base);let o=ft(i);return(l,u)=>`${a}${n}${o(l,u)}px ${r.map(f=>f.face).join(", ")}`}else if(i[0]=="step"){let o=ft(i);return(l,u)=>`${a}${n}${o(l,u)}px ${r.map(f=>f.face).join(", ")}`}else return console.log("Can't parse font: ",t),o=>"12px sans-serif"}function fa(t,e){let r=[],i=[],n=new Map;for(var a of t.layers){if(n.set(a.id,a),a.layout&&a.layout.visibility=="none")continue;if(a.ref){let u=n.get(a.ref);a.type=u.type,a.filter=u.filter,a.source=u.source,a["source-layer"]=u["source-layer"]}let l=a["source-layer"];var s,o=void 0;a.filter&&(o=Ke(a.filter)),a.type=="fill"?r.push({dataLayer:a["source-layer"],filter:o,symbolizer:new A({fill:a.paint["fill-color"],opacity:a.paint["fill-opacity"]})}):a.type=="fill-extrusion"?r.push({dataLayer:a["source-layer"],filter:o,symbolizer:new A({fill:a.paint["fill-extrusion-color"],opacity:a.paint["fill-extrusion-opacity"]})}):a.type=="line"?a.paint["line-dasharray"]?r.push({dataLayer:a["source-layer"],filter:o,symbolizer:new R({width:qt(a.paint["line-width"],a.paint["line-gap-width"]),dash:a.paint["line-dasharray"],dashColor:a.paint["line-color"]})}):r.push({dataLayer:a["source-layer"],filter:o,symbolizer:new R({color:a.paint["line-color"],width:qt(a.paint["line-width"],a.paint["line-gap-width"])})}):a.type=="symbol"?a.layout["symbol-placement"]=="line"?i.push({dataLayer:a["source-layer"],filter:o,symbolizer:new Le({font:Zt(a.layout,e),fill:a.paint["text-color"],width:a.paint["text-halo-width"],stroke:a.paint["text-halo-color"],textTransform:a.layout["text-transform"],label_props:a.layout["text-field"]?[a.layout["text-field"]]:void 0})}):i.push({dataLayer:a["source-layer"],filter:o,symbolizer:new ee({font:Zt(a.layout,e),fill:a.paint["text-color"],stroke:a.paint["text-halo-color"],width:a.paint["text-halo-width"],textTransform:a.layout["text-transform"],label_props:a.layout["text-field"]?[a.layout["text-field"]]:void 0})}):a.type=="circle"&&r.push({dataLayer:a["source-layer"],filter:o,symbolizer:new se({radius:a.paint["circle-radius"],fill:a.paint["circle-color"],stroke:a.paint["circle-stroke-color"],width:a.paint["circle-stroke-width"]})})}return i.reverse(),{paint_rules:r,label_rules:i,tasks:[]}}return ca;})(); +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ diff --git a/examples/containers/wasm-workers-server/examples/python-basic/.wws.toml b/examples/containers/wasm-workers-server/examples/python-basic/.wws.toml new file mode 100644 index 00000000..9721deed --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-basic/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "2027b73556ca02155f026cee751ab736985917d2f28bbcad5aac928c719e1112" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/python-basic/README.md b/examples/containers/wasm-workers-server/examples/python-basic/README.md new file mode 100644 index 00000000..abd9c124 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-basic/README.md @@ -0,0 +1,21 @@ +# Python basic example + +Run a Python worker in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/python-basic" +``` + +## Resources + +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/python-basic/index.py b/examples/containers/wasm-workers-server/examples/python-basic/index.py new file mode 100644 index 00000000..0da25b9e --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-basic/index.py @@ -0,0 +1,43 @@ +def worker(req): + # Body response + body = '''\ + + +Wasm Workers Server + + + + + + +
    +

    Hello from Wasm Workers Server šŸ‘‹

    +
    Replying to {url}
    +Method: {method}
    +Host header: {host}
    +

    + This page was generated by a Python script +

    +
    + + '''.format( + url=req.url, + method=req.method, + host=req.headers["host"] + ) + + # Build a new response + res = Response(body) + + # Add a new header + res.headers["x-generated-by"] = "wasm-workers-server" + + return res \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-envs/.wws.toml b/examples/containers/wasm-workers-server/examples/python-envs/.wws.toml new file mode 100644 index 00000000..9721deed --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-envs/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "2027b73556ca02155f026cee751ab736985917d2f28bbcad5aac928c719e1112" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/python-envs/README.md b/examples/containers/wasm-workers-server/examples/python-envs/README.md new file mode 100644 index 00000000..7c1ff8d5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-envs/README.md @@ -0,0 +1,22 @@ +# Python environment variables example + +Run a Python worker that uses environment variables in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/python-envs" +``` + +## Resources + +* [Environment variables](https://workers.wasmlabs.dev/docs/features/environment-variables) +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/python-envs/envs.py b/examples/containers/wasm-workers-server/examples/python-envs/envs.py new file mode 100644 index 00000000..f902962d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-envs/envs.py @@ -0,0 +1,9 @@ +import os + +def worker(req): + # Body response + body = "The environment variable value is: {message}".format( + message=os.getenv("MESSAGE") + ) + + return Response(body) \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-envs/envs.toml b/examples/containers/wasm-workers-server/examples/python-envs/envs.toml new file mode 100644 index 00000000..4c90dfc5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-envs/envs.toml @@ -0,0 +1,5 @@ +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello! This message comes from an environment variable" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-kv/.wws.toml b/examples/containers/wasm-workers-server/examples/python-kv/.wws.toml new file mode 100644 index 00000000..9721deed --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-kv/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "2027b73556ca02155f026cee751ab736985917d2f28bbcad5aac928c719e1112" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/python-kv/README.md b/examples/containers/wasm-workers-server/examples/python-kv/README.md new file mode 100644 index 00000000..6417c0ad --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-kv/README.md @@ -0,0 +1,22 @@ +# Python Key / Value store example + +Run a Python worker that uses a Key / Value store in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/python-kv" +``` + +## Resources + +* [Key / Value store](https://workers.wasmlabs.dev/docs/features/key-value) +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/python-kv/counter.py b/examples/containers/wasm-workers-server/examples/python-kv/counter.py new file mode 100644 index 00000000..901f5a6f --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-kv/counter.py @@ -0,0 +1,24 @@ +CACHE_KEY = "counter" + +def worker(request): + count = Cache.get(CACHE_KEY) + + if count is None: + count = 0 + else: + count = int(count) + + # Body response + body = '''\ + The counter value is: {count} + '''.format( + count=count + ) + + # Build a new response + res = Response(body) + + # Update the counter + Cache.set(CACHE_KEY, count + 1) + + return res \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-kv/counter.toml b/examples/containers/wasm-workers-server/examples/python-kv/counter.toml new file mode 100644 index 00000000..aa9f6a95 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-kv/counter.toml @@ -0,0 +1,6 @@ +name = "counter" +version = "1" + +[data] +[data.kv] +namespace = "counter" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-libs/.wws.toml b/examples/containers/wasm-workers-server/examples/python-libs/.wws.toml new file mode 100644 index 00000000..b9791233 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217-1" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "74d10132b0577a39e4ea30002d4605b7cdfb8f39abca327a45c8b313de7ea304" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/python-libs/README.md b/examples/containers/wasm-workers-server/examples/python-libs/README.md new file mode 100644 index 00000000..b0a55f12 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/README.md @@ -0,0 +1,36 @@ +# Python + libraries example + +Run a Python worker that uses a Python library in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* Clone the repository: + + ```shell-session + git clone https://github.com/vmware-labs/wasm-workers-server.git && + cd ./wasm-workers-server/examples/python-libs + ``` + +* Install the Python libraries + + ```shell-session + pip3 install -r requirements.txt -t ./_libs + ``` + +## Run + +This example runs from the previously cloned repository (See [Prerequisites](#prerequisites)). Make sure you followed all the steps and you're in the `examples/python-libs` folder: + +```shell-session +wws . +``` + +## Resources + +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/python-libs/_libs/.gitignore b/examples/containers/wasm-workers-server/examples/python-libs/_libs/.gitignore new file mode 100644 index 00000000..611b6fb7 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/_libs/.gitignore @@ -0,0 +1,2 @@ +!.gitignore +**/ diff --git a/examples/containers/wasm-workers-server/examples/python-libs/index.py b/examples/containers/wasm-workers-server/examples/python-libs/index.py new file mode 100644 index 00000000..b5e3b9a2 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/index.py @@ -0,0 +1,25 @@ +from bs4 import BeautifulSoup + +html_doc = """ + + Wasm Workers Server + + + + +
    +

    Hello from Wasm Workers Server

    +

    + This page was generated by a Python file running in WebAssembly. +

    +
    + +""" + +def worker(req): + soup = BeautifulSoup(html_doc, 'html.parser') + + res = Response(soup.get_text("

    ", True)) + res.headers["x-generated-by"] = "wasm-workers-server" + + return res diff --git a/examples/containers/wasm-workers-server/examples/python-libs/index.toml b/examples/containers/wasm-workers-server/examples/python-libs/index.toml new file mode 100644 index 00000000..4771b49d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/index.toml @@ -0,0 +1,9 @@ +name = "libs" +version = "1" + +[vars] +PYTHONPATH = "/opt/python/libs" + +[[folders]] +from = "./_libs" +to = "/opt/python/libs" diff --git a/examples/containers/wasm-workers-server/examples/python-libs/requirements.txt b/examples/containers/wasm-workers-server/examples/python-libs/requirements.txt new file mode 100644 index 00000000..c1f5f713 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-libs/requirements.txt @@ -0,0 +1 @@ +beautifulsoup4 diff --git a/examples/containers/wasm-workers-server/examples/python-mount/.wws.toml b/examples/containers/wasm-workers-server/examples/python-mount/.wws.toml new file mode 100644 index 00000000..9721deed --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-mount/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "python" +version = "3.11.1+20230217" +tags = [ + "latest", + "3.11", + "3.11.1", +] +status = "active" +extensions = ["py"] +args = [ + "--", + "/src/index.py", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm" +filename = "python.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/poly.py" +filename = "poly.py" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "2027b73556ca02155f026cee751ab736985917d2f28bbcad5aac928c719e1112" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" diff --git a/examples/containers/wasm-workers-server/examples/python-mount/README.md b/examples/containers/wasm-workers-server/examples/python-mount/README.md new file mode 100644 index 00000000..057f76c3 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-mount/README.md @@ -0,0 +1,22 @@ +# Python mount folders example + +Run a Python worker that uses data from a mounted folder in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/python-mount" +``` + +## Resources + +* [Mount folders](https://workers.wasmlabs.dev/docs/features/mount-folders) +* [Python documentation](https://workers.wasmlabs.dev/docs/languages/python) diff --git a/examples/containers/wasm-workers-server/examples/python-mount/_assets/index.html b/examples/containers/wasm-workers-server/examples/python-mount/_assets/index.html new file mode 100644 index 00000000..79abeea4 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-mount/_assets/index.html @@ -0,0 +1 @@ +

    This page was loaded from a mounted file!

    \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-mount/index.py b/examples/containers/wasm-workers-server/examples/python-mount/index.py new file mode 100644 index 00000000..8eb68de4 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-mount/index.py @@ -0,0 +1,7 @@ +# Read a mounted file and return it +def worker(request): + s = "" + with open("/src/assets/index.html") as f: + s = f.read() + + return Response(s) \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/python-mount/index.toml b/examples/containers/wasm-workers-server/examples/python-mount/index.toml new file mode 100644 index 00000000..ec7629c2 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/python-mount/index.toml @@ -0,0 +1,5 @@ +version = "1" + +[[folders]] +from = "./_assets" +to = "/src/assets" diff --git a/examples/containers/wasm-workers-server/examples/ruby-basic/.wws.toml b/examples/containers/wasm-workers-server/examples/ruby-basic/.wws.toml new file mode 100644 index 00000000..773b70a6 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-basic/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "ruby" +version = "3.2.0+20230215-1" +tags = [ + "latest", + "3.2", + "3.2.0", +] +status = "active" +extensions = ["rb"] +args = [ + "--", + "/src/index.rb", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm" +filename = "ruby.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/poly.rb" +filename = "poly.rb" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "449855a5d315879ab0ad830aa6a3f689e68fed4490617ea03efc77c9da64f630" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" diff --git a/examples/containers/wasm-workers-server/examples/ruby-basic/README.md b/examples/containers/wasm-workers-server/examples/ruby-basic/README.md new file mode 100644 index 00000000..5d8f0126 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-basic/README.md @@ -0,0 +1,21 @@ +# Ruby basic example + +Run a Ruby worker in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/ruby-basic" +``` + +## Resources + +* [Ruby documentation](https://workers.wasmlabs.dev/docs/languages/ruby) diff --git a/examples/containers/wasm-workers-server/examples/ruby-basic/index.rb b/examples/containers/wasm-workers-server/examples/ruby-basic/index.rb new file mode 100644 index 00000000..cf24de3e --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-basic/index.rb @@ -0,0 +1,41 @@ +# My ruby worker +def worker(req) + # Body response + body = %{ + + +Wasm Workers Server + + + + + + +
    +

    Hello from Wasm Workers Server šŸ‘‹

    +
    Replying to #{req.url}
    +Method: #{req.method}
    +Host header: #{req.headers["host"]}
    +

    + This page was generated by a Ruby script +

    +
    + + } + + # Build a new response + res = Response.new(body) + + # Add a new header + res.headers["x-generated-by"] = "wasm-workers-server" + + res +end diff --git a/examples/containers/wasm-workers-server/examples/ruby-envs/.wws.toml b/examples/containers/wasm-workers-server/examples/ruby-envs/.wws.toml new file mode 100644 index 00000000..42c4c916 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-envs/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "ruby" +version = "3.2.0+20230215" +tags = [ + "latest", + "3.2", + "3.2.0", +] +status = "active" +extensions = ["rb"] +args = [ + "--", + "/src/index.rb", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm" +filename = "ruby.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/poly.rb" +filename = "poly.rb" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "044b0d4bde7d3a9b0f275821fb5b67cc2e382267904df2516a23dbec1fae6bae" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" diff --git a/examples/containers/wasm-workers-server/examples/ruby-envs/README.md b/examples/containers/wasm-workers-server/examples/ruby-envs/README.md new file mode 100644 index 00000000..622bc1d9 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-envs/README.md @@ -0,0 +1,22 @@ +# Ruby environment variables example + +Run a Ruby worker that uses environment variables in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/ruby-envs" +``` + +## Resources + +* [Environment variables](https://workers.wasmlabs.dev/docs/features/environment-variables) +* [Ruby documentation](https://workers.wasmlabs.dev/docs/languages/ruby) diff --git a/examples/containers/wasm-workers-server/examples/ruby-envs/envs.rb b/examples/containers/wasm-workers-server/examples/ruby-envs/envs.rb new file mode 100644 index 00000000..90d7b2e1 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-envs/envs.rb @@ -0,0 +1,6 @@ +# Read an environment variable in Ruby +def worker(request) + Response.new( + "The environment variable value is: #{ENV.fetch('MESSAGE')}" + ) +end \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-envs/envs.toml b/examples/containers/wasm-workers-server/examples/ruby-envs/envs.toml new file mode 100644 index 00000000..4c90dfc5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-envs/envs.toml @@ -0,0 +1,5 @@ +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello! This message comes from an environment variable" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-kv/.wws.toml b/examples/containers/wasm-workers-server/examples/ruby-kv/.wws.toml new file mode 100644 index 00000000..42c4c916 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-kv/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "ruby" +version = "3.2.0+20230215" +tags = [ + "latest", + "3.2", + "3.2.0", +] +status = "active" +extensions = ["rb"] +args = [ + "--", + "/src/index.rb", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm" +filename = "ruby.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" + +[repositories.runtimes.polyfill] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/poly.rb" +filename = "poly.rb" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "044b0d4bde7d3a9b0f275821fb5b67cc2e382267904df2516a23dbec1fae6bae" + +[repositories.runtimes.wrapper] +url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" diff --git a/examples/containers/wasm-workers-server/examples/ruby-kv/README.md b/examples/containers/wasm-workers-server/examples/ruby-kv/README.md new file mode 100644 index 00000000..ce89dc50 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-kv/README.md @@ -0,0 +1,22 @@ +# Ruby Key / Value store example + +Run a Ruby worker that uses a Key / Value store in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/ruby-kv" +``` + +## Resources + +* [Key / Value store](https://workers.wasmlabs.dev/docs/features/key-value) +* [Ruby documentation](https://workers.wasmlabs.dev/docs/languages/ruby) diff --git a/examples/containers/wasm-workers-server/examples/ruby-kv/counter.rb b/examples/containers/wasm-workers-server/examples/ruby-kv/counter.rb new file mode 100644 index 00000000..d3946696 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-kv/counter.rb @@ -0,0 +1,14 @@ +CACHE_KEY = "counter"; + +def worker(request) + # Prepare the body + count = Cache.get(CACHE_KEY).to_i || 0 + body = "The counter value is: #{count}" + + # Update the counter + count += 1 + Cache.set(CACHE_KEY, count) + + # Return the response + Response.new(body) +end \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-kv/counter.toml b/examples/containers/wasm-workers-server/examples/ruby-kv/counter.toml new file mode 100644 index 00000000..aa9f6a95 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-kv/counter.toml @@ -0,0 +1,6 @@ +name = "counter" +version = "1" + +[data] +[data.kv] +namespace = "counter" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/.wws.toml b/examples/containers/wasm-workers-server/examples/ruby-mount/.wws.toml new file mode 100644 index 00000000..cbf3f2a0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/.wws.toml @@ -0,0 +1,44 @@ +version = 1 + +[[repositories]] +name = "wasmlabs" +url = "https://workers.wasmlabs.dev/repository/v1/index.toml" + +[[repositories.runtimes]] +name = "ruby" +version = "3.2.0+20230215-1" +tags = [ + "latest", + "3.2", + "3.2.0", +] +status = "active" +extensions = ["rb"] +args = [ + "--", + "/src/index.rb", +] + +[repositories.runtimes.binary] +url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm" +filename = "ruby.wasm" + +[repositories.runtimes.binary.checksum] +type = "sha256" +value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" + +[repositories.runtimes.polyfill] +url = "https://raw.githubusercontent.com/vmware-labs/wasm-workers-server/109-improve-python-polyfill/metadata/repository/v1/files/ruby/3-1/poly.rb" +filename = "poly.rb" + +[repositories.runtimes.polyfill.checksum] +type = "sha256" +value = "449855a5d315879ab0ad830aa6a3f689e68fed4490617ea03efc77c9da64f630" + +[repositories.runtimes.wrapper] +url = "https://raw.githubusercontent.com/vmware-labs/wasm-workers-server/109-improve-python-polyfill/metadata/repository/v1/files/ruby/3-1/wrapper.txt" +filename = "wrapper.txt" + +[repositories.runtimes.wrapper.checksum] +type = "sha256" +value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/README.md b/examples/containers/wasm-workers-server/examples/ruby-mount/README.md new file mode 100644 index 00000000..c50e50dd --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/README.md @@ -0,0 +1,22 @@ +# Ruby mount folders example + +Run a Ruby worker that uses data from a mounted folder in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +## Run + +```shell-session +wws https://github.com/vmware-labs/wasm-workers-server.git -i --git-folder "examples/ruby-mount" +``` + +## Resources + +* [Mount folders](https://workers.wasmlabs.dev/docs/features/mount-folders) +* [Ruby documentation](https://workers.wasmlabs.dev/docs/languages/ruby) diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/_images/ruby.svg b/examples/containers/wasm-workers-server/examples/ruby-mount/_images/ruby.svg new file mode 100644 index 00000000..7b78ea64 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/_images/ruby.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/image.rb b/examples/containers/wasm-workers-server/examples/ruby-mount/image.rb new file mode 100644 index 00000000..41897cac --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/image.rb @@ -0,0 +1,9 @@ +# Read an environment variable in Ruby +def worker(request) + img = IO.read("/src/images/ruby.svg", mode: "rb") + + res = Response.new(img) + res.headers["Content-Type"] = "image/svg+xml" + + res +end \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/image.toml b/examples/containers/wasm-workers-server/examples/ruby-mount/image.toml new file mode 100644 index 00000000..61be49b9 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/image.toml @@ -0,0 +1,5 @@ +version = "1" + +[[folders]] +from = "./_images" +to = "/src/images" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/public/css/styles.css b/examples/containers/wasm-workers-server/examples/ruby-mount/public/css/styles.css new file mode 100644 index 00000000..73bcb54c --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/public/css/styles.css @@ -0,0 +1,8 @@ +body { + text-align: center; +} + +img { + margin: 4rem 0 2rem; + width: 250px; +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/ruby-mount/public/index.html b/examples/containers/wasm-workers-server/examples/ruby-mount/public/index.html new file mode 100644 index 00000000..eaea96c5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/ruby-mount/public/index.html @@ -0,0 +1,10 @@ + + + Ruby + Wasm Workers Server + + + + The ruby logo +

    This image is served by Wasm Workers Server

    + + \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.lock b/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.lock new file mode 100644 index 00000000..1a80e1b5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" + +[[package]] +name = "async-trait" +version = "0.1.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytes" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "itoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pulldown-cmark" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rust-basic" +version = "0.1.0" +dependencies = [ + "anyhow", + "wasm-workers-rs", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "serde" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-workers-rs" +version = "1.3.0" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "wit-bindgen-rust", + "worker", +] + +[[package]] +name = "wit-bindgen-gen-core" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-gen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", +] + +[[package]] +name = "wit-bindgen-gen-rust-wasm" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "async-trait", + "bitflags", + "wit-bindgen-rust-impl", +] + +[[package]] +name = "wit-bindgen-rust-impl" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "proc-macro2", + "syn", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust-wasm", +] + +[[package]] +name = "wit-parser" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "id-arena", + "pulldown-cmark", + "unicode-normalization", + "unicode-xid", +] + +[[package]] +name = "worker" +version = "1.3.0" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn", + "wasi", +] diff --git a/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.toml b/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.toml new file mode 100644 index 00000000..72fc2d86 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-basic/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rust-basic" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.63" +wasm-workers-rs = { path = "../../kits/rust" } diff --git a/examples/containers/wasm-workers-server/examples/rust-basic/README.md b/examples/containers/wasm-workers-server/examples/rust-basic/README.md new file mode 100644 index 00000000..4e49b903 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-basic/README.md @@ -0,0 +1,35 @@ +# Rust basic example + +Compile a Rust worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Install Rust with rustup](https://www.rust-lang.org/tools/install) +* Install the `wasm32-wasi` target: + + ```shell-session + rustup target add wasm32-wasi + ``` + +## Build + +```shell-session +cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-basic.wasm ./basic.wasm +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) diff --git a/examples/containers/wasm-workers-server/examples/rust-basic/basic.toml b/examples/containers/wasm-workers-server/examples/rust-basic/basic.toml new file mode 100644 index 00000000..5ecde86f --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-basic/basic.toml @@ -0,0 +1,5 @@ +name = "envs" +version = "1" + +[vars] +MESSAGE = "Hello from Wasm Workers Server!" \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/rust-basic/src/main.rs b/examples/containers/wasm-workers-server/examples/rust-basic/src/main.rs new file mode 100644 index 00000000..8d7e6eff --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-basic/src/main.rs @@ -0,0 +1,58 @@ +use anyhow::Result; +use std::env; +use wasm_workers_rs::{ + http::{self, HeaderValue, Request, Response}, + worker, Content, +}; + +#[worker] +fn handler(req: Request) -> Result> { + let message = env::var("MESSAGE").unwrap_or_else(|_| String::from("Missing title")); + + // Applied changes here to use the Response method. This requires changes + // on signature and how it returns the data. + let response = format!( + " + + Wasm Workers Server + + + + + + +
    +

    {}

    +
    Replying to {}
    +Method: {}
    +User Agent: {}
    +Payload: {}
    +

    + This page was generated by a Wasm module built from Rust and running in WebAssembly. +

    +
    +", + message, + req.uri(), + req.method().as_str(), + req.headers() + .get("user-agent") + .unwrap_or(&HeaderValue::from_str("None").unwrap()) + .to_str() + .unwrap(), + req.body() + ); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) +} diff --git a/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.lock b/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.lock new file mode 100644 index 00000000..b20f14e2 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.lock @@ -0,0 +1,330 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[package]] +name = "async-trait" +version = "0.1.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79fa67157abdfd688a259b6648808757db9347af834624f27ec646da976aee5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.23", +] + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "itoa" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "proc-macro2" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pulldown-cmark" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "quote" +version = "1.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rust-fetch" +version = "0.1.0" +dependencies = [ + "anyhow", + "serde", + "serde_json", + "wasm-workers-rs", +] + +[[package]] +name = "ryu" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" + +[[package]] +name = "serde" +version = "1.0.166" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.166" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.23", +] + +[[package]] +name = "serde_json" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-workers-rs" +version = "1.3.0" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "wit-bindgen-rust", + "worker", +] + +[[package]] +name = "wit-bindgen-gen-core" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-gen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", +] + +[[package]] +name = "wit-bindgen-gen-rust-wasm" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "heck", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "async-trait", + "bitflags", + "wit-bindgen-rust-impl", +] + +[[package]] +name = "wit-bindgen-rust-impl" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "proc-macro2", + "syn 1.0.109", + "wit-bindgen-gen-core", + "wit-bindgen-gen-rust-wasm", +] + +[[package]] +name = "wit-parser" +version = "0.2.0" +source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=cb871cfa1ee460b51eb1d144b175b9aab9c50aba#cb871cfa1ee460b51eb1d144b175b9aab9c50aba" +dependencies = [ + "anyhow", + "id-arena", + "pulldown-cmark", + "unicode-normalization", + "unicode-xid", +] + +[[package]] +name = "worker" +version = "1.3.0" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn 1.0.109", + "wasi", +] diff --git a/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.toml b/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.toml new file mode 100644 index 00000000..241431b8 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-fetch/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "rust-fetch" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.63" +wasm-workers-rs = { path = "../../kits/rust" } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.85" diff --git a/examples/containers/wasm-workers-server/examples/rust-fetch/README.md b/examples/containers/wasm-workers-server/examples/rust-fetch/README.md new file mode 100644 index 00000000..e9db6cf5 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-fetch/README.md @@ -0,0 +1,35 @@ +# Rust fetch example + +Compile a Rust worker that can retrieve data from a remote endpoint (via HTTP bindings). You can run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Install Rust with rustup](https://www.rust-lang.org/tools/install) +* Install the `wasm32-wasi` target: + + ```shell-session + rustup target add wasm32-wasi + ``` + +## Build + +```shell-session +cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-fetch.wasm ./index.wasm +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) diff --git a/examples/containers/wasm-workers-server/examples/rust-fetch/index.toml b/examples/containers/wasm-workers-server/examples/rust-fetch/index.toml new file mode 100644 index 00000000..28cf8b20 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-fetch/index.toml @@ -0,0 +1,6 @@ +name = "rust-fetch" +version = "1" + +[features] +[features.http_requests] +allowed_hosts = ["jsonplaceholder.typicode.com"] diff --git a/examples/containers/wasm-workers-server/examples/rust-fetch/src/main.rs b/examples/containers/wasm-workers-server/examples/rust-fetch/src/main.rs new file mode 100644 index 00000000..892c49cb --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-fetch/src/main.rs @@ -0,0 +1,68 @@ +use anyhow::Result; +use serde::{Deserialize, Serialize}; +use wasm_workers_rs::{ + bindings, + http::{self, Request, Response}, + worker, Content, +}; + +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +struct Post { + id: i32, + title: String, + body: String, + user_id: i32, +} + +#[worker] +fn handler(_req: Request) -> Result> { + let external_request = Request::builder() + .uri("https://jsonplaceholder.typicode.com/posts/1") + .body(String::new()) + .unwrap(); + + // Get the request + let res = bindings::send_http_request(external_request).unwrap(); + + // Parse the response + let data = res.body(); + let data_str = String::from_utf8_lossy(&data); + + eprintln!("API response: {data_str}"); + + let post: Post = serde_json::from_slice(&data).unwrap(); + + // Applied changes here to use the Response method. This requires changes + // on signature and how it returns the data. + let response = format!( + " + + Wasm Workers Server + + + + + + +
    +

    {}

    +

    {}

    +
    +", + &post.title, &post.body + ); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) +} diff --git a/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.lock b/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.lock new file mode 100644 index 00000000..a6e4f46b --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.lock @@ -0,0 +1,155 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bytes" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "itoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rust-kv" +version = "0.1.0" +dependencies = [ + "anyhow", + "wasm-workers-rs", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "serde" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-workers-rs" +version = "1.0.1" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "worker", +] + +[[package]] +name = "worker" +version = "1.0.1" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn", + "wasi", +] diff --git a/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.toml b/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.toml new file mode 100644 index 00000000..2883df1e --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-kv/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rust-kv" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.63" +wasm-workers-rs = { path = "../../kits/rust" } diff --git a/examples/containers/wasm-workers-server/examples/rust-kv/README.md b/examples/containers/wasm-workers-server/examples/rust-kv/README.md new file mode 100644 index 00000000..306fc760 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-kv/README.md @@ -0,0 +1,36 @@ +# Rust Key / Value example + +Compile a Rust worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Install Rust with rustup](https://www.rust-lang.org/tools/install) +* Install the `wasm32-wasi` target: + + ```shell-session + rustup target add wasm32-wasi + ``` + +## Build + +```shell-session +cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-kv.wasm ./kv.wasm +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Key / Value store](https://workers.wasmlabs.dev/docs/features/key-value) +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) diff --git a/examples/containers/wasm-workers-server/examples/rust-kv/kv.toml b/examples/containers/wasm-workers-server/examples/rust-kv/kv.toml new file mode 100644 index 00000000..a0c89f7c --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-kv/kv.toml @@ -0,0 +1,8 @@ +name = "counter" +version = "1" + +[data] +[data.kv] +namespace = "counter" + +[vars] \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/rust-kv/src/main.rs b/examples/containers/wasm-workers-server/examples/rust-kv/src/main.rs new file mode 100644 index 00000000..1c458bd0 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-kv/src/main.rs @@ -0,0 +1,33 @@ +use anyhow::Result; +use wasm_workers_rs::{ + http::{self, Request, Response}, + worker, Cache, Content, +}; + +#[worker(cache)] +fn handler(_req: Request, cache: &mut Cache) -> Result> { + // Applied changes here to use the Response method. This requires changes + // on signature and how it returns the data. + let count = cache.get("counter"); + let count_num = match count { + Some(count_str) => count_str.parse::().unwrap_or(0), + None => 0, + }; + + let response = format!( + " + +

    Key / Value store in Rust

    +

    Counter: {}

    +

    This page was generated by a Wasm modules built from Rust.

    +", + count_num + ); + + cache.insert("counter".to_string(), (count_num + 1).to_string()); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) +} diff --git a/examples/containers/wasm-workers-server/examples/rust-params/Cargo.lock b/examples/containers/wasm-workers-server/examples/rust-params/Cargo.lock new file mode 100644 index 00000000..e8891263 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/Cargo.lock @@ -0,0 +1,155 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bytes" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "itoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rust-params" +version = "0.1.0" +dependencies = [ + "anyhow", + "wasm-workers-rs", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "serde" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-workers-rs" +version = "1.0.1" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "worker", +] + +[[package]] +name = "worker" +version = "1.0.1" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn", + "wasi", +] diff --git a/examples/containers/wasm-workers-server/examples/rust-params/Cargo.toml b/examples/containers/wasm-workers-server/examples/rust-params/Cargo.toml new file mode 100644 index 00000000..79837750 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rust-params" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.63" +wasm-workers-rs = { path = "../../kits/rust" } diff --git a/examples/containers/wasm-workers-server/examples/rust-params/README.md b/examples/containers/wasm-workers-server/examples/rust-params/README.md new file mode 100644 index 00000000..084d23c9 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/README.md @@ -0,0 +1,36 @@ +# Rust dynamic routes example + +Compile a Rust worker to WebAssembly and run it in Wasm Workers Server. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Install Rust with rustup](https://www.rust-lang.org/tools/install) +* Install the `wasm32-wasi` target: + + ```shell-session + rustup target add wasm32-wasi + ``` + +## Build + +```shell-session +cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-params.wasm ./[id].wasm +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Dynamic routes](https://workers.wasmlabs.dev/docs/features/dynamic-routes) +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) diff --git a/examples/containers/wasm-workers-server/examples/rust-params/public/main.css b/examples/containers/wasm-workers-server/examples/rust-params/public/main.css new file mode 100644 index 00000000..ca178402 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/public/main.css @@ -0,0 +1,28 @@ +body { + max-width: 1000px; +} + +main { + margin: 5rem 0; +} + +h1, +p { + text-align: center; +} + +h1 { + margin-bottom: 2rem; +} + +pre { + font-size: .9rem; +} + +pre>code { + padding: 2rem; +} + +p { + margin-top: 2rem; +} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/rust-params/public/water.min.css b/examples/containers/wasm-workers-server/examples/rust-params/public/water.min.css new file mode 100644 index 00000000..fddfc43d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/public/water.min.css @@ -0,0 +1,30 @@ +/* + * The MIT License (MIT) + * + * Copyright Ā© 2019 Kognise + * + * 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. + * + * + * Ref: https://github.com/kognise/water.css + */ +:root{--background-body:#fff;--background:#efefef;--background-alt:#f7f7f7;--selection:#9e9e9e;--text-main:#363636;--text-bright:#000;--text-muted:#70777f;--links:#0076d1;--focus:rgba(0,150,191,0.67);--border:#dbdbdb;--code:#000;--animation-duration:0.1s;--button-base:#d0cfcf;--button-hover:#9b9b9b;--scrollbar-thumb:#aaa;--scrollbar-thumb-hover:var(--button-hover);--form-placeholder:#949494;--form-text:#1d1d1d;--variable:#39a33c;--highlight:#ff0;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--background-body:#202b38;--background:#161f27;--background-alt:#1a242f;--selection:#1c76c5;--text-main:#dbdbdb;--text-bright:#fff;--text-muted:#a9b1ba;--links:#41adff;--focus:rgba(0,150,191,0.67);--border:#526980;--code:#ffbe85;--animation-duration:0.1s;--button-base:#0c151c;--button-hover:#040a0f;--scrollbar-thumb:var(--button-hover);--scrollbar-thumb-hover:#000;--form-placeholder:#a9a9a9;--form-text:#fff;--variable:#d941e2;--highlight:#efdb43;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E")}}html{scrollbar-color:#aaa #fff;scrollbar-color:var(--scrollbar-thumb) var(--background-body);scrollbar-width:thin}@media (prefers-color-scheme:dark){html{scrollbar-color:#040a0f #202b38;scrollbar-color:var(--scrollbar-thumb) var(--background-body)}}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;line-height:1.4;max-width:800px;margin:20px auto;padding:0 10px;word-wrap:break-word;color:#363636;color:var(--text-main);background:#fff;background:var(--background-body);text-rendering:optimizeLegibility}@media (prefers-color-scheme:dark){body{background:#202b38;background:var(--background-body);color:#dbdbdb;color:var(--text-main)}}button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){button{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){input{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}@media (prefers-color-scheme:dark){textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;transition:background-color var(--animation-duration) linear,border-color var(--animation-duration) linear,color var(--animation-duration) linear,box-shadow var(--animation-duration) linear,transform var(--animation-duration) ease}}h1{font-size:2.2em;margin-top:0}h1,h2,h3,h4,h5,h6{margin-bottom:12px;margin-top:24px}h1{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h1{color:#fff;color:var(--text-bright)}}h2{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h2{color:#fff;color:var(--text-bright)}}h3{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h3{color:#fff;color:var(--text-bright)}}h4{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h4{color:#fff;color:var(--text-bright)}}h5{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h5{color:#fff;color:var(--text-bright)}}h6{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){h6{color:#fff;color:var(--text-bright)}}strong{color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){strong{color:#fff;color:var(--text-bright)}}b,h1,h2,h3,h4,h5,h6,strong,th{font-weight:600}q:after,q:before{content:none}blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){blockquote{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus);margin:1.5em 0;padding:.5em 1em;font-style:italic}@media (prefers-color-scheme:dark){q{border-left:4px solid rgba(0,150,191,.67);border-left:4px solid var(--focus)}}blockquote>footer{font-style:normal;border:0}address,blockquote cite{font-style:normal}a[href^=mailto\:]:before{content:"šŸ“§ "}a[href^=tel\:]:before{content:"šŸ“ž "}a[href^=sms\:]:before{content:"šŸ’¬ "}mark{background-color:#ff0;background-color:var(--highlight);border-radius:2px;padding:0 2px;color:#000}@media (prefers-color-scheme:dark){mark{background-color:#efdb43;background-color:var(--highlight)}}a>code,a>strong{color:inherit}button,input[type=button],input[type=checkbox],input[type=radio],input[type=range],input[type=reset],input[type=submit],select{cursor:pointer}input,select{display:block}[type=checkbox],[type=radio]{display:initial}input{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){input{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){button{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}textarea{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){textarea{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}select{color:#1d1d1d;color:var(--form-text);background-color:#efefef;background-color:var(--background);font-family:inherit;font-size:inherit;margin-right:6px;margin-bottom:6px;padding:10px;border:none;border-radius:6px;outline:none}@media (prefers-color-scheme:dark){select{background-color:#161f27;background-color:var(--background);color:#fff;color:var(--form-text)}}button{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){button{background-color:#0c151c;background-color:var(--button-base)}}input[type=submit]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=submit]{background-color:#0c151c;background-color:var(--button-base)}}input[type=reset]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=reset]{background-color:#0c151c;background-color:var(--button-base)}}input[type=button]{background-color:#d0cfcf;background-color:var(--button-base);padding-right:30px;padding-left:30px}@media (prefers-color-scheme:dark){input[type=button]{background-color:#0c151c;background-color:var(--button-base)}}button:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){button:hover{background:#040a0f;background:var(--button-hover)}}input[type=submit]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=submit]:hover{background:#040a0f;background:var(--button-hover)}}input[type=reset]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=reset]:hover{background:#040a0f;background:var(--button-hover)}}input[type=button]:hover{background:#9b9b9b;background:var(--button-hover)}@media (prefers-color-scheme:dark){input[type=button]:hover{background:#040a0f;background:var(--button-hover)}}input[type=color]{min-height:2rem;padding:8px;cursor:pointer}input[type=checkbox],input[type=radio]{height:1em;width:1em}input[type=radio]{border-radius:100%}input{vertical-align:top}label{vertical-align:middle;margin-bottom:4px;display:inline-block}button,input:not([type=checkbox]):not([type=radio]),input[type=range],select,textarea{-webkit-appearance:none}textarea{display:block;margin-right:0;box-sizing:border-box;resize:vertical}textarea:not([cols]){width:100%}textarea:not([rows]){min-height:40px;height:140px}select{background:#efefef url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;padding-right:35px}@media (prefers-color-scheme:dark){select{background:#161f27 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23efefef'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;background:var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat}}select::-ms-expand{display:none}select[multiple]{padding-right:10px;background-image:none;overflow-y:auto}input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){input:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){select:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){button:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}@media (prefers-color-scheme:dark){textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.67);box-shadow:0 0 0 2px var(--focus)}}button:active,input[type=button]:active,input[type=checkbox]:active,input[type=radio]:active,input[type=range]:active,input[type=reset]:active,input[type=submit]:active{transform:translateY(2px)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}::-moz-placeholder{color:#949494;color:var(--form-placeholder)}:-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::-ms-input-placeholder{color:#949494;color:var(--form-placeholder)}::placeholder{color:#949494;color:var(--form-placeholder)}@media (prefers-color-scheme:dark){::-moz-placeholder{color:#a9a9a9;color:var(--form-placeholder)}:-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::-ms-input-placeholder{color:#a9a9a9;color:var(--form-placeholder)}::placeholder{color:#a9a9a9;color:var(--form-placeholder)}}fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus);border-radius:6px;margin:0 0 12px;padding:10px}@media (prefers-color-scheme:dark){fieldset{border:1px solid rgba(0,150,191,.67);border:1px solid var(--focus)}}legend{font-size:.9em;font-weight:600}input[type=range]{margin:10px 0;padding:10px 0;background:transparent}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:9.5px;-webkit-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-webkit-slider-thumb{box-shadow:0 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border);-webkit-appearance:none;margin-top:-7px}@media (prefers-color-scheme:dark){input[type=range]::-webkit-slider-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-webkit-slider-runnable-track{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-webkit-slider-runnable-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-track{width:100%;height:9.5px;-moz-transition:.2s;transition:.2s;background:#efefef;background:var(--background);border-radius:3px}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-track{background:#161f27;background:var(--background)}}input[type=range]::-moz-range-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-moz-range-thumb{background:#526980;background:var(--border)}}input[type=range]::-ms-track{width:100%;height:9.5px;background:transparent;border-color:transparent;border-width:16px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]::-ms-fill-upper{background:#efefef;background:var(--background);border:.2px solid #010101;border-radius:3px;box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d}@media (prefers-color-scheme:dark){input[type=range]::-ms-fill-upper{background:#161f27;background:var(--background)}}input[type=range]::-ms-thumb{box-shadow:1px 1px 1px #000,0 0 1px #0d0d0d;border:1px solid #000;height:20px;width:20px;border-radius:50%;background:#dbdbdb;background:var(--border)}@media (prefers-color-scheme:dark){input[type=range]::-ms-thumb{background:#526980;background:var(--border)}}input[type=range]:focus::-ms-fill-lower{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-lower{background:#161f27;background:var(--background)}}input[type=range]:focus::-ms-fill-upper{background:#efefef;background:var(--background)}@media (prefers-color-scheme:dark){input[type=range]:focus::-ms-fill-upper{background:#161f27;background:var(--background)}}a{text-decoration:none;color:#0076d1;color:var(--links)}@media (prefers-color-scheme:dark){a{color:#41adff;color:var(--links)}}a:hover{text-decoration:underline}code{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){code{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}samp{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){samp{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}time{background:#efefef;background:var(--background);color:#000;color:var(--code);padding:2.5px 5px;border-radius:6px;font-size:1em}@media (prefers-color-scheme:dark){time{color:#ffbe85;color:var(--code);background:#161f27;background:var(--background)}}pre>code{padding:10px;display:block;overflow-x:auto}var{color:#39a33c;color:var(--variable);font-style:normal;font-family:monospace}@media (prefers-color-scheme:dark){var{color:#d941e2;color:var(--variable)}}kbd{background:#efefef;background:var(--background);border:1px solid #dbdbdb;border:1px solid var(--border);border-radius:2px;color:#363636;color:var(--text-main);padding:2px 4px}@media (prefers-color-scheme:dark){kbd{color:#dbdbdb;color:var(--text-main);border:1px solid #526980;border:1px solid var(--border);background:#161f27;background:var(--background)}}img,video{max-width:100%;height:auto}hr{border:none;border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){hr{border-top:1px solid #526980;border-top:1px solid var(--border)}}table{border-collapse:collapse;margin-bottom:10px;width:100%;table-layout:fixed}table caption,td,th{text-align:left}td,th{padding:6px;vertical-align:top;word-wrap:break-word}thead{border-bottom:1px solid #dbdbdb;border-bottom:1px solid var(--border)}@media (prefers-color-scheme:dark){thead{border-bottom:1px solid #526980;border-bottom:1px solid var(--border)}}tfoot{border-top:1px solid #dbdbdb;border-top:1px solid var(--border)}@media (prefers-color-scheme:dark){tfoot{border-top:1px solid #526980;border-top:1px solid var(--border)}}tbody tr:nth-child(2n){background-color:#efefef;background-color:var(--background)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n){background-color:#161f27;background-color:var(--background)}}tbody tr:nth-child(2n) button{background-color:#f7f7f7;background-color:var(--background-alt)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button{background-color:#1a242f;background-color:var(--background-alt)}}tbody tr:nth-child(2n) button:hover{background-color:#fff;background-color:var(--background-body)}@media (prefers-color-scheme:dark){tbody tr:nth-child(2n) button:hover{background-color:#202b38;background-color:var(--background-body)}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#efefef;background:var(--background);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-track{background:#161f27;background:var(--background)}}::-webkit-scrollbar-thumb{background:#aaa;background:var(--scrollbar-thumb);border-radius:6px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#040a0f;background:var(--scrollbar-thumb)}}::-webkit-scrollbar-thumb:hover{background:#9b9b9b;background:var(--scrollbar-thumb-hover)}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb:hover{background:#000;background:var(--scrollbar-thumb-hover)}}::-moz-selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}::selection{background-color:#9e9e9e;background-color:var(--selection);color:#000;color:var(--text-bright)}@media (prefers-color-scheme:dark){::-moz-selection{color:#fff;color:var(--text-bright)}::selection{color:#fff;color:var(--text-bright)}}@media (prefers-color-scheme:dark){::-moz-selection{background-color:#1c76c5;background-color:var(--selection)}::selection{background-color:#1c76c5;background-color:var(--selection)}}details{display:flex;flex-direction:column;align-items:flex-start;background-color:#f7f7f7;background-color:var(--background-alt);padding:10px 10px 0;margin:1em 0;border-radius:6px;overflow:hidden}@media (prefers-color-scheme:dark){details{background-color:#1a242f;background-color:var(--background-alt)}}details[open]{padding:10px}details>:last-child{margin-bottom:0}details[open] summary{margin-bottom:10px}summary{display:list-item;background-color:#efefef;background-color:var(--background);padding:10px;margin:-10px -10px 0;cursor:pointer;outline:none}@media (prefers-color-scheme:dark){summary{background-color:#161f27;background-color:var(--background)}}summary:focus,summary:hover{text-decoration:underline}details>:not(summary){margin-top:0}summary::-webkit-details-marker{color:#363636;color:var(--text-main)}@media (prefers-color-scheme:dark){summary::-webkit-details-marker{color:#dbdbdb;color:var(--text-main)}}dialog{background-color:#f7f7f7;background-color:var(--background-alt);color:#363636;color:var(--text-main);border-radius:6px;border:#dbdbdb;border-color:var(--border);padding:10px 30px}@media (prefers-color-scheme:dark){dialog{border-color:#526980;border-color:var(--border);color:#dbdbdb;color:var(--text-main);background-color:#1a242f;background-color:var(--background-alt)}}dialog>header:first-child{background-color:#efefef;background-color:var(--background);border-radius:6px 6px 0 0;margin:-10px -30px 10px;padding:10px;text-align:center}@media (prefers-color-scheme:dark){dialog>header:first-child{background-color:#161f27;background-color:var(--background)}}dialog::-webkit-backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog::backdrop{background:rgba(0,0,0,.61);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}footer{border-top:1px solid #dbdbdb;border-top:1px solid var(--border);padding-top:10px;color:#70777f;color:var(--text-muted)}@media (prefers-color-scheme:dark){footer{color:#a9b1ba;color:var(--text-muted);border-top:1px solid #526980;border-top:1px solid var(--border)}}body>footer{margin-top:40px}@media print{body,button,code,details,input,pre,summary,textarea{background-color:#fff}button,input,textarea{border:1px solid #000}body,button,code,footer,h1,h2,h3,h4,h5,h6,input,pre,strong,summary,textarea{color:#000}summary::marker{color:#000}summary::-webkit-details-marker{color:#000}tbody tr:nth-child(2n){background-color:#f2f2f2}a{color:#00f;text-decoration:underline}} \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/examples/rust-params/src/main.rs b/examples/containers/wasm-workers-server/examples/rust-params/src/main.rs new file mode 100644 index 00000000..1864e39d --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-params/src/main.rs @@ -0,0 +1,37 @@ +use anyhow::Result; +use std::collections::HashMap; +use wasm_workers_rs::{ + http::{self, Request, Response}, + worker, Content, +}; + +#[worker(params)] +fn reply(_req: Request, params: &HashMap) -> Result> { + let unknown_id = String::from("the value is not available"); + let response = format!( + " + + Wasm Workers Server + + + + + + +
    +

    Hello from Wasm Workers Server šŸ‘‹

    +

    + This is a dynamic route! The [id]/fixed.js worker is replying this URL. + The id parameter value is: {} +

    +

    Read more about dynamic routes in the documentation

    +
    +", + params.get("id").unwrap_or_else(|| &unknown_id) + ); + + Ok(http::Response::builder() + .status(200) + .header("x-generated-by", "wasm-workers-server") + .body(response.into())?) +} diff --git a/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.lock b/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.lock new file mode 100644 index 00000000..0b3bb3a3 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.lock @@ -0,0 +1,618 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "anyhow" +version = "1.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" + +[[package]] +name = "base-x" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" + +[[package]] +name = "bytes" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "const_fn" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "discard" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "encoding" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" +dependencies = [ + "encoding-index-japanese", + "encoding-index-korean", + "encoding-index-simpchinese", + "encoding-index-singlebyte", + "encoding-index-tradchinese", +] + +[[package]] +name = "encoding-index-japanese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" +dependencies = [ + "encoding_index_tests", +] + +[[package]] +name = "encoding-index-korean" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" +dependencies = [ + "encoding_index_tests", +] + +[[package]] +name = "encoding-index-simpchinese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" +dependencies = [ + "encoding_index_tests", +] + +[[package]] +name = "encoding-index-singlebyte" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" +dependencies = [ + "encoding_index_tests", +] + +[[package]] +name = "encoding-index-tradchinese" +version = "1.20141219.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" +dependencies = [ + "encoding_index_tests", +] + +[[package]] +name = "encoding_index_tests" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" + +[[package]] +name = "flate2" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.3", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "lopdf" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8146695b97752d9c66da0092c6364f8f3ca683f5ea34341db21e5550c3b8c4f4" +dependencies = [ + "dtoa", + "encoding", + "flate2", + "itoa 0.4.8", + "lazy_static", + "linked-hash-map", + "log", + "pom", + "time", + "weezl", +] + +[[package]] +name = "miniz_oxide" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +dependencies = [ + "adler", +] + +[[package]] +name = "once_cell" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" + +[[package]] +name = "owned_ttf_parser" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60ac8dda2e5cc09bf6480e3b3feff9783db251710c922ae9369a429c51efdeb0" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "pdf-create" +version = "0.1.0" +dependencies = [ + "anyhow", + "printpdf", + "wasm-workers-rs", +] + +[[package]] +name = "pom" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e2192780e9f8e282049ff9bffcaa28171e1cb0844f49ed5374e518ae6024ec" + +[[package]] +name = "printpdf" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b61f0c6672a5507f0557c50c2263abc54fecc2a4c0ca56499be1396679a686c" +dependencies = [ + "js-sys", + "lopdf", + "owned_ttf_parser", + "time", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +dependencies = [ + "itoa 1.0.3", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" +dependencies = [ + "sha1_smol", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + +[[package]] +name = "standback" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" +dependencies = [ + "version_check", +] + +[[package]] +name = "stdweb" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" +dependencies = [ + "discard", + "rustc_version", + "stdweb-derive", + "stdweb-internal-macros", + "stdweb-internal-runtime", + "wasm-bindgen", +] + +[[package]] +name = "stdweb-derive" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "serde_derive", + "syn", +] + +[[package]] +name = "stdweb-internal-macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" +dependencies = [ + "base-x", + "proc-macro2", + "quote", + "serde", + "serde_derive", + "serde_json", + "sha1", + "syn", +] + +[[package]] +name = "stdweb-internal-runtime" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" + +[[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "time" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" +dependencies = [ + "const_fn", + "libc", + "standback", + "stdweb", + "time-macros", + "version_check", + "winapi", +] + +[[package]] +name = "time-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" +dependencies = [ + "proc-macro-hack", + "time-macros-impl", +] + +[[package]] +name = "time-macros-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" +dependencies = [ + "proc-macro-hack", + "proc-macro2", + "quote", + "standback", + "syn", +] + +[[package]] +name = "ttf-parser" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6" + +[[package]] +name = "unicode-ident" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "wasm-workers-rs" +version = "1.0.1" +dependencies = [ + "anyhow", + "base64", + "http", + "serde", + "serde_json", + "worker", +] + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "worker" +version = "1.0.1" +dependencies = [ + "anyhow", + "http", + "quote", + "serde", + "serde_json", + "syn", + "wasi", +] diff --git a/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.toml b/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.toml new file mode 100644 index 00000000..34717e53 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-pdf-create/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "rust-pdf-create" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.63" +wasm-workers-rs = { path = "../../kits/rust" } +printpdf = "0.5.3" diff --git a/examples/containers/wasm-workers-server/examples/rust-pdf-create/README.md b/examples/containers/wasm-workers-server/examples/rust-pdf-create/README.md new file mode 100644 index 00000000..a8bcf462 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-pdf-create/README.md @@ -0,0 +1,35 @@ +# Rust PDF example + +Compile a Rust worker to WebAssembly and run it in Wasm Workers Server. This worker generates a PDF based on the request body. + +## Prerequisites + +* Wasm Workers Server (wws): + + ```shell-session + curl -fsSL https://workers.wasmlabs.dev/install | bash + ``` + +* [Install Rust with rustup](https://www.rust-lang.org/tools/install) +* Install the `wasm32-wasi` target: + + ```shell-session + rustup target add wasm32-wasi + ``` + +## Build + +```shell-session +cargo build --target wasm32-wasi --release && \ + cp target/wasm32-wasi/release/rust-pdf-create.wasm ./index.wasm +``` + +## Run + +```shell-session +wws . +``` + +## Resources + +* [Rust documentation](https://workers.wasmlabs.dev/docs/languages/rust) diff --git a/examples/containers/wasm-workers-server/examples/rust-pdf-create/src/main.rs b/examples/containers/wasm-workers-server/examples/rust-pdf-create/src/main.rs new file mode 100644 index 00000000..f55114f2 --- /dev/null +++ b/examples/containers/wasm-workers-server/examples/rust-pdf-create/src/main.rs @@ -0,0 +1,37 @@ +use anyhow::Result; +use printpdf::*; +use std::io::BufWriter; +use wasm_workers_rs::{ + http::{self, Request, Response}, + worker, Content, +}; + +#[worker] +fn handler(req: Request) -> Result> { + let mut buf = BufWriter::new(Vec::new()); + + let (doc, page1, layer1) = PdfDocument::new("My Quote", Mm(247.0), Mm(210.0), "Layer 1"); + let current_layer = doc.get_page(page1).get_layer(layer1); + let font = doc.add_builtin_font(BuiltinFont::TimesRoman).unwrap(); + + current_layer.use_text("Your Quote", 24.0, Mm(20.0), Mm(190.0), &font); + current_layer.use_text(req.body(), 18.0, Mm(20.0), Mm(170.0), &font); + current_layer.use_text( + "Created by a Wasm module in Wasm Workers Server", + 12.0, + Mm(20.0), + Mm(20.0), + &font, + ); + + doc.save(&mut buf)?; + + let bytes = buf.into_inner()?; + + Ok(http::Response::builder() + .status(200) + .header("Content-Disposition", "attachment; filename=\"quote.pdf\"") + .header("Content-Type", "application/pdf") + .header("x-generated-by", "wasm-workers-server") + .body(bytes.into())?) +} diff --git a/examples/containers/wasm-workers-server/go.mod b/examples/containers/wasm-workers-server/go.mod new file mode 100644 index 00000000..5d47074a --- /dev/null +++ b/examples/containers/wasm-workers-server/go.mod @@ -0,0 +1,13 @@ +module github.com/vmware-labs/wasm-workers-server + +go 1.20 + +require ( + github.com/tidwall/gjson v1.14.4 + github.com/tidwall/sjson v1.2.5 +) + +require ( + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect +) diff --git a/examples/containers/wasm-workers-server/go.sum b/examples/containers/wasm-workers-server/go.sum new file mode 100644 index 00000000..a70a5e0a --- /dev/null +++ b/examples/containers/wasm-workers-server/go.sum @@ -0,0 +1,10 @@ +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= diff --git a/examples/containers/wasm-workers-server/image/Dockerfile b/examples/containers/wasm-workers-server/image/Dockerfile new file mode 100644 index 00000000..86691c49 --- /dev/null +++ b/examples/containers/wasm-workers-server/image/Dockerfile @@ -0,0 +1,35 @@ +# Build wasm_runtime in release mode + + +FROM --platform=$TARGETPLATFORM rust:1.71.0-slim as build-wws +ARG WWS_BUILD_DIR=/usr/src/wws +ARG TARGETPLATFORM +ARG BUILDPLATFORM +WORKDIR $WWS_BUILD_DIR +COPY ./ $WWS_BUILD_DIR/ +RUN echo "Installing build prerequisites" +RUN apt-get update && \ + apt-get install -y --no-install-recommends build-essential +RUN echo "Running on ${BUILDPLATFORM}, building for ${TARGETPLATFORM}" +RUN set -eux; \ + ls -l .; \ + case "${TARGETPLATFORM}" in \ + linux/amd64) bldArch='x86_64-unknown-linux-gnu' ;; \ + linux/arm64) bldArch='aarch64-unknown-linux-gnu' ;; \ + *) echo >&2 "unsupported architecture: $BUILDPLATFORM"; exit 1 ;; \ + esac; \ + rustup target add $bldArch; \ + cargo build --release --features vendored-openssl --target=$bldArch; \ + mkdir ./build; \ + cp ./target/$bldArch/release/wws ./build/wws + + +FROM --platform=$TARGETPLATFORM debian:bullseye-slim +ARG WWS_BUILD_DIR=/usr/src/wws +RUN apt-get update && \ + apt-get install -y --no-install-recommends ca-certificates +RUN mkdir -p /app +RUN mkdir -p /opt +COPY --from=build-wws ${WWS_BUILD_DIR}/build/wws /opt +ENTRYPOINT ["/opt/wws"] +CMD ["/app/", "--host", "0.0.0.0"] diff --git a/examples/containers/wasm-workers-server/image/Prebuilt.dockerfile b/examples/containers/wasm-workers-server/image/Prebuilt.dockerfile new file mode 100644 index 00000000..1c715d79 --- /dev/null +++ b/examples/containers/wasm-workers-server/image/Prebuilt.dockerfile @@ -0,0 +1,24 @@ +# In this case, the binaries should be already created. This Dockerfile +# is mainly used to build the preview / release container images in +# GitHub actions + +# Retrieve the certificates to install runtimes later on. +FROM --platform=$TARGETPLATFORM bitnami/minideb:latest AS sysroot +RUN mkdir -p /target/app /target/opt +RUN install_packages ca-certificates + +# Build the final image +FROM --platform=$TARGETPLATFORM scratch +ARG TARGETPLATFORM +ARG TARGETARCH +LABEL org.opencontainers.image.source=https://github.com/vmware-labs/wasm-workers-server +LABEL org.opencontainers.image.description="Wasm Workers Server is a blazing-fast self-contained server that routes HTTP requests to workers in your filesystem. Everything run in a WebAssembly sandbox." +LABEL org.opencontainers.image.licenses="Apache-2.0" + +COPY --from=sysroot /target/app /app +COPY --from=sysroot /target/opt /opt +COPY --from=sysroot /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --chmod=755 ./wws-$TARGETARCH /opt/wws + +ENTRYPOINT ["/opt/wws"] +CMD ["/app/", "--host", "0.0.0.0"] diff --git a/examples/containers/wasm-workers-server/install.sh b/examples/containers/wasm-workers-server/install.sh new file mode 100755 index 00000000..a76fcdf9 --- /dev/null +++ b/examples/containers/wasm-workers-server/install.sh @@ -0,0 +1,106 @@ +#!/usr/bin/env sh +# Script to install Wasm Workers Server in your system + +# Global +REPO="vmware-labs/wasm-workers-server" +GITHUB_URL="https://github.com/$REPO" +GITHUB_API_URL="https://api.github.com/repos/$REPO" +TMP_FOLDER="/tmp/wasm-workers-server" +TMP_FILE="/tmp/wasm-workers-server.tar.gz" +# This may change based on the --local argument +TOOL_LOCATION="/usr/local/bin/wws" +LOCAL_INSTALLATION=false + +# Get the OS information +OS_TYPE=$(uname -s) +ARCH_TYPE=$(uname -m) + +# Compose the final URL for GitHub +OS_SEGMENT="" +ARCH_SEGMENT="" +BINARY_URL="" + +_not_supported_and_exit() { + echo "Your current platform $OS_TYPE ($ARCH_TYPE) is not supported yet." + echo "Please, open an issue in $GITHUB_URL/issues" + exit 1 +} + +_windows_and_exit() { + echo "For Windows, please download the server directly from our GitHub page:" + echo " => $GITHUB_URL/releases/latest" + exit 1 +} + +# Check arguments +if [ "$1" = "--local" ]; then + TOOL_LOCATION="$(pwd)/wws" + LOCAL_INSTALLATION=true +fi + +# Start +echo "šŸ‘‹ Hello" +echo "I'm going to install Wasm Workers Server in your system" +echo "" + +# Compatibility matrix +if [ "$OS_TYPE" = "Linux" ] || [ "$OS_TYPE" = "linux" ]; then + OS_SEGMENT="linux" +elif [ "$OS_TYPE" = "Darwin" ] || [ "$OS_TYPE" = "darwin" ]; then + OS_SEGMENT="darwin" +elif [ "$OS_TYPE" = "Windows" ] || [ "$OS_TYPE" = "windows" ]; then + _windows_and_exit +else + _not_supported_and_exit +fi + +# Check for different architectures +if [ "$ARCH_TYPE" = "arm64" ] || [ "$ARCH_TYPE" = "aarch64" ]; then + ARCH_SEGMENT="aarch64" +elif [ "$ARCH_TYPE" = "x86_64" ] || [ "$ARCH_TYPE" = "x64" ] || [ "$ARCH_TYPE" = "amd64" ]; then + ARCH_SEGMENT="x86_64" +elif [ "$ARCH_TYPE" = "i386" ] || [ "$ARCH_TYPE" = "i686" ] || [ "$ARCH_TYPE" = "x86" ]; then + ARCH_SEGMENT="x86_32" +else + _not_supported_and_exit +fi + +# Get the URL +URL=$(curl -v $GITHUB_API_URL/releases/latest 2>&1 | grep -v ant | grep browser_download_url | grep "$OS_SEGMENT" | grep "$ARCH_SEGMENT" | cut -d '"' -f 4) + +if [ "$URL" = "" ]; then + _not_supported_and_exit +fi + +# Install! +echo "āš™ļø Downloading" +curl -L -o $TMP_FILE $URL + +echo "āš™ļø Decompressing" +mkdir -p $TMP_FOLDER +tar xvf $TMP_FILE -C $TMP_FOLDER + +echo "āš™ļø Installing" +if [ $LOCAL_INSTALLATION = false ]; then + echo "Wasm Workers Server will be installed in /usr/local/bin." + echo "This requires sudo permissions. If you prefer to install it" + echo "in your current directory, run the installer with --local." + echo "If you want it to be global, just type your password:" + + sudo mv $TMP_FOLDER/wws $TOOL_LOCATION + sudo chmod +x $TOOL_LOCATION +else + mv $TMP_FOLDER/wws $TOOL_LOCATION + chmod +x $TOOL_LOCATION +fi + +echo "šŸ§¹ Cleaning up" +rm -r $TMP_FILE $TMP_FOLDER + +echo "šŸš€ Wasm Workers Server (wws) was installed correctly!" + +if [ $LOCAL_INSTALLATION = true ]; then + echo "You can now try it: ./wws --help" +else + echo "You can now try it: wws --help" +fi \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/kits/go/worker/README.md b/examples/containers/wasm-workers-server/kits/go/worker/README.md new file mode 100644 index 00000000..cd4ea43d --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/README.md @@ -0,0 +1,61 @@ +# Go kit + +This folder contains the Go kit or SDK for Wasm Workers Server. Currently, it uses the regular STDIN / STDOUT approach to receive the request and provide the response. In the latest version we introduced the new HTTP bindings to send HTTP requests from inside the worker. + +## Bindings + +Wasm Workers Server is on the road to adopt Wasm components, but it's not there yet. However, we started adopting WIT to generate the bindings for the different languages. + +The host (Wasm Workers Server) and other languages like Rust and JavaScript rely on [wit-bindgen v0.2](https://github.com/bytecodealliance/wit-bindgen/tree/v0.2.0). However, the Go bindings were not available on that version so it caused some extra work to generate the Go bindings. + +These are the steps to recreate the current Go bindings: + +- Clone the wit-binding repository and checkout to the [35cb45f2](https://github.com/bytecodealliance/wit-bindgen/commit/35cb45f25eb113b54406f269778d46a37716a7c5) commit (between v0.6 - v0.7). This commit produces compatible binding identifiers and fixes an error with the types on the generated C / Go code: + + ```shell-session + git clone https://github.com/bytecodealliance/wit-bindgen/tree/main && \ + git checkout 35cb45f25eb113b54406f269778d46a37716a7c5 + ``` + +- Compile the project: + + ```shell-session + cargo build --release + ``` + +- Change your current directory to `wasm-workers-server/kits/go/worker/bindings`. +- Now, you need to use the compiled `wit-bindgen`: + + ```shell-session + ~/YOUR_LOCATION/wit-bindgen/target/release/wit-bindgen tiny-go ../../../../wit/go-ephemeral/ + ``` + +- Just note that we're using a specific `wit` folder for Go. The reason is that the syntax changed from v0.3. We will consolidate it once we adopt components. +- Edit the `bindings.c` file to define the `canonical_abi_realloc` and `canonical_abi_free`. wit-bindgen v0.2 expects these methods to be exported. However, the first method was renamed to `cabi_realloc` and the second was removed on v3.0. To fix it, locate the `__attribute__((__weak__, __export_name__("cabi_realloc")))` and replace it with the following two methods: + + ```c + __attribute__((__weak__, __export_name__("canonical_abi_realloc"))) void *cabi_realloc(void *ptr, size_t old_size, size_t align, size_t new_size) + { + if (new_size == 0) + return (void *)align; + void *ret = realloc(ptr, new_size); + if (!ret) + abort(); + return ret; + } + + __attribute__((weak, export_name("canonical_abi_free"))) void canonical_abi_free( + void *ptr, + size_t size, + size_t align) + { + free(ptr); + } + ``` + +- Done! + +## References + +* [Go documentation](https://workers.wasmlabs.dev/docs/languages/go) +* [Announcing Go Support for Wasm Workers Server](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) diff --git a/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.c b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.c new file mode 100644 index 00000000..7060edf6 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.c @@ -0,0 +1,223 @@ +// Generated by `wit-bindgen` 0.6.0. DO NOT EDIT! +#include "bindings.h" + +__attribute__((__import_module__("http"), __import_name__("send-http-request"))) void __wasm_import_http_send_http_request(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); + +__attribute__((__weak__, __export_name__("canonical_abi_realloc"))) void *cabi_realloc(void *ptr, size_t old_size, size_t align, size_t new_size) +{ + if (new_size == 0) + return (void *)align; + void *ret = realloc(ptr, new_size); + if (!ret) + abort(); + return ret; +} + +__attribute__((weak, export_name("canonical_abi_free"))) void canonical_abi_free( + void *ptr, + size_t size, + size_t align) +{ + free(ptr); +} + +// Helper Functions + +void http_types_uri_free(http_types_uri_t *ptr) +{ + bindings_string_free(ptr); +} + +void http_types_http_param_free(http_types_http_param_t *ptr) +{ + bindings_string_free(&ptr->f0); + bindings_string_free(&ptr->f1); +} + +void http_types_http_params_free(http_types_http_params_t *ptr) +{ + for (size_t i = 0; i < ptr->len; i++) + { + http_types_http_param_free(&ptr->ptr[i]); + } + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void http_types_http_header_free(http_types_http_header_t *ptr) +{ + bindings_string_free(&ptr->f0); + bindings_string_free(&ptr->f1); +} + +void http_types_http_headers_free(http_types_http_headers_t *ptr) +{ + for (size_t i = 0; i < ptr->len; i++) + { + http_types_http_header_free(&ptr->ptr[i]); + } + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void http_types_http_request_error_free(http_types_http_request_error_t *ptr) +{ + bindings_string_free(&ptr->message); +} + +void http_types_http_body_free(http_types_http_body_t *ptr) +{ + if (ptr->len > 0) + { + free(ptr->ptr); + } +} + +void bindings_option_http_body_free(bindings_option_http_body_t *ptr) +{ + if (ptr->is_some) + { + http_types_http_body_free(&ptr->val); + } +} + +void http_types_http_response_free(http_types_http_response_t *ptr) +{ + bindings_option_http_body_free(&ptr->body); + http_types_http_headers_free(&ptr->headers); +} + +void http_types_http_request_free(http_types_http_request_t *ptr) +{ + bindings_option_http_body_free(&ptr->body); + http_types_http_headers_free(&ptr->headers); + http_types_http_params_free(&ptr->params); + http_types_uri_free(&ptr->uri); +} + +void http_interface_http_request_free(http_interface_http_request_t *ptr) +{ + http_types_http_request_free(ptr); +} + +void http_interface_http_response_free(http_interface_http_response_t *ptr) +{ + http_types_http_response_free(ptr); +} + +void http_interface_http_request_error_free(http_interface_http_request_error_t *ptr) +{ + http_types_http_request_error_free(ptr); +} + +void bindings_result_http_response_http_request_error_free(bindings_result_http_response_http_request_error_t *ptr) +{ + if (!ptr->is_err) + { + http_interface_http_response_free(&ptr->val.ok); + } + else + { + http_interface_http_request_error_free(&ptr->val.err); + } +} + +void bindings_string_set(bindings_string_t *ret, const char *s) +{ + ret->ptr = (char *)s; + ret->len = strlen(s); +} + +void bindings_string_dup(bindings_string_t *ret, const char *s) +{ + ret->len = strlen(s); + ret->ptr = cabi_realloc(NULL, 0, 1, ret->len * 1); + memcpy(ret->ptr, s, ret->len * 1); +} + +void bindings_string_free(bindings_string_t *ret) +{ + if (ret->len > 0) + { + free(ret->ptr); + } + ret->ptr = NULL; + ret->len = 0; +} + +// Component Adapters + +void http_send_http_request(http_interface_http_request_t *request, bindings_result_http_response_http_request_error_t *ret) +{ + __attribute__((__aligned__(4))) + uint8_t ret_area[28]; + int32_t option; + int32_t option1; + int32_t option2; + if (((*request).body).is_some) + { + const http_types_http_body_t *payload0 = &((*request).body).val; + option = 1; + option1 = (int32_t)(*payload0).ptr; + option2 = (int32_t)(*payload0).len; + } + else + { + option = 0; + option1 = 0; + option2 = 0; + } + + int32_t ptr = (int32_t)&ret_area; + __wasm_import_http_send_http_request(option, option1, option2, (int32_t)((*request).headers).ptr, (int32_t)((*request).headers).len, (int32_t)(*request).method, (int32_t)((*request).params).ptr, (int32_t)((*request).params).len, (int32_t)((*request).uri).ptr, (int32_t)((*request).uri).len, ptr); + bindings_result_http_response_http_request_error_t result; + switch ((int32_t)(*((uint8_t *)(ptr + 0)))) + { + case 0: + { + result.is_err = false; + bindings_option_http_body_t option3; + switch ((int32_t)(*((uint8_t *)(ptr + 4)))) + { + case 0: + { + option3.is_some = false; + break; + } + case 1: + { + option3.is_some = true; + option3.val = (http_types_http_body_t){(uint8_t *)(*((int32_t *)(ptr + 8))), (size_t)(*((int32_t *)(ptr + 12)))}; + break; + } + } + + result.val.ok = (http_types_http_response_t){ + option3, + (http_types_http_headers_t){(http_types_http_header_t *)(*((int32_t *)(ptr + 16))), (size_t)(*((int32_t *)(ptr + 20)))}, + (uint16_t)((int32_t)(*((uint16_t *)(ptr + 24)))), + }; + break; + } + case 1: + { + result.is_err = true; + result.val.err = (http_types_http_request_error_t){ + (int32_t)(*((uint8_t *)(ptr + 4))), + (bindings_string_t){(char *)(*((int32_t *)(ptr + 8))), (size_t)(*((int32_t *)(ptr + 12)))}, + }; + break; + } + } + *ret = result; +} + +extern void __component_type_object_force_link_bindings(void); +void __component_type_object_force_link_bindings_public_use_in_this_compilation_unit(void) +{ + __component_type_object_force_link_bindings(); +} diff --git a/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.go b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.go new file mode 100644 index 00000000..3d10f5fd --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.go @@ -0,0 +1,337 @@ +package bindings + +// #include "bindings.h" +import "C" + +import "unsafe" + +// http-types +type HttpTypesUri = string +type HttpTypesHttpStatus = uint16 +type HttpTypesHttpParam struct { + F0 string + F1 string +} + +type HttpTypesHttpParams = HttpTypesHttpParam +type HttpTypesHttpMethodKind int + +const ( +HttpTypesHttpMethodKindGet HttpTypesHttpMethodKind = iota +HttpTypesHttpMethodKindPost +HttpTypesHttpMethodKindPut +HttpTypesHttpMethodKindPatch +HttpTypesHttpMethodKindDelete +HttpTypesHttpMethodKindOptions +HttpTypesHttpMethodKindHead +) + +type HttpTypesHttpMethod struct { + kind HttpTypesHttpMethodKind +} + +func (n HttpTypesHttpMethod) Kind() HttpTypesHttpMethodKind { + return n.kind +} + +func HttpTypesHttpMethodGet() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindGet} +} + +func HttpTypesHttpMethodPost() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPost} +} + +func HttpTypesHttpMethodPut() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPut} +} + +func HttpTypesHttpMethodPatch() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindPatch} +} + +func HttpTypesHttpMethodDelete() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindDelete} +} + +func HttpTypesHttpMethodOptions() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindOptions} +} + +func HttpTypesHttpMethodHead() HttpTypesHttpMethod{ + return HttpTypesHttpMethod{kind: HttpTypesHttpMethodKindHead} +} + +type HttpTypesHttpHeader struct { + F0 string + F1 string +} + +type HttpTypesHttpHeaders = HttpTypesHttpHeader +type HttpTypesHttpErrorKind int + +const ( +HttpTypesHttpErrorKindInvalidRequest HttpTypesHttpErrorKind = iota +HttpTypesHttpErrorKindInvalidRequestBody +HttpTypesHttpErrorKindInvalidResponseBody +HttpTypesHttpErrorKindNotAllowed +HttpTypesHttpErrorKindInternalError +HttpTypesHttpErrorKindTimeout +HttpTypesHttpErrorKindRedirectLoop +) + +type HttpTypesHttpError struct { + kind HttpTypesHttpErrorKind +} + +func (n HttpTypesHttpError) Kind() HttpTypesHttpErrorKind { + return n.kind +} + +func HttpTypesHttpErrorInvalidRequest() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidRequest} +} + +func HttpTypesHttpErrorInvalidRequestBody() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidRequestBody} +} + +func HttpTypesHttpErrorInvalidResponseBody() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInvalidResponseBody} +} + +func HttpTypesHttpErrorNotAllowed() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindNotAllowed} +} + +func HttpTypesHttpErrorInternalError() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindInternalError} +} + +func HttpTypesHttpErrorTimeout() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindTimeout} +} + +func HttpTypesHttpErrorRedirectLoop() HttpTypesHttpError{ + return HttpTypesHttpError{kind: HttpTypesHttpErrorKindRedirectLoop} +} + +type HttpTypesHttpRequestError struct { + Error HttpTypesHttpError + Message string +} + +type HttpTypesHttpBody = uint8 +type HttpTypesHttpResponse struct { + Body Option[[]uint8] + Headers []HttpTypesHttpHeader + Status uint16 +} + +type HttpTypesHttpRequest struct { + Body Option[[]uint8] + Headers []HttpTypesHttpHeader + Method HttpTypesHttpMethod + Params []HttpTypesHttpParam + Uri string +} + +// http +type HttpHttpRequest = HttpTypesHttpRequest +type HttpHttpResponse = HttpTypesHttpResponse +type HttpHttpRequestError = HttpTypesHttpRequestError +func HttpSendHttpRequest(request HttpTypesHttpRequest) Result[HttpTypesHttpResponse, HttpTypesHttpRequestError] { + var lower_request C.http_types_http_request_t + var lower_request_val C.http_types_http_request_t + var lower_request_val_body C.bindings_option_http_body_t + if request.Body.IsSome() { + var lower_request_val_body_val C.http_types_http_body_t + if len(request.Body.Unwrap()) == 0 { + lower_request_val_body_val.ptr = nil + lower_request_val_body_val.len = 0 + } else { + var empty_lower_request_val_body_val C.uint8_t + lower_request_val_body_val.ptr = (*C.uint8_t)(C.malloc(C.size_t(len(request.Body.Unwrap())) * C.size_t(unsafe.Sizeof(empty_lower_request_val_body_val)))) + lower_request_val_body_val.len = C.size_t(len(request.Body.Unwrap())) + for lower_request_val_body_val_i := range request.Body.Unwrap() { + lower_request_val_body_val_ptr := (*C.uint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_body_val.ptr)) + + uintptr(lower_request_val_body_val_i)*unsafe.Sizeof(empty_lower_request_val_body_val))) + lower_request_val_body_val_ptr_value := C.uint8_t(request.Body.Unwrap()[lower_request_val_body_val_i]) + *lower_request_val_body_val_ptr = lower_request_val_body_val_ptr_value + } + } + lower_request_val_body.val = lower_request_val_body_val + lower_request_val_body.is_some = true + } + lower_request_val.body = lower_request_val_body + var lower_request_val_headers C.http_types_http_headers_t + if len(request.Headers) == 0 { + lower_request_val_headers.ptr = nil + lower_request_val_headers.len = 0 + } else { + var empty_lower_request_val_headers C.http_types_http_header_t + lower_request_val_headers.ptr = (*C.http_types_http_header_t)(C.malloc(C.size_t(len(request.Headers)) * C.size_t(unsafe.Sizeof(empty_lower_request_val_headers)))) + lower_request_val_headers.len = C.size_t(len(request.Headers)) + for lower_request_val_headers_i := range request.Headers { + lower_request_val_headers_ptr := (*C.http_types_http_header_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_headers.ptr)) + + uintptr(lower_request_val_headers_i)*unsafe.Sizeof(empty_lower_request_val_headers))) + var lower_request_val_headers_ptr_value C.http_types_http_header_t + var lower_request_val_headers_ptr_value_f0 C.bindings_string_t + + lower_request_val_headers_ptr_value_f0.ptr = C.CString(request.Headers[lower_request_val_headers_i].F0) + lower_request_val_headers_ptr_value_f0.len = C.size_t(len(request.Headers[lower_request_val_headers_i].F0)) + lower_request_val_headers_ptr_value.f0 = lower_request_val_headers_ptr_value_f0 + var lower_request_val_headers_ptr_value_f1 C.bindings_string_t + + lower_request_val_headers_ptr_value_f1.ptr = C.CString(request.Headers[lower_request_val_headers_i].F1) + lower_request_val_headers_ptr_value_f1.len = C.size_t(len(request.Headers[lower_request_val_headers_i].F1)) + lower_request_val_headers_ptr_value.f1 = lower_request_val_headers_ptr_value_f1 + *lower_request_val_headers_ptr = lower_request_val_headers_ptr_value + } + } + lower_request_val.headers = lower_request_val_headers + var lower_request_val_method C.http_types_http_method_t + if request.Method.Kind() == HttpTypesHttpMethodKindGet { + lower_request_val_method = 0 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPost { + lower_request_val_method = 1 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPut { + lower_request_val_method = 2 + } + if request.Method.Kind() == HttpTypesHttpMethodKindPatch { + lower_request_val_method = 3 + } + if request.Method.Kind() == HttpTypesHttpMethodKindDelete { + lower_request_val_method = 4 + } + if request.Method.Kind() == HttpTypesHttpMethodKindOptions { + lower_request_val_method = 5 + } + if request.Method.Kind() == HttpTypesHttpMethodKindHead { + lower_request_val_method = 6 + } + lower_request_val.method = lower_request_val_method + var lower_request_val_params C.http_types_http_params_t + if len(request.Params) == 0 { + lower_request_val_params.ptr = nil + lower_request_val_params.len = 0 + } else { + var empty_lower_request_val_params C.http_types_http_param_t + lower_request_val_params.ptr = (*C.http_types_http_param_t)(C.malloc(C.size_t(len(request.Params)) * C.size_t(unsafe.Sizeof(empty_lower_request_val_params)))) + lower_request_val_params.len = C.size_t(len(request.Params)) + for lower_request_val_params_i := range request.Params { + lower_request_val_params_ptr := (*C.http_types_http_param_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lower_request_val_params.ptr)) + + uintptr(lower_request_val_params_i)*unsafe.Sizeof(empty_lower_request_val_params))) + var lower_request_val_params_ptr_value C.http_types_http_param_t + var lower_request_val_params_ptr_value_f0 C.bindings_string_t + + lower_request_val_params_ptr_value_f0.ptr = C.CString(request.Params[lower_request_val_params_i].F0) + lower_request_val_params_ptr_value_f0.len = C.size_t(len(request.Params[lower_request_val_params_i].F0)) + lower_request_val_params_ptr_value.f0 = lower_request_val_params_ptr_value_f0 + var lower_request_val_params_ptr_value_f1 C.bindings_string_t + + lower_request_val_params_ptr_value_f1.ptr = C.CString(request.Params[lower_request_val_params_i].F1) + lower_request_val_params_ptr_value_f1.len = C.size_t(len(request.Params[lower_request_val_params_i].F1)) + lower_request_val_params_ptr_value.f1 = lower_request_val_params_ptr_value_f1 + *lower_request_val_params_ptr = lower_request_val_params_ptr_value + } + } + lower_request_val.params = lower_request_val_params + var lower_request_val_uri C.bindings_string_t + var lower_request_val_uri_val C.bindings_string_t + + lower_request_val_uri_val.ptr = C.CString(request.Uri) + lower_request_val_uri_val.len = C.size_t(len(request.Uri)) + lower_request_val_uri = lower_request_val_uri_val + lower_request_val.uri = lower_request_val_uri + lower_request = lower_request_val + defer C.http_interface_http_request_free(&lower_request) + var ret C.bindings_result_http_response_http_request_error_t + C.http_send_http_request(&lower_request, &ret) + var lift_ret Result[HttpTypesHttpResponse, HttpTypesHttpRequestError] + if ret.is_err { + lift_ret_ptr := *(*C.http_interface_http_request_error_t)(unsafe.Pointer(&ret.val)) + var lift_ret_val HttpTypesHttpRequestError + var lift_ret_val_val HttpTypesHttpRequestError + var lift_ret_val_val_Error HttpTypesHttpError + if lift_ret_ptr.error == 0 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidRequest() + } + if lift_ret_ptr.error == 1 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidRequestBody() + } + if lift_ret_ptr.error == 2 { + lift_ret_val_val_Error = HttpTypesHttpErrorInvalidResponseBody() + } + if lift_ret_ptr.error == 3 { + lift_ret_val_val_Error = HttpTypesHttpErrorNotAllowed() + } + if lift_ret_ptr.error == 4 { + lift_ret_val_val_Error = HttpTypesHttpErrorInternalError() + } + if lift_ret_ptr.error == 5 { + lift_ret_val_val_Error = HttpTypesHttpErrorTimeout() + } + if lift_ret_ptr.error == 6 { + lift_ret_val_val_Error = HttpTypesHttpErrorRedirectLoop() + } + lift_ret_val_val.Error = lift_ret_val_val_Error + var lift_ret_val_val_Message string + lift_ret_val_val_Message = C.GoStringN(lift_ret_ptr.message.ptr, C.int(lift_ret_ptr.message.len)) + lift_ret_val_val.Message = lift_ret_val_val_Message + lift_ret_val = lift_ret_val_val + lift_ret.SetErr(lift_ret_val) + } else { + lift_ret_ptr := *(*C.http_interface_http_response_t)(unsafe.Pointer(&ret.val)) + var lift_ret_val HttpTypesHttpResponse + var lift_ret_val_val HttpTypesHttpResponse + var lift_ret_val_val_Body Option[[]uint8] + if lift_ret_ptr.body.is_some { + var lift_ret_val_val_Body_val []uint8 + lift_ret_val_val_Body_val = make([]uint8, lift_ret_ptr.body.val.len) + if lift_ret_ptr.body.val.len > 0 { + for lift_ret_val_val_Body_val_i := 0; lift_ret_val_val_Body_val_i < int(lift_ret_ptr.body.val.len); lift_ret_val_val_Body_val_i++ { + var empty_lift_ret_val_val_Body_val C.uint8_t + lift_ret_val_val_Body_val_ptr := *(*C.uint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lift_ret_ptr.body.val.ptr)) + + uintptr(lift_ret_val_val_Body_val_i)*unsafe.Sizeof(empty_lift_ret_val_val_Body_val))) + var list_lift_ret_val_val_Body_val uint8 + list_lift_ret_val_val_Body_val = uint8(lift_ret_val_val_Body_val_ptr) + lift_ret_val_val_Body_val[lift_ret_val_val_Body_val_i] = list_lift_ret_val_val_Body_val + } + } + lift_ret_val_val_Body.Set(lift_ret_val_val_Body_val) + } else { + lift_ret_val_val_Body.Unset() + } + lift_ret_val_val.Body = lift_ret_val_val_Body + var lift_ret_val_val_Headers []HttpTypesHttpHeader + lift_ret_val_val_Headers = make([]HttpTypesHttpHeader, lift_ret_ptr.headers.len) + if lift_ret_ptr.headers.len > 0 { + for lift_ret_val_val_Headers_i := 0; lift_ret_val_val_Headers_i < int(lift_ret_ptr.headers.len); lift_ret_val_val_Headers_i++ { + var empty_lift_ret_val_val_Headers C.http_types_http_header_t + lift_ret_val_val_Headers_ptr := *(*C.http_types_http_header_t)(unsafe.Pointer(uintptr(unsafe.Pointer(lift_ret_ptr.headers.ptr)) + + uintptr(lift_ret_val_val_Headers_i)*unsafe.Sizeof(empty_lift_ret_val_val_Headers))) + var list_lift_ret_val_val_Headers HttpTypesHttpHeader + var list_lift_ret_val_val_Headers_F0 string + list_lift_ret_val_val_Headers_F0 = C.GoStringN(lift_ret_val_val_Headers_ptr.f0.ptr, C.int(lift_ret_val_val_Headers_ptr.f0.len)) + list_lift_ret_val_val_Headers.F0 = list_lift_ret_val_val_Headers_F0 + var list_lift_ret_val_val_Headers_F1 string + list_lift_ret_val_val_Headers_F1 = C.GoStringN(lift_ret_val_val_Headers_ptr.f1.ptr, C.int(lift_ret_val_val_Headers_ptr.f1.len)) + list_lift_ret_val_val_Headers.F1 = list_lift_ret_val_val_Headers_F1 + lift_ret_val_val_Headers[lift_ret_val_val_Headers_i] = list_lift_ret_val_val_Headers + } + } + lift_ret_val_val.Headers = lift_ret_val_val_Headers + var lift_ret_val_val_Status uint16 + var lift_ret_val_val_Status_val uint16 + lift_ret_val_val_Status_val = uint16(lift_ret_ptr.status) + lift_ret_val_val_Status = lift_ret_val_val_Status_val + lift_ret_val_val.Status = lift_ret_val_val_Status + lift_ret_val = lift_ret_val_val + lift_ret.Set(lift_ret_val) + } + return lift_ret +} + diff --git a/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.h b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.h new file mode 100644 index 00000000..4952b434 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings.h @@ -0,0 +1,131 @@ +// Generated by `wit-bindgen` 0.6.0. DO NOT EDIT! +#ifndef __BINDINGS_BINDINGS_H +#define __BINDINGS_BINDINGS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include + +typedef struct { + char*ptr; + size_t len; +} bindings_string_t; + +typedef bindings_string_t http_types_uri_t; + +typedef uint16_t http_types_http_status_t; + +typedef struct { + bindings_string_t f0; + bindings_string_t f1; +} http_types_http_param_t; + +typedef struct { + http_types_http_param_t *ptr; + size_t len; +} http_types_http_params_t; + +typedef uint8_t http_types_http_method_t; + +#define HTTP_TYPES_HTTP_METHOD_GET 0 +#define HTTP_TYPES_HTTP_METHOD_POST 1 +#define HTTP_TYPES_HTTP_METHOD_PUT 2 +#define HTTP_TYPES_HTTP_METHOD_PATCH 3 +#define HTTP_TYPES_HTTP_METHOD_DELETE 4 +#define HTTP_TYPES_HTTP_METHOD_OPTIONS 5 +#define HTTP_TYPES_HTTP_METHOD_HEAD 6 + +typedef struct { + bindings_string_t f0; + bindings_string_t f1; +} http_types_http_header_t; + +typedef struct { + http_types_http_header_t *ptr; + size_t len; +} http_types_http_headers_t; + +typedef uint8_t http_types_http_error_t; + +#define HTTP_TYPES_HTTP_ERROR_INVALID_REQUEST 0 +#define HTTP_TYPES_HTTP_ERROR_INVALID_REQUEST_BODY 1 +#define HTTP_TYPES_HTTP_ERROR_INVALID_RESPONSE_BODY 2 +#define HTTP_TYPES_HTTP_ERROR_NOT_ALLOWED 3 +#define HTTP_TYPES_HTTP_ERROR_INTERNAL_ERROR 4 +#define HTTP_TYPES_HTTP_ERROR_TIMEOUT 5 +#define HTTP_TYPES_HTTP_ERROR_REDIRECT_LOOP 6 + +typedef struct { + http_types_http_error_t error; + bindings_string_t message; +} http_types_http_request_error_t; + +typedef struct { + uint8_t *ptr; + size_t len; +} http_types_http_body_t; + +typedef struct { + bool is_some; + http_types_http_body_t val; +} bindings_option_http_body_t; + +typedef struct { + bindings_option_http_body_t body; + http_types_http_headers_t headers; + http_types_http_status_t status; +} http_types_http_response_t; + +typedef struct { + bindings_option_http_body_t body; + http_types_http_headers_t headers; + http_types_http_method_t method; + http_types_http_params_t params; + http_types_uri_t uri; +} http_types_http_request_t; + +typedef http_types_http_request_t http_interface_http_request_t; + +typedef http_types_http_response_t http_interface_http_response_t; + +typedef http_types_http_request_error_t http_interface_http_request_error_t; + +typedef struct { + bool is_err; + union { + http_interface_http_response_t ok; + http_interface_http_request_error_t err; + } val; +} bindings_result_http_response_http_request_error_t; + +// Imported Functions from `http` +void http_send_http_request(http_interface_http_request_t *request, bindings_result_http_response_http_request_error_t *ret); + +// Helper Functions + +void http_types_uri_free(http_types_uri_t *ptr); +void http_types_http_param_free(http_types_http_param_t *ptr); +void http_types_http_params_free(http_types_http_params_t *ptr); +void http_types_http_header_free(http_types_http_header_t *ptr); +void http_types_http_headers_free(http_types_http_headers_t *ptr); +void http_types_http_request_error_free(http_types_http_request_error_t *ptr); +void http_types_http_body_free(http_types_http_body_t *ptr); +void bindings_option_http_body_free(bindings_option_http_body_t *ptr); +void http_types_http_response_free(http_types_http_response_t *ptr); +void http_types_http_request_free(http_types_http_request_t *ptr); +void http_interface_http_request_free(http_interface_http_request_t *ptr); +void http_interface_http_response_free(http_interface_http_response_t *ptr); +void http_interface_http_request_error_free(http_interface_http_request_error_t *ptr); +void bindings_result_http_response_http_request_error_free(bindings_result_http_response_http_request_error_t *ptr); +void bindings_string_set(bindings_string_t *ret, const char*s); +void bindings_string_dup(bindings_string_t *ret, const char*s); +void bindings_string_free(bindings_string_t *ret); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings_types.go b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings_types.go new file mode 100644 index 00000000..3d923fc8 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/bindings/bindings_types.go @@ -0,0 +1,108 @@ +package bindings + +// inspired from https://github.com/moznion/go-optional + +type optionKind int + +const ( +none optionKind = iota +some +) + +type Option[T any] struct { + kind optionKind + val T +} + +// IsNone returns true if the option is None. +func (o Option[T]) IsNone() bool { + return o.kind == none +} + +// IsSome returns true if the option is Some. +func (o Option[T]) IsSome() bool { + return o.kind == some +} + +// Unwrap returns the value if the option is Some. +func (o Option[T]) Unwrap() T { + if o.kind != some { + panic("Option is None") + } + return o.val +} + +// Set sets the value and returns it. +func (o *Option[T]) Set(val T) T { + o.kind = some + o.val = val + return val +} + +// Unset sets the value to None. +func (o *Option[T]) Unset() { + o.kind = none +} + +// Some is a constructor for Option[T] which represents Some. +func Some[T any](v T) Option[T] { + return Option[T]{ + kind: some, + val: v, + } +} + +// None is a constructor for Option[T] which represents None. +func None[T any]() Option[T] { + return Option[T]{ + kind: none, + } +} + +type ResultKind int + +const ( +Ok ResultKind = iota +Err +) + +type Result[T any, E any] struct { + Kind ResultKind + Val T + Err E +} + +func (r Result[T, E]) IsOk() bool { + return r.Kind == Ok +} + +func (r Result[T, E]) IsErr() bool { + return r.Kind == Err +} + +func (r Result[T, E]) Unwrap() T { + if r.Kind != Ok { + panic("Result is Err") + } + return r.Val +} + +func (r Result[T, E]) UnwrapErr() E { + if r.Kind != Err { + panic("Result is Ok") + } + return r.Err +} + +func (r *Result[T, E]) Set(val T) T { + r.Kind = Ok + r.Val = val + return val +} + +func (r *Result[T, E]) SetErr(err E) E { + r.Kind = Err + r.Err = err + return err +} + diff --git a/examples/containers/wasm-workers-server/kits/go/worker/doc.go b/examples/containers/wasm-workers-server/kits/go/worker/doc.go new file mode 100644 index 00000000..2f1fbafb --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/doc.go @@ -0,0 +1,13 @@ +/** + * + * === Go support for WASM Workers Server === + * + * This package provides a simple way to write WASM workers in Go. It uses the gjson, sjson libraries instead + * of Go's standard encoding/json package due to the following reasons: + * -- as of writing this file, the default Go compiler does not support the WASI backend, + * -- TinyGo (which does support WASI) does not support reflection and hence, we need to rely on a JSON library + * that does not use reflection + * + */ + +package worker diff --git a/examples/containers/wasm-workers-server/kits/go/worker/worker.go b/examples/containers/wasm-workers-server/kits/go/worker/worker.go new file mode 100644 index 00000000..ddb4fcae --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/go/worker/worker.go @@ -0,0 +1,267 @@ +package worker + +import ( + "bytes" + "context" + "encoding/base64" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + "strings" + "unicode/utf8" + + "github.com/vmware-labs/wasm-workers-server/kits/go/worker/bindings" + + "github.com/tidwall/gjson" + "github.com/tidwall/sjson" +) + +type ContextKey string + +const ( + CacheKey ContextKey = "CACHE" + ParamsKey ContextKey = "PARAMS" +) + +type input struct { + Url string + Method string + Headers map[string]string + Body string +} + +type output struct { + Data string + Headers map[string]string + Status uint16 + Base64 bool + + httpHeader http.Header +} + +var ( + cache map[string]string + params map[string]string +) + +func init() { + cache = make(map[string]string) + params = make(map[string]string) +} + +// output implements the http.ResponseWriter interface + +func (o *output) Header() http.Header { + if o.httpHeader == nil { + o.httpHeader = http.Header{} + } + + return o.httpHeader +} + +func (o *output) Write(data []byte) (int, error) { + if utf8.Valid(data) { + o.Data = string(data) + } else { + o.Base64 = true + o.Data = base64.StdEncoding.EncodeToString(data) + } + + if o.Status == 0 { + o.Status = 200 + } + + for k, v := range o.httpHeader { + o.Headers[k] = v[0] + } + + out, _ := sjson.Set("", "data", o.Data) + out, _ = sjson.Set(out, "status", o.Status) + out, _ = sjson.Set(out, "base64", o.Base64) + out, _ = sjson.SetRaw(out, "headers", "{}") + out, _ = sjson.SetRaw(out, "kv", "{}") + + for k, v := range o.Headers { + out, _ = sjson.Set(out, fmt.Sprintf("headers.%s", k), v) + } + + for k, v := range cache { + out, _ = sjson.Set(out, fmt.Sprintf("kv.%s", k), v) + } + + fmt.Println(out) + + return len(o.Data), nil +} + +func (o *output) WriteHeader(statusCode int) { + o.Status = uint16(statusCode) +} + +func readInput() (*input, error) { + stdin, err := io.ReadAll(os.Stdin) + if err != nil { + return nil, err + } + + in := &input{ + Url: gjson.GetBytes(stdin, "url").String(), + Method: gjson.GetBytes(stdin, "method").String(), + Body: gjson.GetBytes(stdin, "body").String(), + Headers: make(map[string]string), + } + + if gjson.GetBytes(stdin, "headers").Exists() { + gjson.GetBytes(stdin, "headers").ForEach(func(key, value gjson.Result) bool { + in.Headers[key.String()] = value.String() + return true + }) + } + + if gjson.GetBytes(stdin, "kv").Exists() { + gjson.GetBytes(stdin, "kv").ForEach(func(key, value gjson.Result) bool { + cache[key.String()] = value.String() + return true + }) + } + + if gjson.GetBytes(stdin, "params").Exists() { + gjson.GetBytes(stdin, "params").ForEach(func(key, value gjson.Result) bool { + params[key.String()] = value.String() + return true + }) + } + + return in, nil +} + +func createRequest(in *input) (*http.Request, error) { + req, err := http.NewRequest(in.Method, in.Url, strings.NewReader(in.Body)) + if err != nil { + return nil, err + } + + for k, v := range in.Headers { + req.Header.Set(k, v) + } + + req = req.WithContext(context.WithValue(req.Context(), CacheKey, cache)) + req = req.WithContext(context.WithValue(req.Context(), ParamsKey, params)) + + return req, nil +} + +func getWriterRequest() (*output, *http.Request) { + in, err := readInput() + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + + req, err := createRequest(in) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + + w := &output{ + Headers: make(map[string]string), + } + + return w, req +} + +func Serve(handler http.Handler) { + handler.ServeHTTP(getWriterRequest()) +} + +func ServeFunc(handler http.HandlerFunc) { + handler(getWriterRequest()) +} + +func SendHttpRequest(req *http.Request) (*http.Response, error) { + var method bindings.HttpTypesHttpMethod + switch req.Method { + case "GET": + method = bindings.HttpTypesHttpMethodGet() + case "POST": + method = bindings.HttpTypesHttpMethodPost() + case "PUT": + method = bindings.HttpTypesHttpMethodPut() + case "PATCH": + method = bindings.HttpTypesHttpMethodPatch() + case "DELETE": + method = bindings.HttpTypesHttpMethodDelete() + case "OPTIONS": + method = bindings.HttpTypesHttpMethodOptions() + case "HEAD": + method = bindings.HttpTypesHttpMethodHead() + default: + method = bindings.HttpTypesHttpMethodGet() + } + + // Iterate to get the headers + headers := make([]bindings.HttpTypesHttpHeader, 0, len(req.Header)) + for key, values := range req.Header { + for _, value := range values { + header := bindings.HttpTypesHttpHeader{F0: key, F1: value} + headers = append(headers, header) + } + } + + // Read the body request and convert it + body := []uint8{} + + if req.Body != nil { + readBody, err := ioutil.ReadAll(req.Body) + if err != nil { + return nil, err + } + defer req.Body.Close() + + body = readBody + } + + + // Convert body to []uint8 + bodyBytes := []uint8(body) + + bRequest := bindings.HttpTypesHttpRequest { + Body: bindings.Some(bodyBytes), + // Body: bindings.Some([]uint8{}), + Headers: headers, + Method: method, + Params: []bindings.HttpTypesHttpParam{}, + Uri: req.URL.String(), + } + + result := bindings.HttpSendHttpRequest(bRequest) + + if result.IsOk() { + response := result.Unwrap() + + // Create a new http.Response + httpResponse := &http.Response{} + httpResponse.StatusCode = int(response.Status) + + if response.Body.IsSome() { + body := response.Body.Unwrap() + httpResponse.Body = ioutil.NopCloser(bytes.NewReader(body)) + } + + // Set the headers + httpResponse.Header = make(http.Header) + for _, header := range response.Headers { + httpResponse.Header.Add(header.F0, header.F1) + } + + return httpResponse, nil + } else { + err := result.UnwrapErr() + + return nil, errors.New(err.Message) + } +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/.gitignore b/examples/containers/wasm-workers-server/kits/javascript/.gitignore new file mode 100644 index 00000000..f4960aca --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +package-lock.json + +!*.wasm diff --git a/examples/containers/wasm-workers-server/kits/javascript/Cargo.toml b/examples/containers/wasm-workers-server/kits/javascript/Cargo.toml new file mode 100644 index 00000000..b586dffc --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "wasm-workers-quick-js-engine" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyhow = "1.0" +javy = { version = "1.0.0", features = ["json"] } +# Use an old version until we add support for components. +wit-bindgen-rust = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "cb871cfa1ee460b51eb1d144b175b9aab9c50aba" } diff --git a/examples/containers/wasm-workers-server/kits/javascript/Makefile b/examples/containers/wasm-workers-server/kits/javascript/Makefile new file mode 100644 index 00000000..1fedb122 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/Makefile @@ -0,0 +1,5 @@ +.PHONY: build + +build: + cargo build --target wasm32-wasi --release && \ + cp ../../target/wasm32-wasi/release/wasm-workers-quick-js-engine.wasm ./ \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/kits/javascript/README.md b/examples/containers/wasm-workers-server/kits/javascript/README.md new file mode 100644 index 00000000..e926a043 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/README.md @@ -0,0 +1,7 @@ +# Use it with JavaScript + +The project already includes the compiled QuickJS engine. To simplify the usage of JS workers, the tool will automatically load this engine and will pass the source code with the request data. + +This project is based on the [quickjs-wasm-rs](https://github.com/Shopify/javy/tree/main/crates/quickjs-wasm-rs) crate from Shopify. + +Check our [examples](/examples) folders to see different workers using this kit. diff --git a/examples/containers/wasm-workers-server/kits/javascript/build.rs b/examples/containers/wasm-workers-server/kits/javascript/build.rs new file mode 100644 index 00000000..a26ffcb9 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/build.rs @@ -0,0 +1,39 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::{io::ErrorKind, process::Command}; + +// Build the client admin panel. +fn main() { + // First check if NPM is available in the system + match Command::new("npm").spawn() { + Ok(_) => { + Command::new("npm") + .current_dir("shims") + .arg("install") + .status() + .expect("failed to execute process"); + + Command::new("npm") + .current_dir("shims") + .args(["run", "build"]) + .status() + .expect("failed to execute process"); + } + Err(e) => { + if let ErrorKind::NotFound = e.kind() { + eprintln!("`npm` was not found in your system. Please, install NodeJS / NPM to build the admin panel."); + eprintln!("See: https://nodejs.dev/en/download/"); + } else { + eprintln!( + "There was an error when building the admin panel with NodeJS / NPM: {e}" + ); + } + } + } + + // Tell Cargo that if the given file changes, to rerun this build script. + println!("cargo:rerun-if-changed=shims/*.js"); + println!("cargo:rerun-if-changed=shims/package.json"); + println!("cargo:rerun-if-changed=shims/types/*.js"); +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/bindings.js b/examples/containers/wasm-workers-server/kits/javascript/shims/bindings.js new file mode 100644 index 00000000..14d72b8b --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/bindings.js @@ -0,0 +1,61 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { TextEncoder } from "@sinonjs/text-encoding"; +import { Response } from "./types/response"; + +(function () { + const __wws_send_http_request = globalThis.__wws_send_http_request; + const __wws_console_log = globalThis.__wws_console_log; + + globalThis.fetch = (uri, opts) => { + let optsWithDefault = { + method: "GET", + headers: {}, + body: null, + ...opts + }; + + if (optsWithDefault.body !== null && typeof optsWithDefault.body !== "string") { + try { + optsWithDefault.body = new TextEncoder().encode(optsWithDefault.body); + } catch (e) { + return Promise.reject(`There was an error encoding the body: ${e}. Use a String or encode it using TextEncoder.`) + } + } + + let result = __wws_send_http_request(uri, optsWithDefault); + + if (result.error === true) { + return Promise.reject(new Error(`[${result.type}] ${result.message}`)); + } else { + let response = new Response(result.body, { + headers: result.headers, + status: result.status, + }) + + return Promise.resolve(response); + } + } + + globalThis.console = { + error(msg) { + this.log(msg); + }, + log(msg) { + __wws_console_log(msg); + }, + info(msg) { + this.log(msg); + }, + debug(msg) { + this.log(msg); + }, + warn(msg) { + this.log(msg); + } + } + + Reflect.deleteProperty(globalThis, "__wws_send_http_request"); + Reflect.deleteProperty(globalThis, "__wws_console_log"); +})(); diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/index.js b/examples/containers/wasm-workers-server/kits/javascript/shims/index.js new file mode 100644 index 00000000..877d5dfc --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/index.js @@ -0,0 +1,69 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Main entrypoint for the project. + +// Import the different external polyfills +import URLSearchParams from "@ungap/url-search-params"; +import { TextEncoder, TextDecoder } from "@sinonjs/text-encoding"; + +// Import all the project types +import "./bindings"; +import { Request, Response, Headers, Cache } from "./types"; + +// Define the globals +globalThis.URLSearchParams = URLSearchParams; +globalThis.TextEncoder = TextEncoder; +globalThis.TextDecoder = TextDecoder; + +// Main logic +let handlerFunction; + +let addEventListener = (_eventName, handler) => { + // Store the callback globally + handlerFunction = handler; +}; + +const requestToHandler = input => { + const request = new Request(input); + const event = { + request, + response: {}, + respondWith(res) { + this.response = res; + } + }; + + Cache.init(input.kv); + + try { + handlerFunction(event); + + // Always convert event.response to a Promise + Promise.resolve( + event.response + ).then(res => { + // Set the result in the global value + result = { + data: res.body, + headers: res.headers.headers, + status: res.status, + kv: Cache.state + }; + }) + .catch((err) => { + error = `Couldn't process the response from the handler:\n${err}`; + }); + } catch (err) { + error = `There was an error running the handler:\n${err}`; + } +}; + +// This is the entrypoint for the project. +entrypoint = requestToHandler; + +// Set the result +result = {}; + +// Save errors +error = null diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/package.json b/examples/containers/wasm-workers-server/kits/javascript/shims/package.json new file mode 100644 index 00000000..b3abb7da --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/package.json @@ -0,0 +1,15 @@ +{ + "name": "shims", + "version": "1.0.0", + "private": "true", + "main": "index.js", + "scripts": { + "build": "esbuild --bundle ./index.js --tree-shaking=false --outdir=dist --platform=node" + }, + "dependencies": { + "@sinonjs/text-encoding": "^0.7.2", + "@ungap/url-search-params": "^0.2.2", + "esbuild": "0.18.11", + "http-status": "^1.6.2" + } +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/types/cache.js b/examples/containers/wasm-workers-server/kits/javascript/shims/types/cache.js new file mode 100644 index 00000000..a5318f2e --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/types/cache.js @@ -0,0 +1,18 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Key / Value store from Wasm Workers Server +const Cache = { + state: {}, + init(state) { + this.state = state; + }, + get(key) { + return this.state[key]; + }, + set(key, value) { + this.state[key] = value; + } +}; + +export { Cache }; diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/types/headers.js b/examples/containers/wasm-workers-server/kits/javascript/shims/types/headers.js new file mode 100644 index 00000000..f3365a12 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/types/headers.js @@ -0,0 +1,42 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Define a set of headers. It includes multiple method +// to access and edit them. +class Headers { + constructor(initialHeaders) { + let headers = {}; + + // Initialize the headers + for (const key in initialHeaders) { + headers[key] = initialHeaders[key]; + } + + this.headers = headers; + } + + append(key, value) { + this.headers[key] = value; + return value; + } + + set(key, value) { + this.append(key, value); + return value; + } + + delete(key) { + let dropValue = delete this.headers[key]; + return dropValue; + } + + get(key) { + return this.headers[key]; + } + + toJSON() { + return this.headers; + } +} + +export { Headers }; diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/types/index.js b/examples/containers/wasm-workers-server/kits/javascript/shims/types/index.js new file mode 100644 index 00000000..c096f2f6 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/types/index.js @@ -0,0 +1,8 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// Import the different types. +export { Headers } from "./headers"; +export { Request } from "./request"; +export { Response } from "./response"; +export { Cache } from "./cache"; diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/types/request.js b/examples/containers/wasm-workers-server/kits/javascript/shims/types/request.js new file mode 100644 index 00000000..7fb8e4d9 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/types/request.js @@ -0,0 +1,22 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { Headers } from "./headers"; + +// A request that comes from Wasm Workers Server. +// It contains all the required data. +class Request { + constructor(input) { + this.url = input.url; + this.method = input.method; + this.headers = new Headers(input.headers || {}); + this.body = input.body; + this.params = input.params || {}; + } + + text() { + return this.body; + } +} + +export { Request }; diff --git a/examples/containers/wasm-workers-server/kits/javascript/shims/types/response.js b/examples/containers/wasm-workers-server/kits/javascript/shims/types/response.js new file mode 100644 index 00000000..ad42136e --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/shims/types/response.js @@ -0,0 +1,89 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { Headers } from "./headers"; +import { TextEncoder, TextDecoder } from "@sinonjs/text-encoding"; +import httpStatus from "http-status"; + +// The response object to return the project response. +// It contains different helpers +class Response { + constructor(body, options = {}) { + this.body = body; + this.headers = new Headers(options.headers || {}); + this.status = options.status || 200; + this.statusText = options.statusText || httpStatus[this.status]; + } + + static redirect(url, status = 307) { + return new Response(`Redirecting to ${url}`, { + status, + headers: { + Location: url + } + }) + } + + get ok() { + return this.status >= 200 && this.status < 300; + } + + defaultEncoding() { + return "utf-8"; + } + + arrayBuffer() { + let parsedBody = this.body; + + if (typeof this.body === "string") { + try { + // For now, we only consider the String|ArrayBuffer option + parsedBody = new TextEncoder().encode(this.body); + } catch (e) { + return Promise.reject(`There was an error encoding the body: ${e}. Please, use the arrayBuffer() and TextDecoder method instead.`); + } + } + + return parsedBody; + } + + json() { + let parsedBody = this.body; + + if (typeof this.body !== "string") { + try { + // For now, we only consider the String|ArrayBuffer option + parsedBody = new TextDecoder(this.defaultEncoding()).decode(this.body); + } catch (e) { + return Promise.reject(`There was an error decoding the body: ${e}. Please, use the arrayBuffer() and TextDecoder method instead.`); + } + } + + try { + return Promise.resolve(JSON.parse(parsedBody)); + } catch (e) { + return Promise.reject(`The body is not a valid JSON: ${e}`); + } + } + + text() { + let parsedBody = this.body; + + if (typeof this.body !== "string") { + try { + // For now, we only consider the String|ArrayBuffer option + parsedBody = new TextDecoder(this.defaultEncoding()).decode(this.body); + } catch (e) { + return Promise.reject(`There was an error decoding the body: ${e}. Please, use the arrayBuffer() and TextDecoder method instead.`); + } + } + + return parsedBody; + } + + toString() { + return this.body; + } +} + +export { Response }; diff --git a/examples/containers/wasm-workers-server/kits/javascript/src/bindings.rs b/examples/containers/wasm-workers-server/kits/javascript/src/bindings.rs new file mode 100644 index 00000000..3d777bb5 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/src/bindings.rs @@ -0,0 +1,138 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::collections::HashMap; + +use crate::{error::RuntimeError, http::HttpError}; +use javy::quickjs::{JSContextRef, JSValue, JSValueRef}; + +// Bindings from WIT +use crate::http; + +/// Defines the different bindings required for the worker. +/// It includes utilities to log information, make HTTP requests, +/// and more in the future. +/// +/// It applies them to the global context as __wws_X variables. +pub fn load_bindings_into_global( + context: &JSContextRef, + global: JSValueRef, +) -> Result<(), RuntimeError> { + global + .set_property( + "__wws_send_http_request", + context + .wrap_callback(|_ctx, _this_arg, args| { + let uri = args[0].to_string(); + // Options + let opts: HashMap = args[1].try_into()?; + let method = opts.get("method").unwrap().to_string(); + let headers = opts.get("headers").unwrap(); + let body = opts.get("body").unwrap(); + + let method = match method.as_str() { + "GET" => http::HttpMethod::Get, + "POST" => http::HttpMethod::Post, + // Default to GET + _ => http::HttpMethod::Get, + }; + + let mut parsed_headers: Vec<(String, String)> = Vec::new(); + + if let JSValue::Object(headers) = headers { + for (key, val) in headers.iter() { + parsed_headers.push((key.to_string(), val.to_string())); + } + } + + let headers_slice: &[(&str, &str)] = &parsed_headers + .iter() + .map(|(k, v)| (k.as_str(), v.as_str())) + .collect::>(); + + let parsed_body: Option<&[u8]>; + + // The shim always return an array buffer. + if let JSValue::ArrayBuffer(buf) = body { + parsed_body = Some(buf.as_ref()); + } else if let JSValue::String(data) = body { + parsed_body = Some(data.as_bytes()); + } else { + parsed_body = None; + } + + let req = http::HttpRequest { + uri: uri.as_str(), + body: parsed_body, + headers: headers_slice, + method, + params: &[], + }; + + match http::send_http_request(req) { + Ok(result) => { + let body = result.body.unwrap_or(Vec::new()); + let mut headers = HashMap::new(); + + for (key, val) in result.headers.iter() { + headers.insert(key.as_str(), JSValue::String(val.to_string())); + } + + let parsed_result = HashMap::from([ + ("status", JSValue::Int(result.status as i32)), + ("body", JSValue::ArrayBuffer(body)), + ("headers", JSValue::from_hashmap(headers)), + ]); + + Ok(JSValue::from_hashmap(parsed_result)) + } + Err(err) => { + let kind = match err.error { + HttpError::InvalidRequest => "Invalid Request".to_string(), + HttpError::InvalidRequestBody => "Invalid Request Body".to_string(), + HttpError::InvalidResponseBody => { + "Invalid Response Body".to_string() + } + HttpError::NotAllowed => "Not allowed".to_string(), + HttpError::InternalError => "Internal Error".to_string(), + HttpError::Timeout => "Request Timeout".to_string(), + HttpError::RedirectLoop => "Redirect Loop".to_string(), + }; + + Ok(JSValue::from_hashmap(HashMap::from([ + ("error", JSValue::Bool(true)), + ("type", JSValue::String(kind)), + ("message", JSValue::String(err.message)), + ]))) + } + } + }) + .map_err(|_| RuntimeError::InvalidBinding { + invalid_export: "send_http_request".to_string(), + })?, + ) + .map_err(|_| RuntimeError::InvalidBinding { + invalid_export: "send_http_request".to_string(), + })?; + + global + .set_property( + "__wws_console_log", + context + .wrap_callback(|_ctx, _this_arg, args| { + let msg = args[0].to_string(); + // For now, just print it in STDERR + eprintln!("{msg}"); + + Ok(JSValue::Null) + }) + .map_err(|_| RuntimeError::InvalidBinding { + invalid_export: "console_log".to_string(), + })?, + ) + .map_err(|_| RuntimeError::InvalidBinding { + invalid_export: "console_log".to_string(), + })?; + + Ok(()) +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/src/error.rs b/examples/containers/wasm-workers-server/kits/javascript/src/error.rs new file mode 100644 index 00000000..8d234785 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/src/error.rs @@ -0,0 +1,7 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/// List of runtime errors +pub enum RuntimeError { + InvalidBinding { invalid_export: String }, +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/src/main.rs b/examples/containers/wasm-workers-server/kits/javascript/src/main.rs new file mode 100644 index 00000000..d74c2d4d --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/javascript/src/main.rs @@ -0,0 +1,84 @@ +// Copyright 2022-2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod bindings; +mod error; + +use bindings::load_bindings_into_global; +use javy::{json, Runtime}; +use std::{ + env, fs, + io::{stdin, stdout, Read, Write}, +}; + +// Load bindings from WIT file. +wit_bindgen_rust::import!({paths: ["../../wit/core/http.wit"]}); + +// JS polyfill +static POLYFILL: &str = include_str!("../shims/dist/index.js"); + +fn main() { + let runtime = Runtime::default(); + let context = runtime.context(); + + let source = fs::read_to_string("/src/index.js"); + let mut contents = String::new(); + let mut request = String::new(); + contents.push_str(POLYFILL); + + stdin().read_to_string(&mut request).unwrap(); + + // Inject global variables + for (key, val) in env::vars() { + let escaped_val = val.replace('"', "\\\""); + contents.push_str(&format!("const {} = \"{}\";", key, escaped_val)); + } + + // Add the source code + contents.push_str(&source.unwrap()); + + // Add custom bindings + let global = context.global_object().unwrap(); + match load_bindings_into_global(context, global) { + Ok(_) => {} + Err(e) => match e { + // In the future we may have more errors. + error::RuntimeError::InvalidBinding { invalid_export } => { + eprintln!("There was an error adding the '{invalid_export}' binding"); + } + }, + } + + context.eval_global("handler.js", &contents).unwrap(); + let global = context.global_object().unwrap(); + let entrypoint = global.get_property("entrypoint").unwrap(); + + let input_bytes = request.as_bytes(); + let input_value = json::transcode_input(context, input_bytes).unwrap(); + + // Run the handler to get the output + match entrypoint.call(&global, &[input_value]) { + Ok(_) => {} + Err(err) => eprintln!("Error calling the main entrypoint: {err}"), + }; + + if context.is_pending() { + if let Err(err) = context.execute_pending() { + eprintln!("Error running async methods: {err}"); + } + } + + let global = context.global_object().unwrap(); + let error_value = global.get_property("error").unwrap(); + let output_value = global.get_property("result").unwrap(); + + if !error_value.is_null_or_undefined() { + eprintln!("{}", error_value.as_str_lossy()); + } + + let output = json::transcode_output(output_value).unwrap(); + + stdout() + .write_all(&output) + .expect("Error when returning the response"); +} diff --git a/examples/containers/wasm-workers-server/kits/javascript/wasm-workers-quick-js-engine.wasm b/examples/containers/wasm-workers-server/kits/javascript/wasm-workers-quick-js-engine.wasm new file mode 100755 index 0000000000000000000000000000000000000000..26f1597054fa62604822770b554258b61a6a80dc GIT binary patch literal 3903412 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�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 Gw~XRZnCx)88HfTOi&Q(BcA37gr*!7 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

    DFR% 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

    }$WS61-BgP{FejnRkuy*HgJI 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%0ArG2Cyd)G>OoX9<^yb>x|+mdlZ{w z6f1V(DDJjLvCNF(1$z`H+Jk6x2Ju4pAfz&Iy%aHsB1f7;8J_N#q1?HPnV}R3+sQWK zem!O={3afqegE}$X9S7*Kyt)mTAY5SV-F;M7yWUPf$${`B>Yy(odbyr;WOIogD{{u z&)AM+1VV9>)c?a7$Ur@i!&E|p9!dvWx%@*S;_qdK@-Rc;x7YZ| zd#A{^2Y1}J{Y9^{r}yMEtH1Z?6l+gE569|>dNa|R7Z(-E7f2kio%36Jr#@EPDB_!K)zUE@tpCeg?4$KVO_Jz~pBU8Gq!T@@+dgv|*>CJ( zJSu$X&8>}mH|@BpwkYLRgP?3T?KH8wwYh5A;FQ1IWx*ye7H+yKE=7+4K3c=}5~lms zjI<8SbTA{eI~3FFa83)3)whR&hwn%P@m=#7rXxmHk$mbhK|?`>R^;cV^jU(A-+ zF@~NU!q#@Lp0<|c?$u-X*tQFtkr+gs(@|#99kO~jfNZ-k+UmDzpEx<)gfGnp+S=H@ zbWR9!?GwV6#b&~G-fw%+ggWT(f=I&Z;Ehe~Yu_L`XO-2_XBC;l);Bk%v(@unht6gs z7CU%(whxQuoZreavzJPniU3(h?|WSV@gd)C0kN$;ZAet+X!Tm+ z*o^Jgn6^bFyZHLseZJdX%eUPa+>Jr?HJ-_Or7tVb-J!W>+A_2_%`xcS=!uJ;jGKV^ zBaudX`5LVLwbov>@uyk+39FJDZihX^`Q&j--g{_g`#W(b!_)g|kMZ=r!Zy&~axA!= z=2btn5Xv?vBrPGqdmRvtZK#<{|P5ZV6lVahrsdBK!bIt z&-M$7dehYEn+)FM8O#2tZ$fWs;yj*s&lMhzCoV4TyW}MKLy?Dnab=|wJp3C{R2=jS zDJ?GxP8c$AME>aPQ%;$fJ+dGxf8yvj^HQ}I<2MrxDeDts( zlZ#F%%`crXWI{=4!4PSrxO|GoGbMjQX-QdTX_>S?rF^nHd3h?CXg`(H*Z5E^1tbn0 z&c|rfYjq8%du9{NiA-@-e*9e?_hkOyFS2^yikIU|0(Obs>s3z;H51gCRXO_inQ@u! z?|9zdn1FlnstWG`aq2Pr8%XT_@-zZB*>%JxE+?LPByCP;z|-T0IKnz4sk19P#5|`)hR>hr&#V&x{#lZ>~4!?ac%v>N#2Xv&@M*6D=kpG+iKOr#SK15Eythnwkm%fuIAM~(0>~dsRSRq z_r`;dS2RA35|Z5cG`ih{KB1(zqM&pKteBFiWl<}p?9`&dV5=*I6(;ZEJ)TpFbS*1< zW!YiLF2bX<3p1JzK=Gc@Tcq|# z=21SesKUlX6o*I(sJmwqc19@ZaW6qwy6>D$);gU$=ydYtZaOubeaF$Mj=5~u40QU# zEa>!5pQ@0!c@WqKfx>7Kh1m>N-$P?U!vD2NxFxX~lKvqcV*SJr>jwcttYPFX@1ltH zJJwXZXKic5DqH1{vZ)0Vit;BH%`BKW9x5GQS}(NDJo_^9zVIHc#{3OyKd45D;H47{yG>qUgUdbT1h$TP7g}<&^U6sq?+DC2j6k7Xlu=cqGoF}P^{G4CokYK)@=C8H-j+RrCjI|AvKDwE!_)x25sKsZM$yT;lxLtVtyqTjz8k8p4;9@Er1KtdhL zHk71B*7*eZLF~v?h1LP88^H&MY_JY6V|d?;Aww;mh6oH;D}V&|`WHPxYp=(A>LvsV zyLF+91Mw$jyINKS2z_-Zg$-pAmn2Vya#kF|;!gw(mF~|af4X#E=l3`BVFm(+>ENqM z-ND634${Hrl@T2bS1V`H!AF(;Lh0bDxID1fM@^#ar^;#v6f@9j+6~}c9p}&R?hnUv z#3m-US3o7!ojKM@+JxhOEt9HFE>r`8>g1prP%m)+5^G{i1TiAooCpzU+=MwbM4xc(ZF3%^NTF*zGHAJP?TL;{% zQT0CY{RC5sr!`o6jA5V;R;yrjLtsA40MXA&RZB_C*Aduy4;)28DRv|JXEG37&*U98t9k9fM!mu<9+HfruaBXo8s%IfqzB`IC_Syef>nM{E)Q)^jDkS zCgoXs4zB{jklaBPmM!Np6OGQ1p6AxnPEt< z`VC;tgY4Q6&Qspp6E(V*>5{JMjTx}S&t@_D%OpbPM?}jcFwa7TL(-mB%A>mOwa9oD zQByyd5&Rm~AeH|ml^bVO^H9fMzlgxyiQ&@;Z`vfa*ef6Gqt2Y!pc~j|$?p`M)VAB{ z@?jny7V=lfUw>B^`!ghr^TB7#Cb#un2o%uYI4f7?f0fE4P-{>%f~98^O_@4*;6Vq?_L!%v(e7jDDSMP#7<$SY=@y2bvPQUtp{MNO zZei$Ym|K>W?LLM*Wx0h}VUKQM=wWmSboX(z`!vdZ${y)HW`!O@Pb1vd!`-K>VeVt- zDJ$D83_WFKxrL!8wxO#VdyDqlv@~j${y(!hMq>aWm&`B$Iw&uFt;%D zlL-Lkc~OcFVFyg&s$`kD;d#ZrO16X_)(zmF+%; zp0cvs!qAgjbkHydoUGCAW9TV+lv|h;dJH{{480!VK8BvMhr5NLr(tecR<`>X_LSuo zW`#Y53WvIn^59_DEj%bYG$QwLwEL7j%6-fVJ%*k}y01sLPs81(tYPkB=qW4PEet&k z%W?~|!XDj1d2nD46&{r303UkF8toQ_p0Y=|g;}A;&{OtE_kHMTgj<$1+t!EeduXemRpz={^*P&duZr=*pS`AgN8aavqrm*p{MLoZedpFG4wRjeLcc` z8ty&~bDy%Z-N(>VmXx6jVVf+U5G*Mj=+@CMY<9%+ zGAd~}B5O`4nL5KWk%5$!%<$wF&+wEL1nD+^VoC92et?Kz!6fOoG{|Xl{DjH*Wo1Q$ zGn|87SwVj3gj2_#GGqK{1)%Lz`I3=NpsExcCr@K}m|Rdi{*;13)U*IOQGQR#p8x_+ z=TpywDO2T7S+GF=%`Yv@2d1L3sgwCTp=8R`az;C~v}7VvJU)LaPt!em&S-18hr@7* zehB8DCaq8Rlop^GD=R?5JDus7Jie^Fu&`*lM^DUDp#b?ct+YtDs(%y~O_m=wafN4+`Ez*5lqvbekZuLo*ED-tg-5h!o(ZQGOgPQxC}d&)zXH5fc*;s9 zoCcvypo!9=vU29R7?cJ*zssMTUp#>YbhuqmETsiyAOn)uGO-j)%P$I!*Q>FlJP3h! zSiKM%Qwoudhj1wNlum#g>>s+kB7bsuf%6v1Eh=VKTdi=MX+?J>GbT*}W-)7Vyz`rd zahm%>Q@``3EI3g<__O&_UR+cR#L$f=zs&h#x|cGR$z)wRu>kVZPnw+NU5JIquVaG+ zrN{I4sABp5cbahiR8XjY%m^0zd2-Q&0{LMkQM1M{lJOiN7(5Q*@qj0I7kZqM(je;U^0n1Qtx?t>y{(K@ZR^%AY(fe@5B(d`L$=FD{y3KhvvLP8UHXyn-K2 z8J}M^p{R%@2qW?QKlzWfC0s$C1m^JtEP>MTh51F3LuGn(j4vq#D^YKBLqN;w886L5 zepgUDF~+;75sxpK>SCc_dOnjX1)47NCrl{d`BbK=w4}s5Og(i*S&=X{U2;k}3ywFX za4F_hGZ3&jks_AF1Q@Y?7;l~oa_nc#1@y#>7u_1@nK9lVU;i9mpr_6QKa#h){i!AT z5oO=_Q{`zwd1)!E$5S$uq4TXgnn_GL{p|JXFkbwJWf#O)8!uRe$R~ z6-|`i$Ljx`4tF{vYEdy|KVc#ytzO7 zNnHMosQ1<8Zg}9z#RWsp-_7-Vc=i1mZ0*9WJFNO&df1mO!m}TB@|!yrc9TY<@rSVRpb!aO4)}_~rV- zo!bhz+q`?vfaqUmT|L9s(nI+-vulx_VDr_Eb~(-Ao`T9><*!>lAL$Yj(s;oYdv$!_YP#>n?!MEH+b>)3 zruW*`{qP`dZH?j>+O3m`)Q^Yl*>^0KH|}uDTEDp3Tyxb9Z!b9#`(Z(C?>S^%w_3sC z-o6!fdvO>}{TjDzLo%nwR7te9FXJ6mFdl1K=6Vp3)@cWzl zI~F9D@c(*Zw~jfcX6woI)Llqhe~AUy9Q+!t1YuRHkf)In_1Bi~?nvv${jQbC&wP#} zV6g^UjoY)E;eO&b@g3H~%`k1ZXTSKr%*ri$^7gEM*j%zv*_*VB@HotX^N;MTXXB0A z3rs4HzeO^pWOByH{_O+9yx@|N0b=0;URrr-#V#(TUHp3j;(!>9Ji46Sa)ll1y1VAU zKGPkF4{}A_&|h1N{Jr3U&VObT`T16?LvwHI!;TS_Hc*@$Yb+3BuQo{ky6<~hN;O1MLdarp zru+9dLHio=o2_&+$F-2y;Vu3Ozv&0J!Y`PH>GQ2!;ZQ%= z2;=hx;uRo@aNTx;ExxEus;>JF3y1QoowzoNp#bQLbK*h18 zJ+sGfGYW8b)op_KL)UW4Mg(<-L%)x+JEQ&xuw=Vyq>?!d-KI|K9Nu1Hkl+Bk5rHr2mF%-V(-l zeBik&_XpzE*(dB&JmoZ=p!qoF=gevR`u5Y!@7FNjZY+1tq2Xy@6T z4&B`tPQP^)H0Hp5G#b4-gFwDgx5w ztrsCsmC&_0MLfgazyT&O?8KK}F2=i?TeF(TG=ZLD=Rf*iztxX#ru!cdyRPlzmJ3J} z8fIr@<(M_{soQRxU~u1Y#hC8iwSRATkN)Sg`SULwVn%fW6$Uuk88}0jF;3tWB=iQB zEq&I3(K?Io?3=fDlUCu`Hyf7Y`2FqK-)`=2q;y?N7v?bNnG;(vucQI~vg)pHt|gDM ziNc?DC)hwPpe*}oy1To+IfFa$?}q<>`|;tDHtxsGjkZkw<&KO$`V!eXF+|-2gR&jF z1!jkD&CdKOuC(G=b_buH@agX9vJGE2&wF!S`wlEFDn}{&$tQmQ+@TRj#b%_TZVRMRCvR$FsJeI!XLe}gDYe^AuSS*cAqcg}KfApd{N7cx zE5FgHiRcn^9PtEL;W4P;0}u;@4u?B59s0|K{w$X;Kj9UU6)Idp)IecF0=G%T0CQ!c z4*K*v)EW)6-!sO&b2nvY?8NMYOrG{i417!|>&%gaDO}k1P#olBjgD(J%z}Ot`qnT)JZ?bLs3y{uhV4zrQqZk13LF zRDxRRRS{{JUW>3phKJ1#H{Ipg*QSJgbHgFbR^NMh_S4PvPx|`-#aQ#mKP;Pxzk~k4 zL-0y}?Tfb<3omU+vPoXJGdkywv?$#*IVE_*J^nrkKCJNIjkHtmOhWRsQ@5AuzU`N5 zJOLa?k9WJT&5SpfVV6Rq@TPspQ{3L{_gb6BuRAl_V$=@Tw)Fp&>yLFk|?fZCgb@sLXF-_D6REpjuMrx=;+L+`LeukUrS4f-_ z)0j;elv;{d2VHaBJSujZv_)JolHdKPX~W{$8(BVHYaQ4byoHOBi(x!65qpLe&d^Zo zYIi9)=L6RU=McjO^nlOt0sjvQws{V4_Bu)J>~EJhJty~AV<2YO)d#lFMI_St z!p(K@9;*sW&uNo(qAy-ug(89q=zh>02Nz9sJh-~|M)$nkYOnaa-fq@8{w@|HB%|vO zXJ|S4^KcFC`(RV?<;o7tQn8IsG&Z}R>`0d+Zqp7n)XfJit1a@Qab~1Aj_yA3T_3!8 zl-KCQ9`nbn(cUh~(rO1cvd-Aiub+OXtr?E$*5UxGmvk%j%~-E{G3>OP$Pu74y@ishJLPQsgsC>kesVEzJk z=-PM3-aX?^cw83ai%;*(#v_Z#nQahomG_%7yzhuuD65D|@7)4%hu54s!rmIYJ-c8D z`oj*r@xAOO+LhmN=yz0qW;O(g>)NLImHrx^-in!MX1y73YvyZC-8MbTOkqE}wP%NH z7WVfSJ$9i5jC`SgV|M~>4*c?4{#^5jE%zr+s}Cm-7TC4MMB z`Ow}k@k80khxUGnA4*R?wEV)9*s_&i?x@t*=-KuIs-V+!Av|OzK}ej)!_lE zW_yq6MK-0g8(FSlL-yx;9jmX1ueR+=j&(yJlD0FWWjnHu(hZ{YZ}=MweLDUfbC&*U zvogR8en*}7esl5-?B-^kSxRUY>=HV57I+CaC{!@ue}2E)D^ z?fQe zY_0D*Hcspi&iejZ2EDCL*Mb$z^FsRpkr}HTs)p{;Mu1XDTZG@(#*Kg_V40*CnYrf8 z9o$XwtovdAoUs?9kM2Mji7q*(r2AP^U~nuNTXqNIu-5)^Ngt*YoQkG)E>Cwo0{|>a z8|JOahB|Twzsn{lQb3Oqp-f0TBDBp%9MZNKzG1VSKpo*IL?z~T*%+^NWZN6=d9((d z`dwjnK_UupId0BSdz>Yx)kW*ca9Nt&)9Wp;O63D>rN zQL9G4vUNMVOG`VuOHn(!i?)RtFa=LKHcmMw)HRk9K3}H+0t6%dc)xjIaDX5Do;Z@v}y7Nr>3^2i=f4Jd-#Kb(u5y z>^tmtKsRqEEYFivemnjiiNg-uer|`R#@Z2m#3;Mm_*PGA7$CL{hhIazzvw`V+7xWu zwAVH-<|P-CL#)JHf=7x&_YO6WM5tx!WJ4O-!n|yu_`i6D@D(hK!%k%4u!Eg50U|P# z=QVDIqePkP_> z)8^m*zI2l(=4~h)HoPxflMiD5n%KYH^Tuv*!jVZp&W89_SVFhEn;?kF0O7hrC|!MU z-|Iwicj0?o)$ot(i$W=xaxv^qzYW*_Zp_y0NN7+po}Begj4;x?aF;}-7e=vmhitue z@Jl%OwfpqDEb#w)YuD+SAHK`Yhslid)^X{_)7?9*VPVXGS=ce_Dmrxd4|ic-#y*or z;fJZ4&DH8PZ|M-j1wPzuM{{qa*-tf@5|zTu$u3 zkod*yO#YXk5NfwQ)4T0JZnIaqa)E_KE@C*C?cgj>Tc*47#T*%|j_j!DCTG8672}Wh zEMwr3#-h0}{sE>F=dw;s(V?Gq{x$rN%hF1reH$x@1MWb;W4CR&bLYX8DzAGU8h_jC zn>Tjt8+J8!w2gdxnDJvM(+sUdLYOj0A;^usk)Z0@j27zq8j z3B}H71w@e0+Ej+^(<5YR|Y=v$hl+YMs~(ra^V_U^M+(ww1^Qgt7HEhR53;vip_|@PC2pOL)KBCA3tkdEF9m95jM1Y}G zrzX^Kq{YBi#dgGr{ON8#)fqN4S?RFH$*zqY!2mM;`s=qXDAU|@7n?cknKH+?j}#hp ztCQ)nyVc(vkDJ89FgnY%1>+mN6++89fXCD^6T4PdZ2Fg5{L9&`EwBLz^nV^CM9D>n z^N<4@TDr?_8D1hHcZ|xfAU?>HaPDxHX_KGACC#~?{hJFMGu%bboa=>S`)QOvS`x2W z`?(5b;i6^sB8M$wjujc*+T6F{H`AHe*!@)&5Q`$52}{91F@o3buO@i0%!0U2Im4etfuQHejTh%H1QLPGzmxU4$Y( z$;G?7B6hfUY4@_-ZPqm-)FS%%3inR{gg0+TF~{pm@40U9dVHbd+0UX_ z{$AZ~2Ox|CRLGQRc4SSz8Q4VV6nck0bt{0@?MHX!wTpOl03gR&jzvTNj_w#oAVAM> zY=5tAuk?mnhy;l9;Ms;am$!>VHd!?<1Febh3=JDnxFkQczXAXVBom`1n;{wp@-%Zk z0JnwpO@m{TIxxzygUkDj4GHD-(?9t$@RMO$*xOfAsq<(mb-GNYPIgnNvw&+o`_Thj z`Q4-*8wBS|&~Ti+5p(}mN7_&p4F&<_-BovXarW(RKmPdtp8fXb^}oKm`0?vs|MA_g zXBYqaDQADraqJedb5<~Dyt`>i_zDdu@L^2r_j#4|S(lVkSJd@9&)@06LW)T3`;umH zr_y9M6P1G#(n?Z{MO9~Q*)c~`XeGP&>W8;qef8`2U%mb6AxpmMw)RJjpPwTcou8Zk z{j0yd{VL~_c8W6Z%WP_rs;SeZ9X+5MO1vfAeb(9^`9+x#gM_;PYT4{oQ?Jd1&YCARr&FJA3{_3Ibzp{T2ZDio!c+`dQ zE1J&xtgouMX}WHz)=k%*1w-@3X#>rFtuISUiM`DJg*IaZHnlZiwJxVB%epBIZKVla zh$w<#Gd=bE-1O16H~P^`t2WCAyvek(^K;aT>GS!ysa~&jtjE53D0}g+(7a zZJt`Bg;eOekm`%YSuNU~=jYLK=8e*}&(C%5`MCq=ou5MiFqePu|3CR(<{}&O48;Rh zIduxm(>GRgU8YGmRKhHTZ1^AD*VhJc#G#Xx7{5 zRRHfEQj4j=ta|CbHa983%K@Rq3yXG0;8A&(wd6?&ebuX;!IFQIMRlJgvn@umlQ(%c zlwICtNnVHcS1cu)w}q@)ExHREEI4<%HOym|Rc%owb2`^?x7?%_VsL5xntw&GZ}rAT z+oOyhdcMq*2(y~W3NVJ}OShdHOWoYCjSEM|GUCs5JaWqozfRp~gO*F`UGzcPuhWi% znhD1 z#H=yN{cBoB%I;D7;PZ2%ai-bqU|-81e)yL4o}e><+Rx85h&r+{43-97Ui5X|wQSdX z;?$N`(A`dH2)N_*Wm*9az`his=eLIk}`s(@bJoWQ9&P|n1+43GY zA8fm2av*d0-GwM<(5I4PK8Z$<1JtMuLjAtWncSi;Qxe!_q4Q3_b;4R&?u0d)p_Oo( z=VO*+N!QKg+|oIlT^lyU?aFkxyUJK6OvKi9FoiL2>0H*?F!e)%Q@~xk+GP_ZNj9YxcY)O+i}GN?z7uJ{2Pr(P#Cl73jM5q|z=qK=jCr z#?+8txT&YU^pB7yDB^@Bu*9;|;>gv!{{w0Q?QXr?r*c8#2wWiz)GLR*v@;g(r zVIGBx;(OW@86~YV(koTy3p>i$J)6TLxwGl2q9#Mjz$TMs@n9A5S~UTFj9Roy>A-Vn zY&o()l^1oNte%sSQkMto#WDIr9mTIB(?(3PW-Yy0=_0&sn2?$Wdf26Nl1ATC$dy)m zU_)B0-C#VJNgG2$Rwm#29bne#O}vOv{>%T0dc5(Ff%P+#{>Y2HVck ztWoQutPev0R_l)wW(^z;KCoO`n}dz0<+`u>sqV81*>GvukQC-i2KF-gBMCW|U8ivOnTd9Z#BHiIEnY4RM{LPR}h5<7nylCmTjjqvtjqCz&F z@-7*Nt_kfvZO1I)*FY!`Vkj9H(SShk}5 z#G4q*n3K5^={v{#u%7%S=pt&4Zj9uhuF7u8`siq!j^7XwEjL_qHT-v zb`k}6VT~x}o)pQioUvjfjoV1Hu{mp>xJfL9U2FR2h?*u3-|rp?7R1Mi89Ow(`ZSh( z*rF;Uc}eQ`TAahtCr^6_!2-{ZgX-6h7xwyuy;x~7a@>uszuR(1@~5Bfu_s=n6P zcOi+725Qte%-tnQc9(?)jG9Y=R=O{Z6Jr-;(k%>=XKj*M+QG#4dSMBHmj|O?E~_T9 z`_p1;T5Nx8yakq?37aXxh#xn%nn*2IIXr<^J%=6&q?_#Zkk9H~iH+#ZvU28o>hD+I z{PLAlYIVRqJxdlvSWrGNt1|{t#$sx*L!v+=HHy=!{py6ql_obIlmckF+)C)0;XBim zOsUp(zv>{fow)_R45b2r*0hXsi&l~mJ%jtBdZv}=Caq0toLi75cQzO!P<*4>1 z%%n}*yqvNIBRw?ZS%9OD(`H%&<)5E_J(_Z#a?4Pn1PJKSLDC9XZHvG(u!|J7I2bjTaH?^Rfw;sfS zfr)wgWmzYyt<%{Slxt1Dd--RmCM-}j--vJ)-sP63nZ4XP@+^O$tP_j$M^=Gt;ep%j zuTyWFZyoz)(J)n2Hy1U&qyjCssKQj~4f$WBx(t0;R8>C~Gme4P8&5668kGxNrj{VW z1m^y+Nk)8NxEUj(L;i6Z((0cG>&66MIdusuh9F8#)~10nVF4!@{(}t1tZzWN2$9Am ze>OL1BY(;oyZR)f&a%8JrVIrX!M#`wBRp#nru(VPx?#jxl9t86ZCP@t8tY@cBx*)G zbQ5Q^BUPBuwj+iWQ9oq87x{u0;|&lD?moDT0&tvK541hs2S^{=f-K6hM-W+(wHL1L zEb$ud25;Nk7fjpo!Dglk9(au7X|hW}P+AHMCTeC0W_gR~1G`1}u$i`{5lhCHB_fPT z+8)V#(i#B>Ql?hZKEaMOboh*#RjV>hv<`l(U1rZqt6j!^-0d^DW9MmBcLhbMilP|h zsowST6ggMUNo~DB`N3>~ikeHovS$M^+LV?yn1wP7aX*U&3L4}kM4yZ9H&cgc&MsDO z%SQv?QzADW8>_Z%P`}e`&YSR9(>}G~*lv2rKON&+S-W6`GOxduPaEdb`lLvo_3|3! zzoBp!&Z`9PSTsI1;^_%v5GxkvzC^g-M-??jc{6v>Fc0JQ@Pxy@7)dqbj4LC&ftJ=VwN%~p{pmeG;UH^nqpY1?5$ z>$C7uTLO<^AZmeO7!Hj+9;u=(TC8I5c;D;NSrcSX3UbrR6yg|)ZC8eGwHbAAK`zp2 z39JGSdNG&jT!dDgOvjdyW9QF_g6GB-sV`4U8DIvKH8*J0TF_Bqf*6)?g6NL!o?|v- zW19^PX6&&KpXb_l($ay>;fOcL{1$l++j_XtN3x)=o@Dfx+$t>YMULCK2=8oHgdjIX zkPlw7G~9k9ntY-=$4MgS(^Xf_XdmR`!Civge_~Y*uA-er8=!|SO~srP0FT0Uwc(~ip#IW=BfMHt~oUcgg zA|XSb`L;l8;9qmn)tD7lEwP@PkR6fjUt+O6Spqt|`|{)}L_%*f+!sYZltbZLZX9E? z?znvdW3b;3|J>5UsDqohhL@F18eXRvwWWt)*isH*d$zv-3vHFPIVCCksY&w+*S7Cu z<>+@$oU-I7hkZ0XP~(kPl7BU`jzk z$ZOn1otHyCPnd?wA&n=<8G15DV~gSu6n?Krq?Ir3_1n+gcKlpQ5Xq?Dy`=A_lK!R);e3DP8%^dhNK ztil);lKAWB&Rq?Oz=N*SVx3tlEQ2z|vr;wqCR@I!jh6vWpY%7HYX}94JwTs@qJfLF z$g(79ii1|t)Z!N`Omdr+dlBp!6*TDt)vT}O9rc~4+-{={+-Q9b^kCK?yMp_**zXNA_M0fvs8il~H8@ODIbz?y z;{eRZ4W5YLh`DU-oqlrZqnB0#9!Z?$RT-L2$+sgic*JHerH;{tPfqv$>@NTHX7ypu zdGPhtJ!;%7K_~T1^1UrMp3$_~5;v3o-g>uHK{4?#`nSc#3-8wiel~#^kk9F-=~ED> z)7(qcF3l(}OzIM^0UqoY#A$e8v3ud_<06S}-`ZUP*iFG7C1|coJ82=;@h;*n`rdM8W0zgxyz8U;|6!u2#*|Gn3DTC zB+mtD^45oBoG4bTd2#YfImJ({WPC(r`X%OZCA?}vBN{ zYCkZi>B;3~zA$1cXKK-4IK)JYq~;&p-#FHwl*9#XDA}7Cyq{zq2}*E31Jr9!+QU1R zT_(bD_lbbMS%(d`pFj&6WuHWbRc-_HYQRF7k1!PnGK~PKF0RDzr2!nagPR)1DHP|Y z8Y<5HB3fqA;okU|8c(APp|p%vRTW8*R9)HE7=e-clq`M59Tha$!2(K@^#1XNw zbxwK0o{=I+gM1C$5QVJ-^CR9ALx6jaN?O$@oEh>8A|1l*j^`EH`)i+0dEXnL-)y8S zkHW=`MKM1@G8rG3L6sypHW3!aRhtHwVQD?f^Rbv2!50v6f$9JDv$95xAoEChY4?Ix-i$$QU2~goJK9`E_ zu)I(j5xQf?ys+vAAg3MSE)Yw2p(e;tor?@i6B#(1eTZk!RmNh#%#-AE9iDMZ`Upe! zNb(3Q=^TtXc;u_U3ZB~Zl z#S%?I{Ei_gosEgUrXA96-^<&}X6aj9?QgM$wz!vnQ%+G*Ynp53)Lb5b$Sa^g{V*j2 zN8(rZFKc5Iu|$Lr;1Kr5l?bOD)aeJo0{Psqw?e^J8Ig@Sk%MfL#=5cZnc@*RQh*Yj z#AU@?OQT_YOT&B6!jAI=o|Tw^bWwydB=Ek%c!e!J^hXF-$)8Ls4r?C$mcv!;Jgs;XB=BB~h zdiBxvwNI=Q&n*=js&pt}yyAgM6PF%EX`T2eqN;M>#u-(#i!!{`iIoihqrq_i4C-{w zy9pQn)cFoO-SJU$a9SBme@VGv(GkU*XQ)k+{FoT$+}C?rce^&WrN9;f^*Gu3U`$S; zP-Us^0R6D9_dTI~JIU@bN2Ay*BgHO-V3#5dB|VO2-@_Pq`Ygugw!j0nSybcPc5Q(z zVM;>lZXRB`T^Hm-F~1Vlg#k!HIW=8E+?jo?H>w)F#(VYRLO4ONKB`IPDaL|Pgw=vm zuX1E1-}Fhdf!ne(6LV2$luDU4+9GX+68`gZeCt3D@H z6-`a;K$K1;^KM%dp($JRP>lx{`<42X@~t&&5%{I1AN z8e)fN0Z=A$1qd?p4QZ=6Vu~&ex#^4>uuZu$GCbJWn}J4=5CCN&`XK0U(YV=>(z|2YxiWk!H=QNy(JDi4h=v>$>z>ba^%ED|NjA^Ifl zp(DJ?l|HRp?NVoO;lmKo=7B&ceE3DO_t<{}8Hxnn_3%mL62d+!H?Wa0rgFBu5H>u{ z2^x9{E5wgfC`yl+=FEyre; z8oI{$hE-S6^6jUMGVLq7{x0D@?IvY{2MNr;0CXU<`={|A9Z^m_adZ`O1R`9tB>s$u z4}flJn;ZwgP_%8_>SKFQW+83)*q4>uv&Asf;aOYbh^&_9g}DQErL5fy3&LEJ5f+2m zOhD<0sV@A@V>0*HP3DduQ;5%h?aQUW0?A1FWfU^5}Xgylj!-0qI*sP#}| z@EQPi)l(W8Hx_k_`J@eLnfA(HX+DZR2Yd|Fy+IHOJzS|q$f>K$G@Iu0v90iEA7?lt zfuq^T=#zWE4S=X)fqdra6G_*ebSx0To6vUz#(csL=-%ODA0nATsF!DsEZZocgEnul zCpMwQeVShQksz|lE+E>$=}Ph$pf?S&e&|Z1>PZ||9R`8xRC6@$ko8qJg!r4r_AHXV z(K0~Jsv*e_*+qyP^)1&scNuzJ63_T0j_OVbd;orsC|gh#c?!4m>rIcu z+~qJL%53x=<%yGl2tCYU1RP@PiQ0&xS^i2`HNszuDVZ$X0`8Sj4^|G8#5qt@xT8?6 zXa*TP$2iYLh6Oxtr}#Y+G91PK}{D%`0_-NF=*{hv5d=cr0zClP!%f0k!ybZM0 zfKb$8-|y0OJIs&TdL&;_h?JM25uB|d>cIotiAp1$5h;Vnota(8#HZGAPe%s(4$nUj zm3DO1YxHqzmw0;cl^=}Io}+i;E&4}>h@7d&;~mIu@=5i+p-52SJ;zG-Fu3VB5^O$T z8U(i&o{SX@GcO&aSvu6)LQ;BIEV%?OBqjsZMCIg{6XazeJ`6y%(jCa z`f0#Pyhpee4m_b+4`!g(X0<}6^mq-~M8>k6sv&f=b^S8Zj4jiDBz>GVAuajik<3W9 zWilX93{8jsAtF|n#>gdjIKEM?7G*pLJ$t^HPV5eG7nE=;a3t&@RNxaj`^eOGWoY-uQWnG)p`P3W34gkX2`!|yDPdt|z2RE{UWXYq1IX2N4| zG7$M)_oU7%qA5O=>cmC=$mo)kB*1AfQHSULtHGRddNV{dsa7U*F!HUWBSuKaP+zX5 zlGLZI0Dui6@cYmXtr``?OaD(o)K088FTj(Ph1@pGcR5Zl+-N#Z1ywalqoJ(VS`4j% zos+7s(4kjPKdwULZZ~U5sYaei{0*2mmd9T{l!V6s7D_OvqYKpjBfR2mi$FB*9~By$e8nUpA}h< z4AI{I^Dv!st(`#JE5T4-6V)-7fCt@(yRH9mo6KImD+R+ge8a4=M?M2%?F`iP$XnywAdfOU2%ulR7)#!L%{Drohcs0FpWe>uv<;|DT1wi z`6_x%bu<-^t1NHi6%~r&KzB1K=Qu%42^sq47N@?rkD~ExYWPl;0$jV9f;`;QL#uWOU zZtlTqPeq4~o7{R~R2?gNQG94h&JDP#B}QYA(E`UtxxfkDE*jsi$NCvfEOc;j2XPuD zupx*bzP~!Mi1ws7NWw{N73rSX09n|HY@IPxoYcm$I#RKotv-FL`o2(B01`d>L6zM3 z`R;XulmeW)loYd+&15!p%!(AXIY92bsBp+v{&V78ja)NeXq}JTmj}VZ>dsxtGOb~U zWjWwPw$k?XcbK47S4EmX0JO@`oR|K^e;}F!6$CuhO!%Wv>AoGA$}B#;_=Vua)=(Dm z(rPi1CaJ-L&<_>%&glLXAiGk9tIdZrixb@BPVAj{OVc2wk)mS}o)v*&X5^6n z1Y}l8lo~>3LEuu<)G3)W%1c2GUaaCh1};KXnMLbI8-pOs4ibPGuaQ7J;PXVlvt*QA zdUKr}>Zgwys|He4lKP%(;`9py({5yr3c+cncZAYv%+09ShjeOz!Qh7S&zt|@Fym3; zfa4w^Pi%BWVp5a{(o2#P!;M8`i7_(vmA&x?@ttqTu0Gw9L}uk3F;;PS^V^%G@)WBa%^6f=1Mx?)QtH^F9n zAi*7r&WY-WO}gvLK1-+ytb^)M6R)z81&dUh8$ym2tW7=vpBO6GGyp>DvhWF}^#+1$ zcNt>Eu8ovH^{Z-&W-uY^BVGv7q~mk+L*VvIb3&w<7q?vicCyQ7#lS`F6ydw~{_&XrGG>vE~O?E`5b-%g&X!&FThtx?!=oC~R8gPB7T>9TM z^XY#rr>6BZ7QNOH}q2iJq$sH%o0K1oq&Se+))rctK z_{+1wjh80o$1}X>le61QZ9rw4ai`GiVX}8 zJ6p|5ExS7}1Ia`1=aB8WBq2=ed*m8j#CV1h_#+&Q%JQqqm0C)(vi?$wr39m~ex7a7 z++0V^N494k%>f^D7w_l7;*5!sPy-fg6<*-z;FKhiQGA3t?gN6wE1;h2i{c}@yxt(&Z@NX0|MF<5D#B9L*#N)N;iop{t;6Npd0MAN-|CQ9I{94c0#EwFUt9|qe##? zxKmm*lAK%*zEPj!*Y(9&ci!H8(Na(;23;pHES>Z_Y4C+=?t{}=o1f`?9)^i~hJ?^Wt^wVh*3I+v-YK-# zFnnYuZ)wWj_?YeR5^pb#Gkvf%lk>U3T26-S@SgwW)Zk?Az!^ZSC1XIMvuJ3K%6&^l z*%&`T%7c!a!3edmwJD9-&;U2MqOE{=;q9%29#OdlsTucMGWy&9qoG~7llH-Y(>?*Y zL^k51aQ*VTE%OH_t(Z0bq^A2LODWs(QUQwvi^UKx38j+;jCr;wVslCCM)Jw;Ey1Ru zZqLu9ejIR|N9;Su-qZt8#ui2?aalN%(|TlY?6Y zbJm3Kj37Lg@a3O`3s}*UgHGADwIAwF&if9BdXY6)qnAcakv+9VwGOMeeQ!Wok`#)e zP%Q%>neUW7Cl1am$R+&F&lXT9{7IlSu>=sq6wj7Z&YrATBOEW<@n*9t?#AdaszmT& z_ElA!(5@2(Sl#srjB!TdB7h&+j-LehB=E0B z5{I(~hYlaXz>u=%?j7km2r{KgrMb(himbXN!0x0guzR@vIvQf}wBP$OuXicN8pUZ_ zQEU2)p(LM^QMEfL-?RUm36e**t!PEY8<*cxybuW>f)EeJuN*M4`o^CSBGcrLfeW5( z!1{x+fwFsBhhlX2(+PPJ&NcN)~TfS{5qI!^}z{O(JzY~K8aJUU&EaYy&QIqT*Sa49vjFkRN zEqkZhZ!1@$nX$-KL60QRrbLHlPg2KHtcc17Yy8HOGyfM8)H+@M3&`Wokd*N_LprPw zU2Qcb#H&IL=>LpYrqgF8hm00K1H5eii3bwve3(2^ovp; zqfNq^54X68`O#57Ofz{A2tmOUip7=i92=%Tr_h=K4VFr$%NaXCO~7MEM)AtG{$~|h zZ$!bquu(`Qri3zWNGwM9#()qJPxStFs||=yfBroj9!CxVO7+~3UMye8=%6VxAyC5j z`OPOilDg1lft`Hu7~qu9vWO~$bhy??O(YvYn)@cj&UTf7*n_Qhy;)fR^r>jMsj(Uvm6c&r~2qhAXx}C%nAZ( z`m!T@&OS0^G;Xlp4J4JwI5&&0#8BU>y z(6=OZZ0vJ0V@w2qzf!F~3$@*a4X!exujyWAhc1o)P9r`a&#f>fNm3E|ZDVv==C8)P z?%mCG>+_FLkOL?HCh&n`3QBc`Z^SjxMDVr)TdVmrnOk$3-TflMr!4y6NUsba5~lYm zP&SAglp9NX%9cqH~Oty}D2xL$W2682U#i@d`KK!=R+YByi;s*PceAFcCaUbPPD_+EKD!IT1(#c=YHc@3@d#KS+VO9@q zACbNH>*U?jwmw^X9&d{?bGC-=GN)jajuuF}uC z99tJ5U?K$Skx8>zD*Pbz!AJU*2vHb0!qvql9`8y5?DL^799+JZ2%E#%+ z{Fq8pNv}edQIuMU{K3AB$46=WDrMgEQxaM0j_7~J7Y_UA7}Y^EHi@W}{)%kQ%nK3O z5kK}dB@bX2nSvInc100+3vV~t&_ZWoI^=swI{+WUFhjMV-Ku`vR+ayIqfi;;CaW9L zngh>)QALkS310k8$Qk&lR4oy(OcCGarr$w{)|FO$00K((gmyUgc{2cKdd~Mc)6>qE z=3pm8Gy+N_3&eyeH8f--i2WJFlIpFOSH$6MeLU5kb#l2$m5I3vC_B!92{!x2{@M%% zOXbGGeH=uhXWQy1{FT-v&JX_uUL_D+5vjH5y}N`31l$gqA5Ia(9yp8$-n^F1T36z( zZg~9O7Y#+ZDUgl<{GaG@pXi^eSOJ zfwhFmk^@9h%;CLGMST<^iLc&ek)-dWETH}^K#Y=r($I$2sYw~l-cQcjmIFC7r@P8s zs=l#b(oDvohpWkW4XwdmswPQBY8g|hbTx;E_1bOGhvEe;)haR7ZVv$#59AFx7|8kA z`i71#;60S1li*&qfL%12Tfvl0q_iCg0;N+n@teivUTOnLMoP^oN~aq^M*7x_m=0kb zN75nS?xJuCqluD0Rw}mj}I7BQK#dd^{8qE{vspZ4i7e%IFuRtMx*L^+gefqu;AOU>kx(j zh@U!DWD_G(|884!JkOjkdjX7|%GOzM;kd@!zTw}|r36ynSB&rL=?~uCrNQkY;<>K+N_uUz1ysYzd)#C)+{Jt>rgA0vSJ)ke$4>2cbu5 zw(FAR_r-Fv0UUk-?btK_ zRn+KiSDHbHf_(?~KB(;FW8JT}ONI*a-Xg(}dTee=>^Qr}44PND#B@3Kd}^LyD!;#z zZJ#fPn>S@v;IpqWoBHP*OFv|wX-fhF>L4INtjuiW_-Yg#*ipx|S{iY-3Z-yT2Clcq z^Ee&l7?g9V!0X_go(S&uoiZAFTy88vd^q7m%KkBCQ|0-}8Nd`dqzO03=$9X@f$*>S#ri6KgsL`3lT<;@tn3o*V*CZu~wEi*wfNa|&k^+xbx*Gm}v3kpfgREW67WEjU_HrwUG)G zG@i|@1J!07^-8+2lr?6VmDS%|;!%PP+Tl;#)e-NWBi{o(il74G^~i8u;^Q6t%lU#-)|~WLQ8;d_vAq#7e2wRQh4q@2=W#}SdEY4UGbVErUf7DLA{24m~(Qj zS=M4Vg~k>FU~=E3>r+OOPO~Ph*HebtxJd%2Y#KqxzE$d(4swf;exJPcrt4Jw!jElrlZqi74N9A*3olv zSow~e zOFnsOu;V5GG3%bHoDWH(e;`qtFzt~X24jR1zyiLVh8wbQTuuv$F>S6CUx>_djS)~4 zJ|08>Df2L6r2-z(WT=tW%|}^51m;hO00sR{@ghafaXtUyl{*c5V>WK{I1!^2O0`u4{5 z(gbsH4+4ZFYiL1nXWiO+q9PDQAt*w1LFo(DAVq%xhRODhB_eK0+wv1oi6e#M-6Hkg z!vU8qwU4Nz0ir21?lYU6u3+XcEP(ePE-!z+b+H54%n9C(OTn?|Hd)B(a$+5~1lCTy zqnt7_qDr-Z6D&~JQ)wiA#XezMl`C+=yoGW*U|p!U1db%5vTb-pdI)?0+cACqY12dR z+tkWfx;P6-=fXN~A9r3o{;S9g4PqYai~_Vd=?$YrqERjlGYqQn@}@)9x=~amTgRo3 ztG$SlHDVst24ovp&cpYB65~+cMWr*{vPQm8B7)Oq#PJwjM%q2iJYrP*lwHb6nyJ? zKpc7iD^5)q{c#=!)O;^QL1gFW|C}s{+9iE5Axl0fIr2&0PpUSG1_7n_FO9fL<{xz7 zAo(g8Ess-bq{#uiP}>eauYWvtsY}*<}KVS&#x*|t5@C0+jJ5z$oyuJxJmlPX7 z1W$uBR8o+`J+|^7o0bsD;i-(#`1RP`3RZHkG1{$*ZN+Edfgu=Ck&cmwc+vr|2l)3i z&IRwxL(b#cxwbLX?PKg6x?W=W!Fx~o0U7gwyokiJ=j536Z+*T&u~1}&Y9RyGCeAwI zLAEo3;kJR;N>Xq5pV_}0pX6*ko=K8c;PW8cd1%$A9W!O_h$jqzF8=Ir+mc4W*J;og znNf}PwOG{{vL+N|&`Kk-FyR`ww-N#rEP|DqRED^3!F?~n zrc6(jvs0BnZ{I-vJE$-mcDj=h!j=RPGYMisQNmU_*MP6f7A80#Vi%vtE~QOO53b*~ z{J!0DgQcCq@6k0966l~pSvMobdQd!zycnHDqo?@Klzo>FW(0xNlcyM0T9khbpm$Wd zf41^{7{`q29&`icZ#KQF!ZwO5I@JV?P=d&fMB#wzO0jpqR*VjO?rKo*q5u!pBuOfH z`x@kMB8uD4RM=IsJ(R6;c^*q7QR4h0HiOi26EEn^b_>S;H&XPz zdjD{}3T}F2>Q%@d5qGNahRf|`Q}0{fCos;v(1>L^9tyirKP`OyNaiur;cCQ)r|bok zJoQ7Xu03w^Ofvvb+A}Y}6v!4R7)&zCl}O@{&`^x$TMM{P_7yqNmHxm)j$DAJR#^{m zwmEsqW{hQ1+Q;oV14xt({u(D`(lk|gWSwI}-tq2kK(dgJoB-;y`g}}dJi0P75=PJC zNMQHSl{hw{F1^I8;Ykuvk%FKVGBfs~&{`Wq!S*-UyNSZQzfKZn$a2YWYH&r%|66^OjG@sdKJpgJvt<(iQ^5~t!$b06M= zLWOM+=o=+tH-oBNa%zRpKA3r#JczW3>sLty8|qrml=s}VX*h3(&|W1ICr>Eg?;bxM zJfREU@^aOJoN%BY2~=s7k;=Ez#PuSLdAXsN5doNkD$mB;#c{9o>>MYv0JbA>2g%F< z{H6q$kb-|V6H;jQBSGqrgB;@!DT|c=fr|Akl+}YQw*`=cuwElBHdHqNzvFKMHEKM0 zpKC73XrjF%+;dDe3%`YJJ*vVb!FEqlQwR!<6bi_Z+$eO#j3rWmkCv!ziT)(e59QsE226rH3X z1>7~m#?6)tcp>T}IYwG{<%89a+DUKyDe8fLA(F%Bp=tcRN%gZM<*H+Qiq-Ek00Uh{v zm46mT50Gt~Nh?aQAbx@P3k)flA8;wpUWD2-n-WIO1G5q%GqcGxI7=JG2~33>8K1G} zk1vA9cc*zQlx%v&J470<)weAC$b+5t@PK>fCn@s8SXy2V+b|bgOb91;h!}Lo3iA}k zubjH7{)KCN{{9M^U^WuuSZ3da!#}y!!se_bvB);`gxJ^6n@|%wUB!LuZ-rV~ueU!^ zRBZe6wPgb)>(BNA2g<|Nm%SqXplt}^OrgMzbPc<$A~rl^O8qBH@AbQB1@s_9jWkH$ zaml+w1oIzWoDu?iqFca2tE`T1=ZK|^XiN-(qcTMK$WCDPh+a4z3Q}$&NbbHs8_sic z#VXsnI8z`AuU``Va(7Sdl?$4J{7ERtS|uWn7!kN$^sdJlLoCnZ9woCv3P6{{kicl8 z{=Q`Y+j(9o#7_Z=?<^u~u z2HvM29y}x5HGe@v0iM-?=pl)9-Bci(K$+SHdwZIsFQsh3mvVpc={*1~0-Le`WBs6KTUvn#~cV zfv`~$0hGZ!*X|o1&&mI!B_?eQxpe{gXx9$zMmeRBU>FlsF7~f-I*vF@da(K1zF~2G z9{|^!pR2YDNHRi%3|5U!eDNN9mn<8f?z&qg-b6ZP1_7 zj#@?ZKS`fyPDm59sltjgxvnEl$sQXZE=z4W9|M+V@Nf_>OBN8aV344;XW~<|nYbC3 z$O1-qwNXJs`^(D0LLx~AQ~(^BxKawq#ZO65+=0w$U*U*Hh#w%=210pJbWC*A-&0-y z&p7HH|2@G~=?pw<^&qSMl)gr`G6gOz*%g$_fzWhv_l;w=YUJ_NoOjn&_YMHEjJU)m zLLqVIUxb0!ZA;qCG4sio(c#wcqw#XNJuBKOA-55kuPa0#Ph-AFf!k8{rLlcC*RxVd zxkiFocw8inw+Zk9_#bPW;2>NGJzlu9A~Vv|*LMV<^7Jl?PYe(bLM}Fvp$S8!Zv(iG ztgw#f=aQCRgkGZ9JGwO4`~h*u6u(<2Pfh*hWoZeZo?MF~;3^V00h7VwxO#<_gZaI) zzd57Yuid!$TyvG(Ovbbc3^G-%L7I>>1ZiT|yYOg`X0L89O$dtw19(aaRl~nI!yupo4-jqDF?<4lz6v3T>vG|A0^)WLfGb9ujFkI2BpD=>w<@?2I zh-#X}9e*qlc8Tg@)&DSnKvCpNLNCGs8GUz7qR0Afy1fKN$RyO1e65O>&`nSu;YQ6^ zyI^~>^oQ=>o69f1PTQNykJI=H@AJbQWw_+vdU93F2oeKjPYJ&o%f$Djae0CEl`+d} z`h&rw|9-PQmh{*OIhMFx^0TB3>8lK~#!mk`{=;vgFp!ogZUxDM>v68!DCpyY^ixcq zH(DN5N7Y+E9K;dSO}KFp2NokOC5LH@+`J7X2*Yi@qTPWjZ?8@zM4&+UZ(q9%1KIlx z@115q6Ln2`GUeU&9dz$K&DB~nxfv=mAE?HJYYoMd`)LsEK*3#z#Ffgs`ZeVogN`1Z zG7_pHi|C?79&wd@g2Wy);{7J0FbV&G1RINrIY=-{zg5)EVWU3tizwZdVite)7u9jx z#r%hY3PLY5uc^YF@MMUa4|r2E3Xg6HV4%KdH$*f3?Ci-SpO?dqi%FG})>9G-HAj&1 z=?*zh(r9ck9sFDg2SY!cQb>jZwCGjXKk@}R60R*~y}qZG>cz$hSS1d$C5`gC5DahmkbqWE=@g z0J)c3{l}jkuKMZj@6#ofl*MlNMxPzhIS?}v+>k9)QEDo8{fwUNQmEnA8j+GHjHjBr zp>sB;CWfz*6FWD`)`92PU(4s7Fj%J4wx*>fpaCa z_$=VqSPThf?|gIrdp`G$wE2Ax#!KO3p*!(L_XkAf1rL&q8TyMVp@QWJjk^thvBVY* zJ#oxXzi)zN08M6erq=@V2{tvDBFs26?#=$j%_4-KF}AnE?GGDLD&y!s+>?%qrEQN% zmQ`rWng0rJBkpv@zIdB_%a3|NLm=!x{#CRzGyVZgu`RniWuy4@JOzFr`)qOOBNXwT1Iy*ZWoCJ6VjWbY-?nWP-i^Fi1z z)M18V1bM8aV?fr)H17N0mX#{5N>1Xg8DR=Z3Ts)($HkwtxhXX9abagN{Z6TLN6c!( zfBDgM5}Ylj1siD=)WfMfx_+q40j^uPXY}LHs_Q6&<7zLROxpgWSTta|B?A#fw+ZuE zweCDsrt_xjtS)Imppfhk8eWWL8mF24HDS%5xFJofXVgu|fiUq`xX-DjP?GBs>otka zCf^SmtW#2+!i7ME@C`VO@fKIJ9F@zno>6(CG$*e2;GVK893x3XIwQn~^Z`hLfez8) z2pU8%A3Na*-N?D=MPN725`Ak?&H&(zEE~-8{;qh3*^3%Dq%HWpAo1pR`|f|V8k}1; zp&lCrN-(QbEL`8RiC3^WjQrb;3l~n_ECu$+&2w|1Ukuv?378iTuTlpMu=r(3h#FFT zccvYt7EWD$=ubjWW!*-T&`+cQq>8E zLA`*KiUg6k0!Q3O&AJc~q&cGXRNzQqP|O)I4kQaw>>Se1s*$7i!*%JHdQhVNyQlRU z3M_NWbG{Edfw-Zno@_uy6TI}MhvYfpSY#X85%QIid2^=Z%>`@(^SsJ$ni4|7_( z)r@80=CuMWYBqq2lvW#vpR$Ot#x z8rP^Pjowm~UAiH)0-Utq-s|j4Lffu_-JbM7`FIp(hsCc}D23aE<%h5o_kyrMDO02B zjA^kYqzr$$_Dd)*&F>zrU81moD-6#Byrhz_Px5za6}wiP{{C{EJI#FJN74sa0T^;( z^*JUOQjuiXjr|}*7P~z-($AmBX$T_ez^ZYCQo>f;&_01bB+)>R$o)G~TPL_L?})Zc1swbX{Uhf9>S@t7U<*@odEIt z^vZA^M*u5lJ}!q9_!?d2bGpKqJZeP)#S8C8!|R0b+wr1j0ea(D(i)34tQqJvh2&RF z$fL$0%GPRM2 zUkWX1-IB7S3AvqGapen{?|6cZiwG8Q8U%x_o{*)3OocKj30uvdbX_ZqgoVIv@#^+) zzQOn2Ge6HTV|iNAveM{pf8X4{|LNh~! z$07@CX=8#W)5m)=j%=JJs@cf5@3mvj;1O%3k#6APz5fh9WF`p_(uCrv!6m~{gH4E} za19ptc)IAZs5wXEDEEAP@hbCBnONv>=%nCH>1N@kY63MUGO0yxhzYpT?icH4^2NuM zQ{jo2orvutM+r&JT{CfHixb@5z_xE)_8^;#XHLYBRphwBJ}GZ{Xr1k72LZQTEGodo z=v#$1qJ-}Lxne=K{UP%$XmC-sW8s^e;0tTJO=9EyggN)TA7v1sU$82qJomrGk(4&-}0{%#Oc-O)T_61K3 zp1r&{WyI9s(t*T-3-#c0 z_9X6u006u{1)JLhEs!55?zhQ;*EiSyp6+ha^rxHae{t|yWlZH#*#VUssi;1A*aVcC zXt9P>K-g;Bni~ZlY3)|{o|)PNgFl{MR`K#Gn46KpgaWv3w7l%&G`YRhyl)=*?Z9@c z(4p@~8S%`H5RYIiDD0su8cL6lAZ?<0Q>ucXHaRC1sTXDk@<|e&wAx{+foTD3>*-GD zgyT9Ag@uC?w?_6po?5-$LMNOGui|=2C4)5|oYErrs+K{?ItHB9;znU0#kiG;xX{soFMtWh~;bA;P2*x%%<$1G2D<$KNB@=UY zaw*^sWY?cm0e~(l)7M0?Ob{qFA?mJ+3mvy;@&HHQ5!2`$41~8Os!0NTe#9LdGe$>? zkpLC&DkpXwr`Q}&Ej)MX$bSOnI$d6|^r*yiL(28sL;;LnCJm(d1&d{2Df%p6SOw+< z#63_#zMreAmIeb>xIFlD*wFbof~FmvBFlr05*wCK(J4ju9SPTSV^KSG_lU|TOP!RA z>vxap7YDDY$pC_tgq)D`P=(hl8Iy_iHXL4{_#MCoQO z78QIMg*Swwoa8rq>vXC>?BRGI%o5;>9}ZO12+iQ$@QRcc;7D#63A0=ttlzab@^ZWa z%e$mjDw!!OR7c;FM?|zjA{s=4%${M+!Xbm*IXvfcaY?DhNnynC`w0@U!~h!owe^sI zi;=R(ls_dAm+#HV?P@7^mHGth%U114>U4U^rxM^j*+9roc_c-KNUEGScQ~CcsXTEp zjV60jRvD)*F+rTZ!WtpD0!?t`)j0&NKZUi zQK{ZHsq2PSv$81d*%Z7#eIL|A#zW#S3Vt=TGW(K>ZFS@0 zs#=2&j+m62>t{lZv%1UJk%4h8a)N3uUI%-X;TD zn#@$-W@eOHoL0NWPkHxZ^_x&Sz#<7n5XjuMdfL=p>353p0Wgsnc@cI*jxW4O)H%h< z;@)<0>6oPVL^0|tA)Jv|KXe^N7)Q~dNE+7ufDcerMfommJkf_qH_H#Rd7E&v$o|ei zK?oeV{>e8^H4w}mQ6rBTD0W~VaO5M_0&-Xg6!P5X)8gS;;VTzPjdE$}f+%4-QCA*o zbqOzv8W(8yLd&Fdll+d$BYBuq( z*10j!KxK{uO>kQ!Q^JHLwy~=Y#e*Ts-Y}8-g)q;$XsCtjy0_ZmjiUM9^YdL6#ub8d zcS8*ESLaF-)1eD+pyWyi`7>cKAX?A}UVF(iV%AC(qGD1c{dQ{8HNJj|~Md92~9H|C8}sXdil#x9|p+i_Dzd|fOK1CaioR^U-q+G>T6K%kjw06&|t8^c3IU)jlN) zCZR;+-vs2{cfQ-c$nYaF37}(C#NtOn6-PG=+eglG~3H*y1lrP z4?-Xud_oC^Nbnc_-t^FD93nK!Tf`*2WG2|6rPKfhQz|z52ffx7IPhZGUd-2+*i~NW zyX%jKgm?5?=CnnWAbGVA9*KXAPfq5E-v9A9iUSHf+ALy4LRMAA8_;=Z*4Cj>$Da<3 z5)vKDC(1L$66bj|>U(5Z@q%hx&42o&&1@o&RF%Wf$;i~@8+Q^pGFF;d>B)~X>25tG1IHt85>b^;ViOyvWE@aZpRNI#>%&-6!T+6*5ZsJW@FrT352No;!}U@ zwfsUmY2G^_=cfgBwj_j9N^0ah>>FVI!u#=cM#}R3%9@{#*4r(|-9xVxgor5R%7(G% z;+RkBb%SkbDCtOm35n)*Oy?wf$05k(z=9%sHF8)rR7CBO0LedlM6DrE?fT>9?&f+` zz#RBE?mV(BP6L};cwEdSXSnzC>ysioNGxAH)EZy@`FO8P>gU_{n=8&oT^t2S8e1~) z;pHNE|4blq{8g?BPudb5_i*VE1insXX0dq09U@frV1!ekUGcNeD?Xe~*JOAHuRtC~ zx`IHDeVlaWNnI|@iM2%)X)_;KWijbbE~cTRW*xOcC?!g^{J4WsSV#$QsCzT}p63{f zl68A?;i&BOe-=fiiqpYZVxYmJ91j}QZp!F@gd?zp-2lQiKZtrX_W9Ik^%6`p z3P`>uXQ;$L3nUXm1`hDh*5fkM^!b)_2kHmDoK`uG`kYEbs}W&#pIs|$7qwpF2cQ5c z>Kvk2XmC&FOH_VjiM!7-@Ddcs9ElRc2<|4uo=_sUlKGuJrv)erY-=KsTfy{MFNPT>0#eb zZI6r8fs;8^!LX`CYzYtkM{4#uG2y^!j7tXCSelUPQMtaNCH0soVr{HJM50(&*V5_G z!a^}=vY-xN(rCBa_vTONDC8u+9LgV&!|{8?mQW)0ErKye^0;n?=JmXROz%BDb5KbD z`a^^NnczRiGeAp|K!YlPbyZQc&yUp05zDx8$*5UjT&Lh&Xh-Aq0%uP#Znj{UM-{Z0 z4Q7Q|lDrq-(v^`Rw7LpbIgk@BRY4es#`o?(^VHcECwcrg4eK*ySR64EE)>~5Fedns z(H8}I{Ox;|#`s!sfS=mw^ZO3BrBMN>I}&8zokIC1w9Sp_Djn{#J&#AlV8D|k%_D0A zIookIMAR)RTSC8;!=)rQ3WS`K=GNU7qFjQoAN=^wuWbKvj|A%BK*2avDG+mDNsVu; z^eB|S^K<4&`aX*0{T=0SNfvx8#%u4^a3Av;QmZ8}8OVhkuM|A5!|*uQKa1-?)iAmC zX!7bBbFY$m5#-JG99oiecD!;L*z6BLKB(zS=bzjmL6B5aLm8c#v{b9sO@?vvh`Z7h z10$>vghxu^4PXX}+FZ}*agB5*0`J7%gAs6x=y3#0EHEoIC%K^-Hl_@itm}u{nEdwC zyhmSDQYWRrQn05Lie?k;=RPHy4w+-ab4T>6CiwoJ978a^19h?zDk36?hY?BLWSew>X7GB8Xwvl?>h~x<-w?rvB!85xkfD#@JmLz#4bRzXRu>DX%V~D;P9@QibYL#H zLpYML(jL-F{VxB|$KtaR^j~^_Mdkk&2wHw>a*Y@%QN`K5U ze1OO&{FaA_xR-oafl+v8>D!A^rSv}^LbDpC#U+@N$+7ZZ@j6kSXGy+}-m z@kbeK5jPOItgoM&>w@A;Ah4MQoL*QN{aB@O8jby}@-NJ8Np*v2#J)bD{V8+1)2LrA zRS@(@asn!)l7SB8#*dW)863$;vE(a!d-p|3oruA0`D_oyz@+st2RRDPKq@}!Q-bI4 z?V5BaJX!tvnxL}l`+BJL5;==YCu56 zt;_3=W1n>QIm#Fb!FX!#6ZX~2)FCO7?I(O|0Y*X248UhyK@r#z*i6(0aWIz5Ps8DH z6?^8Rcya{oww3B3_*$pIQsprmaZ;QqBhed%i~$$w+^>c#N0~n?q!zxJd=~Iaa4HRj z)WU<0Dxp4i8@P5n4b*P~L4(u5eW*|L6 ztc{uZzc;sO^{edbW7G-dMeJ z3AC&?$S9eqBz6I@oUw*aW@_->f_t~1DZQAP6SL54v8O9NbB9;?tpXcUhNY%bSB;gNleQGVc7QXusrN5 z3|zdz3Ol&9L5#)gEc$`A7%!6AVi+R(3?I-@aloi;DC@2usCJDqH1CUHiEc?4ObA)(p6Tvtv)zI-aefanH&O+L z9QI&_{nK$6@;ZP5xf5I0stC+N1Pfeg(U(A&DR`;i6%{I{>zdo&W3>wJ4B;1LiT4oO zLVVjPYq4x*zAz(b*@BU!#sIodc=*xcUZBP{=tQsdM=W#U0Eg3XGNs&vV?!ZLDKdK+ z-s%DCHXvFqAtWqr*M5v+avlkGShWESYK6st4utT5+@v62L*}-5h=&((beDRQh&{n@ z6iNC(t}rX`tmt81;8~e4XG(g42~-$y+>B=F(8RLLxM?AzL7i^z(5h~Mz)WBae&y7d z0n8MzB-OZ+n%wu<=$l@##1QV9K3s39l6`Y`Z_+{E79I82m8g24?Cuew_BMmc*$lv> zu?Ti9Nvr}2uy>MU zmQ_bmbOscpFA&$BEXc%JhZa_wT~H~Q4R$X6b)uVAzyYIN?{_-W1iHtGzjl%VDZfq8j{9X&Mhaxpw1EjoLqV2=4n z_}ETVImPmJ8Nv`8DB?@}Fe?h7+dbPj7`~UJj)6+dlO9IXC0si?q9=JCG7*(hS}OGt zrxV`$7nUJK)v<3Rw;MUt!x*`mY3TBYv~b$&lpsA26%JSEDS+gg^7g~Pk%QgNRnG$| zvMzh*_T>}SaS{dy%mR3Tl9nX;UnBwqfiz(s_=Zq+w9ootz`}X2WzZ1j)MbP|Ry>L1 z?9OS8dtj9FajE9sXRx^!&1hj!KX~b+eid^G|r1~&VaX6tRow=lhp`iV-u>d zkR=Knb;In{DZg0EdFfpRZ_x%^Mv?UTrlnLzlY z4Gvc$(X|6^SY#WLwp)wqWN3e}nI@(37Z$S+*x~IpWGThHj@CyGVO)uxW^Kk8ZI`%+ zLXS7s_lQ<1Jbn%G<(d=@4;BewN-y*VnM&Zya}+Hi<97oldV}mXH)-aroz#9D1q#Tk zyyz9lUl4r}9(h#l++_jEz`l~HPVxXrwpYDo6#swj-mJ-OBTN7OGJUNeKoHBNTb8F4 z(;ho4+a2-0VSpqkRk&1DQ>@Z5pZ@(l=VSs25G=A}OFi?>L~F4MTOyHpmS_1>h=3Nv zk8(bQ8cQV6!hp=|D3n^(cScI%VHP!orPZpy8WE;xIBMpT4axv3>U#z?qE-M56K!wY zs=x#fcvx;j7_ zmP=v{92moCJxe^DcAYjuACyL5SYnOTWZ2nJN{wf>1*Na-0?H>OrfQrTT+{mQii&-d zif{uV!IynKV}jhM-BVyA)eiCGAy?_MSzvG2bgVVI7I*jL^$#gwxF;x&4qC{{G?!!@?*qA3EqsQh4)u)-#s|27tAA)l^F>t zwsG-cMj7!J@uuQBF&|r_^O0ltS5pK=m_LkQ0APow3BR4fCx(Ci&MjWNOjRD<5v*wP zBMi|t1S&vSHv~?@+wJ#^Iv@vCjfUD>E|4+-21a)@`ROl1+2@oy>H8L-{Hjeno!2o~ zcU%%+#L-emLXjXQPDuum?R%b+-pCSCa5&oPN)uua zO9pAmwU1B^R~@Ks%T~uUjz?)_8CO3M1+s>IUY>5~XG^{9UID*9ge0R!$q^47P=FsH zJB)P_e0N*XIea*jf4_QLe_ECUhg{k-e8*tb>Y_h3*i>gTb;{Ez z7d&=6e9%VSLr;mP@?N%mgkv4+d?`|kEdiuQ=F03$K0b#E+y}a<#EVFa149}=&W6@15pE~!kv50a@B(ttiz^-nE7MV< z2E2az*|5$D7q0yQ?7}M5I?zXDIQ~SgNz!Sl>@W65 z6;g}_p59Y`tbRtlkSGsli*zsDnB9j~G-|UkHk|nm$B`bUoxO8LsF5FKZo^O5X!2KPRSo%> zA`mb@CC}4`)2H%0T4QG2y}&#WD+~5AjA5P`WcV;;(<)h(eP>m&-&BSq7kJpdQ-s6K zshW$+&0-717i^LrA2V{Rx~^V1Z=JObPME2G8z2PfPv%LvWw0R+Hp7vFl}FR-CX{_O z0^TiB2mlVC@!&D-hmF|WEX7gCDDv=UeIrh$$rRntjX;x{@)0@`$(U%+`q|XjWRfB^ z@NVesow^jrVQz6?WB&!#Jw8^e8(5Wd>H@I;elCttMW=ym?GXSLAtAI(+gxf1x5@X5VB(#-bGi zxOBi7v?wW(tw^X2-4ED#of1EQw^^V9gEv(POf{S+d!odIVjBHL<^G3w~f zp!c*zmlN_p&S#q(?wc0SL-#C65m*MT*Bp`LZUOSF5|TGQgVyvB=^%*a&azBwPuNp& zarKBFZa_kNcPdtCW4|($4lsBX3iTv3pp>|i#STg|yAz0l1)4)X2#xRHzQDS0maVa( zAYBsd49yZUj%l;R)>ML6E-nKF5NRx_AO+*aN1!SuUZOreOuA=C6{5_E3L2j8a`37~ zW6jyi$y(t1sx4km^?-wNVcO*_5ugO3C_WElwQwCxr))9w@3QQ{Fsm>t_qP~FJ>FA( zfxcw_@%+?>QM<)IS6mlN;QVFzbmKxN4efGT_c(rZ_gj=Nax|VPs$9LjVYZ34!o|rb z^dGg8zzlBDfnK55BdBOt1fIW`Fw|HxuuH%vC$9KF@(EY?dm(VnQ z)RIRfOe^2mZxeYm6g1?Zve{s@gA`SA-BW;3N5y!5yWTi*)P`eiv>wK!M$c-C>cEyo zoia{xPL2Ap1ZqHrRM033V7DkL?GbJFuu=@7-Jx9pn%wS-4N_?PHe4rs zsz(xkzKq}z&Vk$Qe$&AVM0!Fhk;BLi^}Z#SsCKtZQp{$!6jgDgwonSd(i*y%O%!{5 zWT*AJ+xMuEUI~Z7l2Os!AV6o^1N<>WnO|L^t)s?-APygq6=jBd?8`CL7Gam0$GfwO zApBxHx?t47_ru4@Pvs*!Q+w<6Z1VqY?Ecs9*@6G|1^j-=<7gA*SWAHA5{(kI1p=T* zHV;tN5ig&u`{}sM`rAXZ=In^$0gQVKhC4;xfgAD>AF(OK$a?X@!z1b;mZiKV!?`TA zLN*^)k_N2?Kp$Y*zche_vrWSuBS|{mSY7*hvPs;T6~Y32e!scBrV{ptB6ccZd_AB? zz$g^)IQz&i5^xN9AoN7Hte@z^((i)HI(%KqSFA;O(#aF1)V`uyleehCjt*6b;w6}x z;tQ(b#X?{vQ)Z;i1?Z4kG=MHx2^fStU_Z}N4?Utrh;o?p+OFXQ&t4oUqqBj4;NnHfeahdVV~|qT$I-Ny4OlyRZaEwf zL<#BL#j|Oiomnn!jAV`G!Hy`fqZdz`KO8Y)AINi^+an;8}qy4M{Gdtl_w@I{CL@S+1}06ko$Kf8m$6ZC13a6;gA1T{wGq zwOJAvtSm0LM5C-Gv^146d;5q@BhH{wA2Tlf_Rei;fQ)hXL~=SK3f_$m#cgB4cEBgX zVw0@h9M+VBJ~-+Lk1|M{;03@eVgKRRk9K8q9s}co!CqA=5T@-%D;?MsR(GK97wf$W zp{gG9lofjpja;0-utbYj2?{~}hRE|`H8aSvZ?EB)eCSki`B~>ZeqCyb86yn6T|bxr ziU0CCfDUz3gc^cR+R)$^l@5+eI#^#lG>1pkQAz_F3M*!G=_k5ngE6B3!cLR}W5-w$ zR1i*)YLIC3rwfLXAzYp2tzfBA8;awRoLvOq2jKlk`At#_G{Wq2oJM>3hsEl(;4t}$ zq-pIQId_jYpG_PCty-dFZdw`x%?4c<MYzwThB303Qb{joi}FnR zb`=&*KZQWQ2@4U;;ERAw&65dfWE9tO=rBxmYfo9@aS}XPPTdjxay{{ z+9zFOjTD?M27Uz!56_!;54IhoT9Dv$rD+bJOBxw)xFqYx(Wpx7;AUe`j;$gBNcPTr zvFc$k4PWaNU6-k7)ZL>;_eFLv9_yY}#IbAS8sW~t0Q`+?bg<+RVH-vxMP1`5_1aS1sqtw2B6 z!$;=z)2RF9fV!t>ONEB~fUy-_$cN6WmuZFftT=48ut*P>P^+Q)HRBK;No5z(+C=# zhK{-$ioUEUD_G#+7)uw#HoY8K2o(@QtUUDzA z{7^NDSFjKDB*wmXj^rDnN?4J3fMgjRdr=92>2-C}YJ)Q20)Ve;lwZykW`ye`l3k%2 zyUXu}?!CYav3mn9Jt<=5`r}tNTmL~Dzqd6`vUAkte4i7qmnk>6`s!`U@ zzK`dq^X5*3$tUw%iR+Sm&}XHSN;}HN;hTU)~Je}R7ayG9BlCjUHK*MomrMxa+YF6n+qpWmnQl|Jcun_ zyr|Z~*_yx@z0Q)uqJdZ+sRZUqluG=jeRuX>Yhn^ydO9sJ88=rGH&emG%_F_oXyK*c z0jiGb)s9YJ{4qUC+7cdsHoaQcf>;Ao0sMCiiQ{n*UX-0Gt6SV?=c2ZLJVUa+|szp;Ye(hk%Y&wYxER6LFfmJAel7_@|wa1 zRsDB3;(?e0(O&0ZyW&`n)d46-q>-Bfrq{bqx`j(`u>del23MnGfkEQvb8!ugyw}js zgSl7&*r*Pc9;t0z!n2sXp1z$*R_X*~3Tl2JnG;V)B@?+dvNwD8c3tym5onu4uuR(n_o|q$BJpd<&TAFFUuR z%D#--5ei~Snf65gR^YCoRs5yw4_A0E|M(EVUwAX%zQ_hv(Xt`T9j2SMv5Qqc1KyZZ zaXw+3={d!-g?fx9g-6x>XC{Q1TCGFlnwN#PX~k9}%qyRDc!Hp-kSxY%H{3f4H5dyW z&!$s&I@t-TRKoC^X`q%!{+D9taOFnojxH?C0aSaFVH^kS7OCMQeAg2t&Iaqm0mzHz zRQ?3fi_hoVSC~ATTadjUh0pt_m5I$~er-w{Y~Ss62$O*U(-AJ&;z#jh8cU##_Rowk zycCcYFse6%#QhzlyGeYBR_=byuR7_8O?$jR>TjoO;_P5-gY>5HM22si4C|Q{3j!ZD zCaj-`*n{5p1GNsRGNn!b5F(F00N~%K&;y6Jx|L0ixcP@s{?Gw%2xUo@+Q|B4yn6K# z%0wF~T$t-DE0)aUe)Tmyt3f{K<|5fFZ^CwFVjO$N(O-g^Of)OG{ z8_IiVHPEMx$EOV%e|jzz9^Z# z9HF83Mz8+cKElV<23@JRg^#A7?eE|9|CV?Et?`COisvSJfhvlHi+@FRg;st7OZ+|C z3Vcnxo<}17P?mqBVK1-qMARF8%KuesPBymB6ON6~p5PZDXK2Z`F$GP0`&NyjidZei zUY~wL_JfPl8chZGm`zDkJ+MN(>i9o+~MP`Vuw- zhk+jVJiXgX*1=xy^I|%k7{6fAjVMm$n0_muc`mZBhXxO(M$RwPkX5tOCkR9xk0Wwp zO2IVV?QKvTNe0FB?4{+C>e-(V^R%5v^(sSHGjL>z9C)>R#I%Oj=F{o;l;PWPnLGNZ zH+vT6Da24h>zeU(4Lf0xckA}r%JzX^hE|Q z2M*=j5LgjG%Ow&6<~aV11OnFs<&BINzV2i8^$ZHFT`s z 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

    pX$l4yZLbB_lGVY*qCID>LC zqB;6|^FcYTBW{Q=P+H1iiy_+TQ^Gcr0Y_H*@-~^A#1l`8OIheR3-;ngrZtltngaD= zMRgf8Ese9})6hs)0?+aVt__KuOjEp6)+V+%v|jC+7C(;EhlB(RGl(H&`=lthA`75= zik3=pJx1w*%7%$@9N}KFw6X!O2%iPcj%hdunDiQaw)q58)9->=s&o*za|m&Pm|P)j zh}!@3OtVQLk?aE854gb9b}>FAJm5T5#^%WE!wKD_5e#V>G(Ji;Qh3ArV|0NzEc_B+ zv4$P149u2ci7bEyjvj;y_W`;aiv1ZUK!9mNSk z6TGvq6^=LNjldI>aG-3k*9>%DA?}HJTaB$DtGACqe2aQHM-?yI9h8H!f?8lOr#a#! zFt!C`AE@@h!@~L{oIK3YF|#PydCr~NaRq3DVk$$o9<5k>iH4V#Sjt4j5P)+Zu8a*t zO^Jy`ZiTWxl$CHt_7YAhD_2GG4ljOPW3}W6Ap6hz*^%hGP7ZieCd97_0t=%C6eifGawF)&^FvR_Zpw<_Hm3V`$CM7>01 z4>Kw$V*pnNGC%|fxylwfE$rviuDlcoHcek1@gRn=s|FkeRRTYWmtzE086^Dsu8vQr zGB2niJOYVh0VlpJ!IHt8e)uOr8F(=wT4464+7r{{8 zgXxGT(hEv!-&ywX&S*VXH~U+yqvxBC^qi|5*4b#y0l7=>FWuZ`w{%4c8_-ql1%XgS*58<Tbje}?UXHo|-!Ua@xCF@^ew#WGDz11vWr9;6VO58>o|f01 z!*M(c>8VYSY}7?AI#E3RlVOG&u@1NIm8J^Z%4R30Fm<4lvC+rh2Wc6J3YB|o(LtWO z@5UCWLyKicvn)w+;#2vm;8DXl)kZ524b%*aH+`)H_>G@4_JPY5gW_=RZ&_rJt8s(( zX-%Dj{*n)i7HeT(_zl5?;-}w!{rR_F*Dt^O`Pbimc~z~E?s_nSGJ=sv=b%#qrI&J# zAN~pf`3|odFZLjitPf~Y-9EBsiloch-+XU>d!@g; z=BGq{vd#29lxz3xigMF(MLPsMPkiFz?Km(YmYoSDqHs!uhFx(}cQuXYD#OTs+H!l z1#hX9j<0Y1q%-(bdz0WAc@m(Mw5{+p-IF7dYz|NI6u7W?ype|;Ok7UEKDU7hQ>q^` zKE-TA6Y#@*#OGNmMP)4PXcBbtzzp|s3JYwlqvQSSl9ubTy^$~kBzB~zz)%?ssctOR?!Q0lok%PJu7nI@(#ZAlTk$uL)T^ObV4m zFE3sBtED4`6J(=kmHy!5o~+X^VYddWH8Rbvh04KpVnJ&vv5m~kj#}0}qap!}*lx*_ z@*YAzXXk6kX|^TOi9L4e0=+>!_rojCP;F2do+zs@-M@6D$4Rj&b+X2;%mc>o{v+gc2cL5T=MqFSK&8n-mozftmo{7tlgfKtCSrTHqd z7lyabm%ntZiEyYN#=v{4F1R`ba^o#volKQY=sV$zUlF^KV<^yot=tgIff4a1_)C3( zbM^CRoddi^?>$_>$FgrdMsvo9Z1C84w)J==9-7T9{+V^1sECRt>#&5m`_s>mkegQ@ z7<~aX5+X7+Z!%5Z9{oUE9{ln9g`p4a=gE7x!Kt`{Y#xZO^w_7u451#l?Y2R|2_Pl;25F^k|*v z-vM7oX!p`QT~&)sBQ(+~p4-Okspn4gk|E8Ys>EaC(zi^VRy7_pDTFTlc=(0St2ePh-9uKeqi?UqBpt+>poDxEkjfU2po{Hnc%oJj`2) zW-ngQx`LcN5|ceq5jn9IgEUdHx?5G~^u`O>IA28Aq6;FwMMrZ*L>3@2ka2W*8cYfK ztzWSE%5w~;CMX(+aP&1O@nKxr!~_4`&OUrcu!6f>#Blr(D!jukejo+{Rys2EH9qa} zz|lhcoYegLs}F-}LZ}RCkpjeo*deAs-naxBO8XSnDn<^-rTN|d6)J3qX3KyVffs6! z;k*`xX3LRaHq&XXI-LSyNy6d33uqO}VmwAO*isyai1z(WxG8#^<>O7lu;wf|cEKq9 z;7FNO#po7jc6u6~Sir*rVl2K1TtRLRBH*5N;sCbE^xGLr0!fKTqcM2wvEpGpiFjRMK{U0)z4r%vR zzG>h}`~=^KzJsk72q}~USp+bjO>RELKUd5JG%VnDu|mY38V3{BoBqAqDhv2ELj8`{ z-;ird5 z7_Z)!QmFwJ1W1sUSUUEcEtd2`BGoT?zMWeM_B@pxy# zFsJ+%rUpOkBIpdLZmvcZqI{re)4M#iMkHnGV!2=&q|ZRvuZC1=7fkiZw75lG&~*H5 zfgDRP#vcnZjEIRzZIhgYqGGc{M~`?pc_b>npom;|(90as9*fx7h4_mNncjW@uqr;4 z*P+zag=CI2)Oj>B7)Al6n3GZxV zv9&Gt$hwn)QACUv(Tr27Kc=`Y1}XmBp!TTSYzhEPw0SbR1%87gn|3Z3$^S;SFii@8 z!4K|jb?HE`6j7=LIVDT9eS~}= zeNGi_FnERWOw$T*4{q&npC%`SCosiHg=pZ0CguG{CEYYDKS~zr7arh09vKU5P4-iF z?akHp4^z(i$L+0&OWUY{DW^HzBBV>D9NbE{>SPz0tK6YriG|tKgX#DpWk&x5avR3t z@fBxPtl;DF7g{+WagpmyBNdC3 zcpQO5xI>v2qZr6pS2y6%(%EeTtbf$7+o;+U8KkvYZfa^==v4qS!BC1owO>K|1{1ak zGB@OBx65rsaJ#D^b)pkF{A^O83qfULby)EOIF7DtleGvO$xAXGms+KISNn;naw3DY zT|={vHCNJ>Yz>9}s%5myX((@HQcqDbxmSdLdGjp&?ZfsRpX5i^3B(QxvMe|+b2SEcFeuQ(6 zmOH^mUcBhbzc2YKg3<~oo=k-&LBMiD<94&pq%}i3%irx^>gFXAElnac%V8=ks8S*n z^))VZY{8yYB~y=GjSqad<`MPB7`^WGYMr8g0Y>Ue<|nq#qv|dmv^!*e@rYP$iOYN- zef1^!>N`Y}LbgXi7M{(Dn+5fp0EAH=KZjL`dlP10qic{J%`mN+6%jdUA*wI5GDZia z*og9n8%gJmbk)^Or6omGf?7;GG^EoL^>2R&!%WO$^c;NatT&{MFsLcu{7?&DjBbey ze2QlZK?GeG6Tt_90}9~m0=-AJqmz;^`v`S3e;2_s%|1UtPsmkyW_c5gGTP*g9FqkN z)^~E1pSSiCi-%FY|d!ZdZ_CGkPl80Xt^2h8CC4@ zw{rIFN#$AQ@c62CnB0c(nW;M0(V(o5fhi*kgp)Zm&9Cm&IlqA7KC^G6zk`0dZ;oyY`cMT4cz4rRZ1)))fE z66x8VGv<~erlCelFow>8-CO9;&UEVlNZF zM&l3b&ANf3$Oe5yMU0IZ5G`@7f3^XP@ynGClt9-@M2kbpqNC4esM9`W^K{8e(_WX z*xs~bat#E>SIOyHIXlq%XXxY1^76_g?+qrOC*G=usfcp!)v4e&JpsC(j<7Fa!J(G4 zL3V`wJYFV6Ycjzb89d zJrSWG`N&H!3OWl+?&CG`;$fOyjXU9Iq_tDYaDbiYN){>;Zk99 zxWg#UifB3BjvsFi&1br==a{P3vYqrVCM2U0xzN#A7bx==TOyImst z02MagjW5fDSEs_@q7Q@jtz3@@A;9(JfbY?M0uUF+M;nq}?H9?KKvIKt+5nJdlJWW3 zkdLX=(}8-%R(HuDrLsUwWBO8LK3l*=q&;>wT6`>qDc;|`->wvb9IC%lZ^Kn0#4Z~? zX7(eP>m&p5IFAKS;bOiGD~lp;QMYC%(Dnj6PB7ZeZU`{X-hr}W)(a) zeoVXc&}YBwsQE!VX(#wKf|MkR$<64Dv9gHYI3PhP-(&_A^eX=dZIZE01x>z*#Hq(b zwv53PezdhoXn=+zj{&V@u1pLMEAQU~2a@B5=bVYVPXBW(K-t2y z+pvna$N;SP1`9_BFEUXJmklWs;aOHr`-#~S6;y(KRTK9HH`g;~xUSOe&dPWSU&WLOe?&N=ieeb1@X5)QpM)mM-`TX)-3)w=b`bsX3?7DteQb zKlmSnsVAVf$nK?kF=k5zDlXaOl0dvI%$Shp1*`$+($D^XOy-h}36eVKW;ilfBMb|k zM)z2hWKT1pcap`qgBk+iGwSp#ZQ=PBX*GQs7J?CA5UH%&?{R$pggn!#$6(^`R4bjJ z`Ms(7oAIf$yPX;szpI}=9>>+3)a-*sc ze#&zg_Nk)|gY9vFm-b8NU~hn^3KH;R*wB@Rov=a`&(AceeT+JB1m^c=3$926tdQ;n zI3>_*yuTqLb=bvM@x7~1)~43GR~)t>F1G>9j)_~*8aJ!dsJ$aM#9EVg>q#Oi=dx_& zbx@8**j7KLyf7PV;;npGtvJKFVos?f4lPu23MPw%IC!V-D-3pR(miW{ zX>{)3GhnolXG=8kFi5aNqjCZcFv-nWD4Q@zF0oBr;ziu-u$z^&bvV1P_e`5!IBu?^ zgGHTMqfi?gnz`wrzC4>+)dc5}MDeOaq+7+r!yo{dvHT#*M*Frx88KdDR4X!uT-|OC zx7SGIGhkSxQw7cepe!lsruTKKI2Cc;EXI_iFb8e0xd;bZYN-B>)#{xpb;xj3mJuuX znfJt)K5LNwrl^G$4I-HR;X!*QEFp998*(iK_(pZ6d-%P*{(o;Sh1k#~Shh=%mC52* zf=|tzFDFjh)PL+uFN^iHm#=B&JRZ*^f>!^?4}Z>lju!5AHRU@xVmxc z6n!xkN-u1qh#<}yLKDhQ(1KW+3Z6x8HJkwJ((zHa& z$5v7%$>szES}$9utjl!AzW*lR(Y*{9si&L zc;Ex0stIXD&Nsj#SCBB6{TlDNaBRW<2^aBvQxJF7d}s(s`7MfkT>Q7O6!u2 zISq44$}(}VPdu)ECt6!MyWL40@g=BAY*8ssAP@nQ#!l$7odDx-F{XECyhdX94VNKsgf}PHaSvJ@mvAd z|1C+;hcJh7NS%?6GR}oys}jL>;Pleg@rTeaz-#g9Ag8V8qNxk7g5#rCnHUf z9dQlIrLEliFWp}{iEWkEu~WtrYpuqG%mb=2)t!QVczmyV3o79D9UC*Rk#stlD|*p> zcjKDAz3%{G{RN#HlhgI-IJqT%$DvUbz}wcUdL50gC$XVzBf^1=3uRPacc}jE(9!Mh z$=0@u3MwbcZ$J*40_G@m2|9-9fIRh85Bj1YG1?76OF&QgJmW|mXCxu=Cz9L#;SF83 zaM0M$7J*O`miZV@_TX?784l3QH5R$SgbrZ^s$a-MK>1-sh)4TMPokn3Td0m6?72`1 zLIM@P4oFaZ(tfQku`$UOHVxNG6t(%{0FKTmZQ><*e&M`FHQ8F+CrLv0Vcf)cn83|iP)t9aEUm=?NUV59U&`VX^5*}9XUN>gq@y~HS|Vn0KG z07hE!EKkkE#D@!H3tsP7ibKjlj4wGsQmz>dMkPj^mkLVdhq6Yl>g9&6udPQTTh27X zJrUlX1H}+d>^sn}U|s1DfZ-x7Zacxgb*!lci>%YKpV4J|eW6j-E<=;weE4kx!6c`7?y z8MBO!se)yKd;}zDFqB<5RC96cA6RX#yY}W$=wSgx8ng<@&be z8_mXaczs=*O(zK!cW7{egFv_;p4Hbxz5)tCbiYREs<6f;3G6T3o*dS;Vc;VWQ>$f; z#VGxZCfuc+&-{LSk;Sk$s*y!GY=v_nA7gwd%k)k)(z7c22ZQ8_{7;lp{;F52$q}VA zhqmA8$rQz-|MPbZN%_ZzsJfYzk~IR7u|V}JJgRLTk({HTKFg4vky%8iq;I8q5G2LT zHET*JEVXK2p|^zECcILg247%=2MwNnJHR27QjyCD=h54}l+2HS^8gfPg3|3(t9w;# zfYs1ox0N6^h_X|#(wRbO;y~U3tXV<1RtLO4r%%tX0}jArkevlVTc}{G{vo_kI9E=$ z+gEMt%@e}3o*=K3_*bOc^7VwmZR4W}kl#PVW%}%{MT?LaW(6b%P6;A)=^#to|ELsV zU;WG=3ngIHXv}5U-!iDtXu8KUT9P?OLGL=rBH}NK$bm^Y!^<5_9U`? zCA8B(?&bV;b9E4K5ON5JL7K*hb=Tvw&~sZ^e9-jXVvYTM?GCcYjA2Vrpx@Deb06J6 zKQE@V!mx5ZVWA!sN*pJ$CxNI?lOxcpkP#dW^-LbvLqaI`->PKro4$YjuOK%R3loi8 zV2U{g$AtdzguXVas8v#N!aJ|`(4)#|ZXpe%Ns>~0#Y&*(ej8u#!Q;dSq7@u1bv0l) z!}RMFB#zdfO3Tl~gHl1@23SD0B=hoznLBzQ#b)B~vTso&wG$w&t3o7&bSW0>_Im&w z@f7|or`?6s4>xQlyk985?~Njc7dGuUe4#+#qaqMSz?Lf2sg9{od{c1P7}6InI79ad zM>+kbml8G%Lx%j`Sq*W3?u0!IPjV__3a~)vZqn;LT_jv`@|Cg1&wj>`(UBs+QWY8~ zLec3X@vZi}bdFCa|QZ zNIg~7u?rM)_IbC3`GYT797V?z%D(&Pz1V(9cgM|0>|^4MwjY1cXJxCz(h3877VC{9 zMOodjX~ofkG#>-lc#Wr;&4u-tncR0KJj*GT=uHCJ1bqNKDV}1~H+t6|pq3r31mC{8 z`v-rc=6H1Xw&fr3%h0l|wh#ge>rM^B>!PCK9>snp9f$4pBe}@-@gCn8m2UQEQ{uu( zh_^%LJ$X4Pk;&}jn5Cwlv_3r2-Fn+v7Zy@8wC3%ee#43`<#2JZK4@jJ`k>TYct5P$ zy?nesAm+IULV&&rWFWW5i`c}diN{m;+M^XSysYxNdw&Ivz1icG!}f9ga0QGGTCTfD z%NLzi@E&Kwjy{9m$2T)19e^De6tM}G6)>cD7fq5fyMWPaiq1&R9lzhScut{d&@b`` zXCi+Tf{+Z$0ust7XoRC0g4RS&&6a9d7>VGYW!tCf8T{cnWsOi5@Q)MQN5U4!Vf3u{ zpAU62QXQx6d-=5yJG`<|gEGQ)T4{jLwPsFc37Zg0s}Tftf*I49o>Cy239 z#9Z$Ydk~7WT;VIy#h>yS_&nkR{gMtUB^GhOly>nRkQGKF}p(nZwD~n z##;H&XpOn0B!Xlx+40r35wZ9UaVBvgGOc&FR|gut3YrVd^{|VkY0=6nJQ)USv7QLE zH^{w%zpQ{QqfQu($^r^4M2>TbKdne7VraW}FGPKHM+@^MGkCNo@|I+0!dC>FG2T$h zHJ-{|9bIyEFF=B6Yn}W(YT5C$o`~ocFY1EhrlAi5t!9`U@f?=T&cZhl(t-E}CAmd| zKmPd0M&9<^P!pyZap=gSUWqq(JdXZQMU7vysE%}BvG=1_oERJTJ1+dwhn6GK1WP2*(TT<}F5^rz586TFf z)v49Gem1KjE1{GR!JH)tY=+;FhDe!hU~iskl6imS?fvcJ-Fe@X3`uw@CWPh^9SRp3 zcRbIvvb0qE3947hVq$8xyBd8*v?z!k{jr07l!pWtvlvhI&RQ}M&b_4=M-3rd!VV^B4FcJPRb9@5A0>P>uv2-4_ z!*^iT)pw??+fjV-6MVbCH##X`OpnkdvMHOImX613pqUz=WqY~ z8O|5~i$N|3Sr~@fC5|u3#^4qYN#Ux!zi&T(ZQtCohA`2Bfu-Csbi`mU62o`b^pZ?t6G$6r(5dZoLM;YcxMwK^kHPOY3E6Gnv`J-&=sK;t@Q_X<)8f7dZw3xSNc$L z3G8YMR229nGJfgJpX#foa(tBO(M8}bBApK+K6!FxDKdZ4S*nQHi-_#DM5~KE>Pp1$ zRau6k=RVaUkZcf{z}bL;Hv2kqseU<{an{51<$Jo9n4VZLsD1-v{Vy}9j+Whdu|zYZ zS*TYG4kQ@?f|FDH;Uf$VlV=I518NLqmw1}-E@`Rk*TV(%nvQ_KDZYc6-yk~@ZzV_{r#8x)pL8@Vv?bBMxvx z=^3;})L@w+6{VET6+Z>x9u(H}C-o&RX>+eUvF#h)K5Ir%vJ!*HhrOcYrN`k1n6OC0 z0@$xBgmC~yhD%K2%1{$-Fmok71(kGm%K}z{JvSO-ba?R@Oh)OV;%~l~7Jt{c80vOw ze32L6^fs_EM(4dieUIZo79!z;N7sh_5ucpRZ9T5l!GJ+Myt7IuKdNXMj0Kr^&CZ)X zf?A{zSGtGj2TP~Uh=oZvlLxhh(vc$ls|g0&SxvsmE}fO5IvFiaqAZ>e)gVE|h7Zr~ zsVA8UCt3>ttBv*StB?x|w19?+%&vlA**|jM`9a%Zb*)+gPo3@Zd;!FGhe9;P*qNU` z>Jt^bD`njXN5DPA0In%vYRnzFQX~7YvaZa^nlinN16C!7b|Kxl0UDM*`j^tr(F#V3 z6{FdT+lgn4pUSlA`~HrW)jbOUY_h8xDpM4tU%dDSIjEI;t$dF0CANI3Dr%V8vgO1G zHEy;5kds$6!bW!JJy$F~fc3NSkNq3!?Xds}#SY~}E$||@#Cvy0+H6MX8&FuMdlAx# z1?5PC6i)?OGf3G|0EGVF;}YD>EI3ig;>Vysn#Lj_ayj&jkuz%Fg3NvQ;M%=;DDF*{ra*MLb-X1Ks)0k`6Z2faR6~ z+IA6dQY%raw301kXZQI%agiGD`3i{>yiig20Ff3)H$kH%(x>v3#1Ryry*ajmOk2N0 z4OOiv#b`3$IVu;~kDK!JkKJ#keHj!M(dUtCf@H!M6;^-4$}|dVC(=mCMl`GRG`8Zz z-?*U*L`w&|^6@p)=Vj4Y^ZRnLqNZ9-zuLa$a0_v8Xl{1hj;Jah-SLH$$tl1k2N0X% z14(%mfOR5?Ac8SmMWTXdd1wAq=7hT_e zWZ`<(snJ#AU`lb1RtX59(Xk-{b$#{npY3O+gC|5BMpFo2G5k#YDTFZcP?a*P2% zsF9*>QDlXpHB1uU^H&DlUrrnf49_iW&1x4IUr6Y^r&Y1Ny3#_sLBb9LDE!fO#ptA` zHhf279LRMJS-o-HT{9|PKeYJ%o!u`X8D`6j_+>+xCtfiIi<2@Eq!vn*_JMJ)(4T>^ zRZu9Ya!|_dcUr4DH>zEm-Ah)fa&16S78jefS;2=c<155W=!$APMK%M_Kb3V_iYkl` z!+EOi2;u$lnwH&LdXiRyjNG9XryU#!XaTk*2=L@oPbEYk&rJCcCJKhynA&6g0PpV0 zrw8D7#7o+;p#Brjqc!5hn^ad%n8?7dbWbWoo3ffBec4pRWZ^97SC{}!PeQ9BOYpw^ z_ySuAwRU$}I~qxYwIAuMF#hz5^M-~1GSA+hEO z|5g3Omju)-A)68c7G0%ea#;jC`P@BI&Rv?pK5{+@mauJWW*H?eZ}9&>%GH85rzcZx zqyUYj^AJ}*N0zzTrfiPEg|Kyiu#1OIOK^0E-?rP&nOrn&hg46UmyNe9%qdXJkl*1T zCf7ang-l#NN?nBQWV*6GQR?C6G#aJW)V(eFNz$XMAd~fF^NpWbb9^T?sgpf0=QKG0k zjFh&ODc~yB87itk0G%o!2B~88n~CDX=<`rVF@H_rY`@vIXb!P#qF$Q3Zq2|RBC$0$ zohNFrf=^ zM6%^eepQHVyI?Z0V5Oi%w!)o)Z66seJFra4VtU6T{aOTOKFy$cybv;}Z^EH%K^uVs zL7+FD-fPk02@Y;jj3LMq^nBtET9_UiomuUXKNF^p{u$5}JY#{?09XLu3=e=t0zjKl zu8Bv-!;-JRS!)freYgTIhn*nvgpS>Y$_)KJfBImM=5u>m6x=@^nDIaG>l3Y|ll>h? zC~WcAkams#@;11iaxcN6Pn(p83_q?hWtt zrrRE@5&fSmm#3~YnO&fn$z>qUgCK_MoeZa{12uuw`UZqjRs!%u4Sx6l1h(|0iT#KS z2F{USzws1d;Y$|0?-8B2__nr4Uc*J@i=rJL&*_t%4J7paBjBO0S^3qTqGWQgmRB2` zSY`C1&J=jH10L0lslGSxrzxUmJIq_d;Cb4&xxIB!sq~`yTf$#6WTn49FxR(ea3L@MAGfc^v7W^-mxB3A0Z=r3xQySw}Y?k63PeHvdrG-JC}0m3;1`Cgh5>6FG8+Rc!g;!(Z~Gd&cn#WHo2 zQ}M+#nLC=vaitxcb@>6_3Q7i4A>a!(Tf)Y0Q+|5Ifk7v<=1qW{d;59y_WtTXUxL#i z+!>_rK#XuE28_9d-vx0DlCu7I$GV{&ikQ90@&4%l7}X{8Hz})(g^QQO?pzLNFyn#N z%nJ5Jyj)mc3BhOdLMwwiC`2ckeNX{Kr$N4&Xbp?K1)pfR>wkCN-s=LQY4=!Zb>SDn zF<{a#zbi^#`h~mSRkU5m5)d3@n+bP6jl&6&24rqJ<`zBapR94N?{!+2)@ua=g6EvV zUdAe1B1A!Uf+t{w_U~iQxx~IR*v>Ve#;pvlx61S(si&=lsy<$TK8b8PUYJ>{Y6W;; zhngFUZ5$CVE6l90{hH27F;B$GNhr{zrGC=X@bQMPHmZ1I_s+)q8*w}I9K~NWcs{9 zo{5MEn}pJR`f|OxT+S*tpIFFFZ@!^dU10f(s2^o7K8$#^Ec4KC9H#P=L>bc1_2ly9 z-!77d#Fb1j8TA6Ghkb8XsQgOr~V(M&(Lv80+dc zk}8S)edHDk{I5}7giVws2V23oP{H^#$eF!=iA5#)_X}A=4_EH{y0!~ti#MO)6Tklz z9v-qvq1+@k!0yo@K|BTe`6$-G4x)SyZpP0wQb+29#brouAMdv#tqLFaOP2ZAe*`~4 zqKQ!>HYms>&)hgA4tIMCeXkWN8t7dBU&HVN4cH`>*Oo>;W&EbGk87b#hZDSA>mQAz zQzJvke4%Jnqgvpn@eKwOS_6^qD1hl0y;%%#ceF^M4N)s7=WnwJZF3BIa+=NPIWQaI z5BsJ|*aLT9TDY@?G-=muy0?HUe4@CIEu;Oj=FQLTXLv_mz*3I~+E!C8C<24_3wLD~ zvX1ge@OBYFcpJRfN=gby6Vd~oc`C#-%xXieiuPK#3u;G13%9mMt80m7#ij;h6%X&9 z^I4t%LDpOia)d+*-2Y$+rVn%xQY6cG1KRsP;;hD7+mK+jcxXZNVzUXSo4Tp0d2FQq zBqNyF+2W6dZ7o}=84H4eFL?L%zLjb!h(-jfE6~*>>hW@4ks*S{E&&@bJH>}|E6 z${J5P3IUp*?hKqr4(kLIPEcC4$}$}a%yP59`Yx|&=i2B0L=eBS7@oJY*sTycAjV!& z)LMoEL-7u=;X91SaiU2qZ{>taSVYNyxyTFkh35IKP^9|kz+!8#+U;1p{5+}20El$J znLd|Ti*04q#QKgurvY6W`5%?DkUH7ocGYGGcmQ_rtLX7Yl$np9fvbP<3wXACCDn~yUjTiM9 z$3X@3`+Pyk7XBP{SwFyOOKKob3(|J&pmqHH)dx+=B_c-53*^+`rJ*Z9fepF5(Ax*)c#^>SEr$-3EtXJ?ce=FAhIymWc+1D@&=Uux55i|ltGY$(2c^@37ESVcmb}v^g^2M_1b9T} zinyqZhsGk2e@tg;l1I}hj=covcuVq4dPw^j|5YcOINh#h|teW87f zmfs#qAwECaLf2v<1a~h(kqeT^{ErtMz9gI*g+TzQR3K=tAn=xs5+Mf#iD}3YA73l2 z5aDsfwfEwCKK@>|_xH030LE4=C5jw5ngj7N<3||$&_le|ZGcWAyG^fOEJMGwnF86r zjz3!4PKNAtEFlNrvu$X|EEh}>Fva!(hUD0vZo+;&dYLnuUdDfmTD}Y`)P$l%%ZdP% z<#IHv{Gh5cP?OmS)vb9ago@N;ad@mj(4ZeYI$+#NVpi{_34dSQxwZ^7O^Todf)LhM z@kV^zV(1m6^cbjJ5G-6l32mf0l+)coWW*o+`I|P*rX&}%rl=0Uc=z*+h*TQR_2KHh z^hG{i{m=hgQzZp`zkPRN9#6a3c?tgh2x&W-K8bIw;Q{@Jzrv0Pf#SO7!hVr2~UfIf8BXCYkzlz=Yg^&+IR4UZb<;RMp< ziDwd;tv?ieAf!8>2|<t(DkqQ(kf{S86NHS!q(96W)MIg8MvAH* zT@Ey+p;zMg9lqKSch2TSmJaFdv$p-x?yf%lqr1Lyec+Tri1K?g7jMf-5ybs`yPluM~CoTpr#?F+@V7+rIk%SfAJ#tmt`AKLzn z1W(2#*+|W2e7mMwsSSt>x`HJJqD@QyKk!c~Qk+0$pzZ{@fg(FG{32fJtBMHql`rg$ zR!i28%9`;0kY6C?wZV~s1qqQlIiQBYYQl~ODKf0ghj9<~<=;d<5nnP1i!As%&PIQ| zePhX~^3j8$!OVQ+hJ;o1G$WNjdo9o+rRx+P$F>?SeS#>4L>8D?js`7=kZetmmF;j~ zO^*IIawD)HL!}MdAM{zE^dvVW+3vKnnb$F#D(J~E+|r7y#m zP5YSp5O^fFiUT0AI5cDMYP2Q%_Oy|Onw`PA@Xw>x3&NX0#^(S`H+XE4LAXVJKy+(h zHY78_FaE^RHSJ?kF{b#^pe>}y8{eB$ci6w-Y%zlIj2gay{gpB<&c+pJL_&9> zfDi6z(=CVBF{3yz7gwCU0QzvGATpdorZrx`w)u;SqbF%}JG7Wo-o`Bs376!?9io-F z^VS3c)OXfmT+_dVJ7{yNRzJM6#8HzfcBjKqv@x@j7cYXVwY|E@QF>46=W1c0WCs=( zWos1lcj5Lt2|%!Gy0A#YODmKDIpOEmTZH`&S9{f~@fI!FkqQKlsV1anvPEV@smpS4 z>K=mC$Juw&AZAsg{y-@R|GIGM;M#7__odac#MK*)oF1()x=5%gDCvh30Oq2Fuo5+jIir4$UWp60|Ya%yN z9w6Lw`i2?u6hJn=Rg0LiI)ttgrQIFw1L?8yC|_+Q`C~9CCNJwBN|%@rP?*PgS};+q zVicZh>=6rg{>d3MKPm9e*ZTC~X%{qw?pU_f#<($RyL#MI>`o{y*cvvwg|i~rIS zqaoAkd$OEjfVt?*_b|g6b;%c zb?k1lFG@Nv3(WXx#9+fs6rNemcL`7TVz#j605ITsngdLV=Tb0wa^c3Jw!1dE5RoUb zEzk?(kqPON&+_Ra#`4CR#mIDU5G(_#a##)}hhL1--m~AZ;k1;bvkkI?zCe3%AcXUx zg>Kg$Zm)J}@SDW?(=s8>Zc?kri7XqOVv^fBH6#-<5>Vn2jd42>e9>N4k?|2+} z)+&4p37%Cyhd(K}FmW&|ik}TctE0e@&g5|D(~D-7dv3()+iu_S_OCCfyu(&#Nsz?K zMB3D^m7T_4(>+B}nO3Vl-W_&TbmM9;4jm%Sez3hGX0&+}*rs<2j6(q6?&dsVTk8l$ z)!+_rn6J}kKedhoQ$9jB3e5!q{>;31V2GJ*Jxe)D{YwoI&#Rjc$FFtQ?OPOzsSEiZ zwB*tKwg1S&qpwK20kD-o85F9Aw*&*_R1WO=Z$Xn9$rtujgfM`*Y*;w$45Q&wnPO2d@d6K|Z}ywPxs}ON zjoR4FfTR)4fmm}>qmS*+640e8LyWds+knJ7c=n(pJiDNzRj8PQ=DlCWzxI#rhLJda4-t5rEwl=}L5b(_P^rzowgiHt6zRU@qJ}RA z$IegSxvi@hvH~6J%_r)-eWaLjsw&(o<0bDoFMt~tw7<{XHp?Igr5p(9|#wvkM?Z@|A=1IdoGZR zgRHmkq4}x-MtygCKqul>Tn84`9W7kIoEa69aCMs*@x?ZVg|qlVocG~xLiAI#GcbDB_`gzqxw*C_)q`K-7sw&1M6k6XW&t zY7^iFG7vE4sNZko;Whd}zT0wnR1C7339T5j#0l2f7PCaq*K2u9CnX&kFHl`kprFuP z0=>0ou?PR_Bg7T}I0K9ZX0>09uBBC|*YpJMCGVsa;x7ournhuaC!`2ozpRrKQX$c< zP$Q0~2|X*1As*TTB3U1)l7sEx*O?$Vd!KY3Z`xx> z#-&gIY8R0Cm_O_Y1TQ{`POeDxP5a?Wejy}g&-8En%8S_dpNWXS6uo30)iV%Jk!Pjj zGO_{tbP?`_#S+w60d%0^2xo{wI<==W!>a6MMPhXSdAay$yM5Fff2F?;foc#lp+EWl z_CvS+LvTR2^VqFuLqrcJUc}}j8N>2%ch~&3yYqTYqx!`wS?-x@XVdiKj@?jl*h%4pKm+AJi?bZYgFU;i@b zf2#+Im;L8Wx3)AkgglCDDf|hXm(iz&hm;P-GYd$ZYfp7j9$q+{;|{iOhXq}T%0X6X z>_OnVN_!g5*hKI~xAMYGjvayJvjCPCSIKrWEDBXxMHdQ(!EltP483mm(P+=EtUz68 zR>`mz^Emo~$<1qCoYW2P4Q6_bfPGZ&7z-c(#hz@QN^3aZ$%V-TwD3XyvQ=glu^IN` z^Z3V@S$^p%BI4E-LILlig*;iZ$M7Y9&A#ZN^XBjEH6FBlA1`moaX%TCvd?atZHpRe zcW;7GDBqP-Az>xu;C;jCvB%N}R1OcOyS1xLtvQ$moh#`JLOpl92 zgEKmu|GN*xJi*CUSsdFm(U<&%3A+?KkuMd`>Jki)kJ5dMir>nFPKdk)`fg81=jE3qkH2(GPGXXe5W@v^53@*2(gB5lY|Gi$OLa zmWN7me*)j;D0j{K&{NTq_32ydS^?K3GvUq(F$KaMJiUJ9nV{511uCpbjY^WsK%|if znzsDpnH&yO-+St{2S~d{BVu=}OrP>GuqTEB!C%}0d;mu=>ojE@l+8By`65>a$}S$* z4?sTYP6cWGngsh;F0e*wnB5kCR&YWnPz~SjsErV+;01NGP#qYM7avR&^o689*01gvA^>{3RUW1J+u-xEmAFoM3#r{ zIf6Fmc2L&`I=f`;ArbKR@cdgvuLml8*HzR`afR{o`1D??r8-L=~* zlm5Y$3`ESrBy#s?%i3+&$4~pLMsDCPSVt}}WD$xHIJlH#!u={37=59~jXw5dMC6w! zeXDqf_SB$d#gYCkXrM+OR z@O+1S1c?$-zF+j4GtQ3n89{tuQG%slO%w{I)5bNx$(-pn|9r+Q2-Z3zwi*d>N*>`t zzC#^~CoM2Gpu0{tCV5w3+C|R7j3nAWr62td4BmC!h%pj4mMa8Vi$#HBH^4cn_;ioM z`L$i)Kuq;RK0kbU#Q=s>IG8X0*;`PJoFIlHsFYDCqclPFT4npK-}xv_IVQpz8YbOk zd=AZ~Db*fJ1Yq#UEaBb~&i_r5#jvteb%$9!@h~|Vy}0n&)4gW@_<)+3@TO#kbb2m) zLXarC9a_J*9RM|pC$^CIRL}i?0S}cf?41_AgodhljAB0$-Z%~}2-D(h@G^)6fGJ8u z!Wx4BfO1e!XA(Y$XKY64unR zf&_~_)0d7>jXMdY4|>$Rv@V|KC>fXot-&)!_XyD{a&ol5{1(3XZa5P6P(c-sM*y}| zJ}FJwsGO3=R7miJ#-^(%7l%GO7!zXf9dIt}t%tcj^rKmvQ=QlzlmOcqG#CPCm;o#h zezapXJuNtU+MC2$jexF0wTPmjaA`>B04m2?%TDE~vB5C-v*cweJ+Az?%ZtgSbt&gP3XFO!`HcNT=M(zuh})w zW8jR1spMTEyF1r&2|~IjwzDaGo&bejIAe2~ceq*h-%wIxK1C-8Cvsi^C+Vggqh zeuJk^E#9Qq2sBd9j%T;GoMKcm zEI$TG&#ak|^lXG`zK`;VY)quENE{+gjb)OJTXq_+oH>wf4NMW{XlvDU5D$nS!H+?M zS++}lj)l`>{K1c;LNqD9f=mbiI9Rk8J8a6DK7?i zlpU#>?CC@q?RF69FI*8sg2A;MlKPGaFW$5lfTHTG?8lB~-)u?-nio3|U=AVz_Ghyw zh8%ZVnZ%VuTU9nVBfHfP{+6I8PhebF)c&v`GqC z{HCJmR*58x`Y$$E$)eU1Df3K>BNHS47d30#HLRkUE!Sv#rS(jx%0P_~xg@du|EPPn zCAX1lYj;0PUn>X@0KrSOx@Bvxwp-Cs+p*UTgCszSf7i*yDyikC|GzP3CXgV(LzQGX z_FCcAsgM8?nKS2M%rR75|HsZ7K=4gKgcB2OXkW$jB{x+(bOe2%Q#Ixl zzN*Pm9t1gTgk(tew=-k_{0TyBU8quxzjClF=_W8RFPl%0)Lpom(LP!dCD5KrAe4vE zFY)Fk=FJ%zjE5xsL7xD5XgYJ&aNW7lJ8n4h%5lE`dc5VCV??{qi6HPxi*Ex|1vI#5 zb<|B8 z^PY)s=X7dlm6YI;vL&H+o?c@Gib!=7#mFIaVi`0Pf+buO?(mf)JYAfd(=v+Ok9B*Z z|2KSmC4#Skv=_T;m1wOe8r(@Xy??whYTv~gr&#uGx+(x~LdibE+jZM$M=9J15D6Y`h8JU3O_|ni}|`i)EWoS$1#uAnk4EgI)c@>RR0owldEyYGw2u_4E&>V4tgZQ zRupGQs7eJh45g#)fZ4iG{yeiv?*cIu@bF&wht*QjxpYS%)gDI(&gfD2Kt=ZBW~s(1 zc!SXBLH(81_vzl{*AJy32?G*FkKo#9%`VX(20s83XdE|HcX8O<3S_`mp2&~>n|~6! zs&I4laJZ-3AK6n@LPw7-FWRR;qLfv5;q*RVt0Dv50WrMohmVl^uUs9rWs4x*LMj{T z@OaO!5yu&qZd{==hHPA2lINt-nJi>&NdNfRkeL{W^pe^}t~?xo6~AP_Ol*@FxAI6P zcyyAN;>^LVL}P^>ieyz0pg)N3it0#gC@K{o1JAp?rtD0|8jBK@WO@T9q@#exk(96< z88XztCm_xD;zft`IW25z*#cmkN*c&b^0Nb*(uaV^qr=z&CPg|%aT@Ga$7*@sR-5<} zO~c>`mVr=;9ZZiHSV@R53KV~OljQm3;NoNj0l}_)MeuPXTFel7t7;4hyq43!Kxq?m z@M7l*KMiX$TQ;9SP%Ck=S=RiCXmUoT8m>lN{KFTQ(CYrI~hTpxa(k&k_ z0N{%%Ca5IB=^iJcEIkh>ws}g+tjY&?gBwdW{%dR*vGMp1n*ip4C5SvtkDZf#*2bpJ z&Ag>m0H$00KNuPNG-G_kY1X^d-$0( zWD;+1Sjbw`MnAa<4`XX7fiuj>KUgaNK9lr=9a)x2`ls$b-&{!vf}hdh1(J`22Z(Kr ztauo2mL@FCtqM9jFJ2&9`oC!E{611(<`6$5f8l;9nah$SVh$xZWDJP&h1>0Gv_zoQ z!5p5%V@(^QGY1R|NeI9Rd~nFe`_0zl@>KEmkP_e(>4G&(Ej2!1^1~xWHt-V!D7OS= z@bPg{pl5_m#1}`2-q8FH7fk<5UEA}4hE=_LTv?EPHpbqlxuc#_0$761Ne1s1fy!ON zXEHrR8pQ^1Gmd8gzQiBp5aV@qyW1f&{ySdhtB;R2e~g^uPcgt5%}wATCSdgn&=>s# zq>gUv{mdq>oIwpfk#bEVv|ME}$Y@?58xJKdI9DIRjRvVMDqCV#CU~ah1Xe|~2d3Q* zd84KB4e2IJeapif6g|ff8*vWKC+kfW?)LP!ZZj_^kRf`SXJ|5qab&?p^HOWcP33TM z&;y*spSE{AQ_(}k2mhVAFgRdz2*cx!wBjS5LP?@oeA%{FYL}X$u#2t+hc^A#@j^Xc zw=hH1wzPAeW_(4|?2(6CuEz4v3tm!9Y|&8)w@rO}wm*cae9b$qx_KB`M5FE?qC%)6 zz*7(l4HlJMEWhK>awB44gDCUi5$N z%CvNmbX~aNR)4v=T?HXTuF@t!t%Wo{2tg{y(8?#Xt3E@W*8EhZ(hrqdl9@|%Km4a` zW#C4zjCzXfY|=BDQMhsXzNQ36Q-LJ~vz=a@0ufK2+?sGqjC8BQ=}nTGsDrNa6>2%@ zb3dt)M0SNfJF*GT*^%>1UjNu8>($D0{C<(!AP0b9xa8VBaQLjEJ%pqI`hIMhGThvw z;g^TjX(tsPSoPGLYa1~1j?Hk2iHc;;v31Z#(n-8QgR2Q6&irgX0#gm6hA_v*?P8sg zyyti=lkd>BkZn`gLxCgQH}rtGX-ydh$V?f@z(3xLqUG>Klby>V4Lfzl$+n&H(4&|qKD zye7a#vfA0p_W^R18S<(tN|~EjARGoPGKc8F-e{1~Wrh`MkqcG>ilQ`6Z(aIfslUpRQr;P+jQSIV`97u3hgeXgzk1gEJhM@&t*ajrtAX)#{f|ceeF)B;XBh z_UM2k*)y3?1fkOwfvzdJ4>l;c!}XE*sX%rhX{dHLv(N2E9!cm5_IV@^ zpY16=DmC|ZMP_2%0MnrQW}gL~hZE1Txm@X`e}Vp@H_BNvQ(b~7t+TeJ*vx1MWYYt^ z_s7uz95oO`CD&;nEUr~fhJ%s(I`Xz8sBt~}YkCCR+(^cWEkQCF|;BJ50)JVGmKRKzGt-a~d2XWH-MPmm zHsNi9eK`{af!t&@qkCutY!5JDFeh${k4?>y6ON6;_MpPY4NdI**!8ln`k#t_iqJ~( z;`oIb8fbJhhllW2QLr;!I#at6Sq~O2I14snMh9+1oRh5dW3F-{Hn5@zI>Pf^(EH_L4(;uD;5}N0vG3bV*Ok8e73l(F+N8Edx)xe(=!Z4DYdoG74qq zcaPWFJOWpp{diQu$mSvQ0C^rYt1w3+&R_Ko$8C89#(%e48VYL-p)}ny0G6p>#!G`> zSqR$4ICD&$_6?4U z8skKuZNJ5TP!j~n2tqXu0Y3I5-p{Qd&o}R!W91k)Tx4{~%EI-J3s0h!wvohca)pv# zQ=-;$eWE}Ad1osl=D-5#Cq&jLB`ixSP$imX5SaNrzAKt`JgKmPf}CVKXFV=We6F-& z;zj-IyB&orR={uV`qPoG-+GAZ|H`J$$hV}p*jieI&{wd~fDOhe2*%b!CASfY<9?-V z0~x#5{u|{rmqr%#h9K#8J9`iI&d|_25n*)J3YBn0Q)FEs4=Hg)|ByPBx)jN5(Hdln zl{MSI;0yW%t2F`q=s)aE(Xp!a8E!1JrysBWVBrEYa|{Ewf$Rx52}pN@5yceeyEtif zNk8I=FX;RCz$t_!19MFf3EKg}Y$LB+J4VeMApBF>J?TB9^gvoYeP`qUIB*2B>Fy&C zHv+3$N+uSg;=?Fl2RsbJbr{07@Tp)Sp`}LKZ36Qy5)HWMMLK}tm(CFZJ>H?Ixprg- zW-EhtbwUAo2KvBX$DSq7Kzro8m)5cfJw-JT?)PzLn%|1)zv;>Y{lD`UGz_qR1}%Z` zem21IN$n!i2b$VG@mHQE%Ne|CB@%Px3Mq*&W}Tw^>@~=we8Bu$|AyY-NRzp5yYz>3 zata|}LAPGWgyaL;&fn^{Z}?q@^kUUdTO?8{ ziN&ChO~E=b+hd+KX&#=T++N*&$hBvv$~91%E|Khm4Kca;w1*2+?*_5nkL~)8v$kSw zr~|Z+DHqceklZ81c8CdV3phEOdM+{i@$BeSaO}1b|6r8D|Fe zPoynwZqjw5%3p+{|L#CyanFxolO>eZfHV;xN$0LKwyqAS z+zT6!S>bf4>v~Gw7QBl+S4<~a{Fb6Ox-gkTMdDF7#v|3T;bC%?p|+;%tL(TiQcz+7 zftX~Rt_Huc$C;l>w4s{}UI*AkWI;x^=|TKz*aXXLguhj%ND*AlD+S_a~6cke1@J zsdHvap#pAb(i$*lZ`Z=$@yF2kh!Q;oIZ7-B&!d@yWw{~F*RpRwhp>-L*xt_ zViBLBbVqGF9yZ%P5YmhdxTpAy3#nrWZ~@2_))_5`Q+kZ2oNAU?>1b-O+iKpb&DmG7)*;H;=!6>)4g zF8C*Ptb>ekJJ2x(!y7i3f(LE0;jz+_>M09#)V$QV5okD;Q{eKnMTdpupVTec#WX$U zZK-G2_JW05+N;$Hr)n*r6(QsrfB<<;j+A&W%ZOQr(%tQLN2k+7Vza=sKwNVTsdM;} zn`NPP30l$Y(;f{$db0FsSd|gvAHLsMn&bxl(ibnDM^O27G{)i{{q-ITXHb7LY_B5V zrCtGlr$CGqz@Hv06kjeiU0%?!w=x(KhFilO z1}_cp!NJ|+dyfZLWh`ppNT`IWaljkFDn~90vfMb%(bZ{;*=GXeyfo%$?VGMKhtD|&DxMddU)_!MnJ*>xr3)a> zR4{*N0jANJjRw8712q$)~;)81d1w@XXTZ7(4deO0RLOc;jZF)~_60E{ym7%$W63q6s;IX$$TV2F+aW^6T&K-~Rr7@#^K< z_rL$v8I_S&%MC0ZsI64sT?k7T9Uw+ zQ?&3)hscA2e8YRIy>*blL*Fc(-|8G;&V=4Ng{CK)#se2Z%MYHpKTP)tM5KQim_@pv@Uti*s&o(toJg{tmG>CJS(%<`| zsKLYIXX<)8FkDRQKQ9*Z6{O85nGLfx}? zB*nIo4p35R@;RbEApL0Z$5gbVE8EMfT@OW=<1`%eI+q^Brg^A`1%4I+?b(!)F%LGF zasYg#a&o%>klV}88NQFuO1Sf0eB(#E&mcQTL}vk$H}8V?s{j_PNeGtkmhG*YXVhO< zGBgra4NQCVXzmXfLv%>rpoWLis5M3~zwH1XW{aSM{?mgDG3dL8)+-X{V`R`*v>RkV z?b5})9nC5ss~E_WYSki6VX(Sggd*DSg1YK#0A85^h%jfFY| z-=KO6Z#O6};v

    =_?I8XHY6AQKF;7#d(4^XSd7pG!XDOvafEmoK?!-;5`2ve|vH2 z=d!wnT*Z!oh5O`o7t~Ed+{uu(wCNqiTZ&hHUyepwO}gJDx5{MjFfDWq!HAhw>DOvSih=t+KftF$+6*7n|jlvWxCY^AE*E8k;%J;MMl4LPEiE`hbf^ znSa8G)gz1tX2?wt=B{l2^(e99k8J&7iJM&EE5p*4J|2@4JBkKtm7Z#qfGeM9}c4f82hU=6@EjVrwGs zZ#4%kD0}QL$d+;zulxqNrGRs#gP-UF@h$Gvjc&U?^a6lW{6np8oZdVQI60z@CDKkf z>hb5zKg^~BQXy46Pymn<8VJt`2a%=XCfttpw80dnkxpLHt@!w1@$h(uddNooHB)}M z*?LnN-SS`>X>r40rBY$LS{B97L;L(R(}q|-hXxtR830H9PgB*+B=RLeWqU})+@98* zECHJVb*8He-nu4zPND!9N%t{3=KRQsw~k3bIo54qyYywVybC$nU{OyvL9~h#E82)A zQ+1J374%z&Z{6L6-{@xVj*>I}#+=&;Jh2cU5-y=RJ1wAOhC2XW)WLi4tS3XilEQ7> z;!99bgnQYa>;Gq_WJZ`x?*ml%>N*LpZ~~zj=%%n+5U4#mJPMwg$vUUJNFN$Izy}$E zX;Ej5gmct}e-?Hkb(Gy04lHr6F5L{JSb<`Nc=eLD(3|5fkevEBzXy4TN)w1I8 z(cp2I%~?!7M)7omhgAT#PjMQ~T58lj&fMJ|TZ-p9(uVo<%N!fCn9}{_RhaGhiu~Dz z+*pGV?6$h1-C2li>!=YGN-1=U0j920h6dh{Ty&wFaGp8l0XH(xNZnpNUaLuARg3Q# z;yfBTxJ#H>ebCdD;bhiWfO?Qmb)R!I--Ot2bnq_v9cPB9rST|>hSfhXz0NssHm%s;xG!-#`2H3D?=vw_ zPj*Pj``h0mHY=To^t9Y#6QWB4<(w%Dmr!z+>2t?KcDa`>P6qpNd$UB*HjSM^KVpcT z;BKMui*cb4qpK?U(8spq4BmwH$_yRNwV=@9YMRj#GPw96rUT9gd%Q5m)NvMnv|r9n zwG1mIB1{2AU)sqNE8_X-Y~JUm73Nv&m4NHk@Lx-ccLL-cH^&F~zED>6XAS@;6I!0t zJc--J(XmQiN*nGOi8&~sfp5dt-6G@&9epxOM~rlN`^Um4#!$4K!Mc#a+W}B4T&hhM zOFg@*wpHRm2S7vc0GBrN8Sn9Q7mPLy^6{KW94n&y?VmMnO^QMsL}~BOe$ZU@y1RUM=&$-|^)n}3zD1dH(tAArAW-69wX z*a}eZfbAC@Npf)E7Ek}qC4fz#f{nR?R&B;W8a3^KjT8|Xw{-h9!MB)xH@ zLe+ytLX)ty8-?ZBHR*=`O7rfs&Z(76Qs^)(+a;U=C5H0P8Uu9YTxfM9Pju zU(#i`BJ`j?@A)&r5sN4eyd6|tX3&({$Fn0IZaj1Ovgtd0wDxb_3lf}v7+!0@=;*W3 zNrsNz1mYBvwAsE!79j)%>D+R*c`^f?Gl zX@}n{_A2t>jN2<_>1i_cqH*M_bbcjD8ooE{4H;M3*(XpR##@*h!3_dkN&V~YokIj? ziO+i*do1AAMryeMD+8lZIt0#G9T}Oj4BYkgcBksKdJ5rJnxOc$o}!hCl4RI8diE#r zPs~vYC$%{t%v0ZFze+|-9b)xx-6e(C#V1Jj7rm-0zzb{Iew>Nco&WHh;M{2fr%eu} z5y(6I2E%ZlXC7))XVsr0Bv&5r@3}BVP810NAkAxp*y-~pHCN*aPJ1fLk}?EZIA};x zArDtYHMK0?yZQAU4)Hy_AKNP`hm`U7h*q7mHL*`IPk@U+FkP%Gd>1e>iP7w{l;uOa zd)QUvD(gR|ba)A(1_o~iUvvdM7jTH=RW4^K>G{P(K4v^DVOJB)!~ca#w#n&Ai*M{J zKW(u8=b^2%dAGEj-gm&iDSkh?Q&$iaAX~NnuCoA9t=TeEaz1>i;F$R!6c$Rei~Nob zZhVuEP%%s04tfI`z^lO^mqs_7pIvlgnMj7^K%f;28;VLC{4C)+JmX|RIea#SCuKtu zV;RN?1;%j3x=Em7OvYIpRZq)Ukqo5gM-)Bk=!iG)qig&IS#|Obds~ET>jpYkodI*& z%=#@JeJ)Uks;2y+U;d~4(!oP5=@LoTvU#EI3UJ8~O~%=jxsh@>ISnN7(P@5>evgr$m(Mj7R4VGOB_!OL!g_jZbhW2=ocMkpEs>Z9D;b)iMO?4&UAi zo*+V+WcE|z?sB#2(dP>EbLMan(y~N42Z3-iAi+3URO?y8x0D8sY*trw>76WGETJS2 zY-*v02_wc(Hv&^?3;THl@$oiW#kEizmGDw6QQV@LBtD6)$zwSk4~t{5*j5Fo0Dz{P zQuxx%dN9g}L(!our}JNy|NbHrW7l0X0*KV9Y>-0GcK|zhXmoDDa<-JU)np!SXWq9T zi~;82*(Xo@T4T=HlZ;nD(RfpAz>Gmzm>PCWB=VGC>Dv3<+-Cn5=*VY~j6wIS(;BvE z*lkI9LxtaX$BDqd(2sj z+x@q-@bJN`P57*JgVcv5#mp(mHSG?EAcACuGm%RtGarsW>AVnr)-z$pY_-2`7BAQ$I+y!t=P z62bWe^E8yoq*O)HYm+3J_8Fh>kB~TjywTtB-W9S3P!-OgKm|n* zMmaric{X`of*|b3^TEHY&8xse@r0a#+zYcnPq-%L88Tc56^scu){pl)k^)Q)67K71 zSwg1j52x4K*yU>GOKjF;5u($&WS zS&>C!GAjUI{4y71+H1)m=eGv^j({im0_gj zw6IIg1Jc>#h0@wzcb3{Cx|NepSAf8rPJw|?Zlpw&UJcBv>%DTQZ9SS~IzSx%3T?dt zkG>JHJ9t3bUI!LD1D7Fm4RPJA^W5XrfVqXI7Ld*gm&(m%=-qfMSF~P^Bks({+m9D& zh;0n_kn0BN$UGNW*zIA$-9`7bT#G(;s((W!6QOk#GhfHcF)G{+8<6NAS~+(pw<92c5V(?NXUEv?;#a2na~*k?}y9EEdUVx*($16--13tj=k zr8pFxLWi$`?h1wTGJ?d6XMHssTQX&3wWfJ-6^D9;{(K@`%lD*7gN`Q1ZR>7G%kS`= zdS)P~RCd6NN#`|-hzZ9Q^3~9 zR0n5THc}}Bbkfq1%!jN&_Jc!735V!MCbxo`Pt<0;)prt?7YwgGRsAR zOa&ANZF~e1pnG}0mT}n+kLAk< zv4XC%xBg(s?Dk3tAzFnPDg_UYvvisd*P17k(8Z%RiMMlh2W&Poa<(+c0xKrTmA=dP z4yb%po*j4!Z3ZnB$Y8+i57efgq+{PSG*;vr_;)}XwHZ8%@xm-ii4@%WE*&1sy#0F% zG5P;)&1j1#xNlh+)P9d$_9pP(_LnmE(R!0?shX1Wt`ce}o%~p5GR=(H8<4Kc8@w0W ztScNTTvy=kP@+T9-oL$k6z@-q}oVy zQzmDa`5BhVWC@9vNaYBvv2WKRIG|kugD%BwkWW}5Shnnu2HV~$-M=??-maO={?9FP zKQuQ#pp^w6_!G^#06j>?O7U1)XPz_D5ly79U&LFhB!@1jMqmn$S6% zPOq}6Trv)p5XGjp*(T(u+-W)FB8Z!_OKk-j67epP9{Q+ysF;^5g6uacGXe*@@PLyU zF-!Vbe52B{&82-J1f@^}+J5qCL-VIbN_ldKmcXXcnT@s_Iz{2Le>c}9=(B@{MxzC9 znyL`NrC;$ctn!v6hVAU|M{h1~^qJNUZ!HT0k0eEC|nMXeZ=Yn%6I<&X$h+rDFvh@6tw!+Nhz3>Lqbt! z(~^?2-|0{_iPXo99APII{>_fqB!yrbS=Z`k%t4;&LUq`6**&C0=Tu{e%dlqg)%7Li zeD$6Ma-@&~xvG!c`S~iZCMblH<4zXnF?UrV2+4gF?wg!+IMo0+Vn{uu7Z2(lwe1R$ z3v(`ok>tS`@koTx+_=UDkd-{RIJk<{DOYj#5w#+JX0lOVrA z5S(Vh=?0Br$t)o3Gk^O|s zL9tWfB+W-i;Sg%l6#$?bZUBE|8+EfYG+0)uR5*mx(ZwzPG@fHc=n*dRH6GH2xrJ~G znQcoT=fPQK`NV9xfDb$6GzKOP8K3$;ml*r~VUF-1X-^o3<>K>4EF~Y-bX<9u4Rk%w zs^jR#u>xYiOhIJvy@st&pNBw@|GvNdqrEv?h@oedjG;HL%6?Eew?y-V!puWu~9r2U4d2Hj|o7|}9V4_-CB;=7arK#{>GF{AQH5;s0e(DQi? z(vOS?Z&;N&J`lbVJq_FuwkCp8<%eTz7km4W`1khut!nvRJ0C>fm|o30&B>bekg8wj zl<8sTs}M$7AwKS-r&ttQ6OlGGezxR1@MqXBV4>IOrWr^YjJi_cz`=sys$bHV)M}Ts z>{2O~Dm0X<@#?3$7<5$PtpM?d7$J}2xM?vt&@2yGAtTDnCf>Iw@(;cMtpxcTLqojV zqNx++DCt$yX{a-hlPq@6w#_Rllf&-W?&R!hGaV#|@*KU8_&^X?=C}?0ET#3Z(&}KD zSL_zM^_FBP4PxXk&p?4U1Ug_nIgmL|=sdFFgX`RpJzZAJ>mC`*=!8ZQ+N$YcieuVd z?L~%YB(nx&CrxGnGMga8swyX_hS_xkpFsbr7Sh%+vLO?Cr{1@zivw9|`HG_dnOBA4 zg?t6v`Pl}J)%dX-Q8ShXbY|3p^=v5}T%eXO`jdXqo?&2q$2%Z)u*y~&2yn6^xviLEzckVwB$I^$~mh@G1IIYzLY)qMUMKM3L2gm zcpjM!DL5B3{c9B@m|-wCr+kYpyPi$VD!dnC!KK;7dfJlw!5#_L(1xKk1Ij!dbT?PG z>xb3^dFIoKGCjfC4jGFvv zv!D#c1a9C^S!FnMP%13f>08F!BUn<$xC;msD8=X*Ty9`uf&mWh%uWV3K- zfM}R;?C5TPJxh4|B+_e$ZK)xbPzF|@?b3I&okeklr0A_fEhdC(v`pX>7U*>O>&0Ny z9x}lfc96PvD#;(N*DhHUGe!FYbT$|3A`4Rlz=vE?TpS3g=PhUR-X!-CRGvAsg1jA- zL6rtMB3$_j-D?!DAd`a+C=Vk9x8VtP@aVaYdQ!HAhYH?GDPo6t%2F0v->uP}Lr`Z1 z9h8gx>IGiC_kr;pZu9e*O9q*%_82*(*zEuh!NScU=8ezhc8}#5nbR>7>>H+4~O9)i!=5}EesyuFsG&ar{oztAa&ERoU zpMQ*cnTMf-%i+qI!0t%i^jMZ56vZlp{@_rPUOH5R;ld+GT~WKrAPnN4xbwS;2I1SS z7aB*3k$2lWa-=UwZ@lGqS|$3QdCV+0{Ch1`Y#K-n+65;C?p=7MuLBEp-W?Q%^u)jl zi>_6@Oeg9xP%5rZ1f>Gis-T~2Nou0t8z0jVQXV{b2uTL|ddsGIX}`W1CmtUSV$dmr zYLs0IIF1yKf7RerNQvvkivhV4>_d;ME?#~maOI&58od$xk_En7P1&o3S;lV^@)U+! zn(l$ktSZ298`V>wNxltHHZq!>oJ&TOGes9+2CpB2OzF72eq*P0ka;~k^fi8*fUbea zcP*9BHH1;gfs9E*kj^v%ciCKL%fd*OQw%y_VYEfr`;36iOfP@l<|q3AdFcuh09rl| z1Af~cgM&_c`r*L>&-gEWHsI%M4g%AA+<6fP&z}Q)Ze)j^PHawKV}o(5SXOXw;3wE^ zfB#)5u14)8x4Q(vwuyETD!3_X2)tboOC_v@2 zZV&{n$*nc%C0&a;iPPDe+jpY-t)=6p-(aU9+=A=`PN%6zUj|>09rh#+-WVpX$dFT$ z;T!}1M0TRz^G8}Va3&E1r^o5`Uaj*z&!jl3QI1FXft*_$=_`^}EIVEqQ4x+;{ED3Z zH#&vw`GTP|2detZ)$M9|H5ayOp_QwP=5*j^Q$(KtE60nvaP?$lQP40)fK5LT{k-wg z>;ymB#Cfv78%e^TL<$g?3}~4-MDpo$dLGLotRQT)x6cM1avEhRv0~YUE*A#Is-Yid zwJs{4tywxNBmH>h78MgUp9Ye_v(k(upi1kbQl13gnWSBcACBX9;tL*3_0w& z#Pzn#CM`}sG1DJIOUB%fl2d)9;}U=Qldo;cQb>mggbl}O8*Zn4l&Z+gySgv18J~Dx zCeqMYLJ=aaQ(Odp*u-B|Q^ffO*%mGowUo?hDyQD%dqHopN9ve6spE#8a@=3FD}ntn zwk3QifU4CTg3~!*K&HBgd=mXIFmutw-LD*M@W=yFRfPQ<|C5}>D*pI0 zcm&_^RXQ^c8VTL$`>!~bgo%KWLqJGK%;5P+6N1K}3Y=HCSIk7Xbox+Ms9 z27m~hA9zH>WM7fTNj|sE-hi16@g>~4cEZ4le03$m!wXbvN=!3YSK(x)%`WVPr-wa03;AdKP5(Dn2c8xT=PHR-52EGVWOudK@MV0?|U3IO5XX(wPle) z%LaJ7BT0E*?xR<|3D}M|f|6?Wq^gd}Rn36+kPwyz)w4gpB<`tD(%cSnOB^S*%48$% zJx0&DDc+rx$pWTZ6cWZ;74SbW=}^!pf6-19L2FPjm6y7&$T6@z1vq(UzYeT? zV6k&mgGqy&8^;Ooc9L1?o$U}ZJVsu0unaPIlB*=^u)Dij>Hs8C<5Z$ROrfcw(b~35 zszj++?`r@sKRQlE%T33ecu=@4(KKw7v=qS30&hVwV^(RbJk62U{;SeK#Ct7pW7-pe z4lh2pOPQ?MoU$pEguJE0jKsWqHBUEL2vycJy+FHDa#)6OQV5ALkvSt0m4ZN*bfNi} z=ruRwES5;ouEOBo*=y>=Q((HN8^M5Rh{@x_*ea)U{|X_~SNvCQv{{$geakwr_zY?Z zT7kj+(d(WKEir-30|B@Ovs1q8R>Hj8v0q2`6m{?GW zeCe`nIx*dZnn54$#c(d97{IIn?Phd_~iIQ#>8@Bxb zl-&!;Y?uaqC~V2Y{aY2Q-Y&m@=pVs8*w3pr|L5P@-!1E2i*IHD2QKr2lTCSuaw|8d zM&$PoQW8GbX2@5B&obzd=l<~RE=cE0VBG*EOJN&ozj&|Hsqq7rY}$07!Q13eb&`(= z&#SOW#n;f!8&W8H-WUnN7cU|nQVusWXRi?*ZHodeixn8E@!IY_Rmxw<&N;O|qcCek z=`E7V_()8LpZ5)} zwO9Fj)%rcg^}dci!TkR2c1Nod{8#w0#)JcmcvV7+17p8+I zQR1V`9LljG9VHY^fkYZDR#!FUErF3t(EB9Gn_e&rHN;sU_^9aVy)y-ohIlle1F44& z6KZvTQa`oz0V;F769o_+YXj|nL$3e~lnB3Qx{1{nh88IIn_1jZh=?2$9^?oQZ9^FsJ&BIR5|6y04|c_72MELv-a;Lj941_g=_`x@n&uV~k;kKo>1U}+kAA9m@Cj)36gz&yN1BLVlk5=G zva}k8K|@_yW%xC@C4{d(Tv7k}G{O1+(H|l1@n~k4Yi4vXC4|f{L96T-NALDbun@6% zYu`31U8|bzh-e!dPA@SqmA*?30-1erIPDyWf%S0EL`aI7Gz4g}@apz(4(+j!E1Sw} zb#6)khT;Z7f`v@o6n|@Q=`mXyxmM6c!GDB50(con0ADEoHGnJeCc7VPkc`~ceE9W! zKAoiFA}`|b>!YMyK_(1&E*+_1^k=oO7ecb~$qQlcujo+ z#NAjHA%-XezFNNMkCRT$Uh+f>vX~g=e2h{nhBB_ z;(t6i2$gJ3&36SoCX8}nYfloDlM7?JgB+dAPkgSu7C=ee$LHumFKVGQJV2U<0JP}x zZ6dPc<(JZm0K7uZ^TXM-rT_zEXE1{-{5+&T;=+$>yJwy9{02hYWecvA){zZdtI2ox z_E}jzHaQV8a5$|}!F1mtNyH637|z*rbsl;!^p`xEG*mq&MKz@y3U~<$#W1j+wucEI z;RY=j2~PYO5q8S(6JS~d$D&9NgAcskBTn0l-9g%viWT|CO`A^bcS`+|^u=Q&I-8QZ zZ__7uQb$d%UP@W45~3THMk0VP;8#>UJsO&@?nSN0S;jglJ$l~xY?eB1p?xFE7k=LVEYL;5u9$I(0KcstUM(lN`qCO3X4$V`#k!dnFT=A4Pik_zux zPZv}+SSq!SgM^@q%r~_kK05UdC(Zm%+kivv8}XDs>XgJkpNcjDN4Ft@^C7k4@b$Co zZNey?>r9d3e|vMKyybLGo}VN$MGGiw)^+GNK+xPV$Uh)z+@-UyXZ=m8%U&JXaPF`4J%bhU&c@0Psm4RaOv~l6_ziK zV{1>hG-AGGL#F55GPBD43a#jEKAxFvx#LLtQw}HzhPrRccq3eDqDVW zn)K5_+NbAnx?00J-;K4zk1pW35puKJ}*gx}8ZlN*zJkHXp zrT5~6`JIU#x!rVPNEy(pM&rB0-v(|>=6qJuvEvW$mD!-qmxA@1^c=_W8YbH~xPLYs zID2cn0~hT3l~@fh5I~Y7QwJr3Z+*Suv8cO)P|)H+cm$vcxNtVO^hsVzhsQ;30#MW( zY&U|!)9@$*2hPrwU+>x*4`o=UN}_ay=N^88aP4;qtDZ@4y<3XxA5p+Lf)jwJz(&}0j$gsj7`boY5;zje4t%I8_nohs=KgjHo z(TGk9N6JV80C`DRzX2Q%m?=C$XS%639V|Yrwa&!-sTwu)BK_qz6>UroC|`vEA>}}U z?`5bn2yjK{V;1i24oVM0=NZRw=Ri`s1b0|qB zSj0Je|9QNV=g*H&Qrua4O4i_`Ku0kJt4BcLtKu0btO^|fa>wL(Y5(ZP(QGQ~!ZF`8IurXB~)0mE}-$1^1eQA;FkAt00Y zo&w5)V?k*jxL4u`|50n67mGz)5Q{^NJF?k;?`MT@yWxetI+`X!OjiqqJ}8grmkldL zUpN(Kt#-GM_YSef3e#FjX@R~}o~A#kQ_w{=d1<{RKi=M66)F_7FwjO?k&rHdNPt*Q zuRIlR3kiE`Fb(AW2#lc17wJ*Bd?2#KHjYV4&uTjc>%a_*25pG^K#GG$M#n5kMt`pm zG+=J6HL1PnxvoscRp@M^lVA z1h9SmaX26o@C#!lIj)ZJ1ZxeEZ%*Zwj^Qb2k>uk%&leKO;1=v8OthS^R2-HisRv&vB zOZ+MjQ6MtZ}`@@@^T7ep0O$exoi^8s|%6bYYA-H%n9 zE}(|l2l4f6*CJo%kJaOi{+_3yvI`Eqox>u8Vs|pwfa|i4S6s(TlAT$zrqoPJO}uJA z6{1}~RD7%d%#UQZ_OYTl!ULs})YwZ*Z8Afa#oI%q2NZYzh@QrS$`D-!=o#@XyFmuu zWhS5DWTW*gV#BnfT^$-7XL24y^0YUeN<8AkVwUYi&odrEgMKhMG_a@ex%Ew-oVd%b!#azC{$6jEFr0fsh1$k9#n4&O1=0E^IczD@FxSS zy!8xXAbi?ns08y9IQ(%Z7Vv(VE3DibarxHTV_JL&~H5&yp1 z-sQz_w~sf?rMYP6&Y>g_X?0U=XbSdE{`A>F*Nn6#3i2R|GS+XmzeYC22nl$W<6nVA zk}%7(ijSeSr8uJFN9kzerk5yLSL}HL9JCd1yTF{=GYxb|e3SG}7Y#}51mZvY)t#?D-Fz!CjSb>cG)_zL33Nty-T-RHX<<(d z9KSAFP54iLw@2l1Q!3LOco?{IwW1N3hH+0Up}(@Aum{t_TaLamnPU)j>xQx^b?5ll zX066!P)qBRA`N&08fm0Xkwbk@po$%qpnZGxeg;R+4LcfEkWcMB9*PLyD=O9O=8UbK zk;U~(j>5*QeQ#DJ?R&wLCj1BFQXe2dpp=Vw5kg*G0OsB1?x|rY)$}9 zEexbNnaTJdW)yn-XWzEEv>+?N(7*d#-lJcK1@2vDN6MGLZ zJd8R*bUnTTU$hE<-0Emdr=DQRe9k<#`WEMg`DfY_wjXeq9u}?f&=AZ+jKXKkH(++t zQI2_tHE`j@!$)Jsr14oyObwi<5~2;y@N^3#0F0_aB%6Ve&wU&_;ZYEVO8#fb6}ZUc z&C>bJ=K1q$~9$|A(dh51EWSGfIyIVdPrqZh6HjzzNzyyB?el z9HMvyagww<)A(Q5*-vozashBx;%_Rg4Q$Erg26divIDlaM)3`VLo8mv{Xu~;c{CA% zOATKlnt=Tl%jnQfJMsiMR}6zxHwDlzfj#yTKCDr4Z)HNsvp^fytq0>5fl)!`_j14XwjA*+GLS zikvv_>o0R3T$KK+~_djkIu2UVS8 z;KDdZjc*58pOptvzF~2k_dHHi&d56Llic zNRyOJi4RA^`AQ@K!~}jEYLy&2#`l`9@BnH~fKnAR7@d*<((Dyc-=E7hJ^z+o`dPn! z$8Td$8psn6*Q)76A>&k#s0d@tQ%*C>=2F*_UqYIc;=)_#vr*M}XlZDK7~HYjCMA~I zE?@S;tGf#{w@{A$`2g)8Tzf1(D47XJ;9a7G2FFM8QZhU-kryy~^G<4(RMQ{0cfwH1 z=*==RSzw|Ou@I+0GRj3|mX{I4UO@8RYRkjb9OqV$F#4a~|0@PpqwHa#TvH*KVjM@NT+7+Jh0`XeHlK@jJ)Q}}?S z3E+a-*pW7%`6@n_XQu%xWhHLl&5p=tx!Qtl`%=B!sfTK|B4#5JV?F0+BT5JbnwW|N zWSG=v7*kMK7D4PO;!g5UYR}TGcsi^mK<3 zC}8t_#C?Ld!FoTt8#;Ji0Yy8yo;8&FoZo||<#ixl+3mi}rD*u-Z}u0j<5|+`@54Z5kUbsFgZ^~9FNypqG00Ntm~(P%$uea3 zCcKW*O~>oV;mN~8mebI=DGD_>z`})LK>+bOJlSpM#qM@B`22e3fpos%4+$iUgjv3x z&*;)pfAQdvIO2*U_*Jdxa7w+R!xL#dIlLrJ)Iq};hetr*mX3DJ$nUxSX!VfuA^yO* zoyGyu^D&Z`rLSz;?2zZ|=fH6`b3$e6U8ZKUSXw$tCHe+HdX>Wvkv^%sxzS{?M4X!f ztTz&hOqqYZ&g@bay1(C20RGW`4Q-w@cgp1l7Qj-k!bLOB>DhBz0+%cqIJ*}wlqsQb zylanm!fq`Nx+JN&Q0%6ooRS~S<;l7_g?I@(xL}lF$Cg?ay99%1;AaqA`wOG+!K%OieXpohfgshb38)@Z)H4nu`Q9Q?s zw6YT2g|46AIT+Sdf?nh3JrQ4iVaxL}Pp?&4-GBS(fAqv%Jp~{-dZ( zhX@!5AA;P~hHDACCIKB3ApA-~Phy zI=4}LH!y8P6b}p;ye$oU@Vh{)o~)N+8>M&SXLi)1_y>xYZcD%RXvRzC$+e-UlV3r1 zNIJx7FM2dDI0QoV%C{gNeU5PH67Cs%1De~y9kN5GV)j-LOw}g$v6wW}W31O`ps1%N zj1W@)X0HJpb%fua&29bXyN7$&aUMoWi2#O-zT@o&q|uNym^Gjl5VhXt-MkSdx)RyBU+1P(D85&DgvU^Ki%Z7sZ6V4b=4AAY_?b3r?E(Nb?-tq(PwWlA0p3b#p_V7$fR z`fdkO@wayU={-cK%;QN{Vy~lc2C*0dgBksVkW7rd`w*Lw9SQ~J1nG17p~x%)5KX?r z>FBazRV`Luths@b;n@Rj!VZPl7cz(W6yxjn0s4^yGyAT`GsP-2%yE~V*a9T4l1?B_ zU=!@u-Qc{hUs@IFEuTrZ(7Bwr}0h9O9UKuPchc>D%i51xe zNTT>-Xwj0h&j_KCRz%C1vurCGh;js@^I{GCLzz7Jld4783ZgTKEmGNCg40YUKr?rg z!YO=k9z@mM6*-M%4Z0b=pMHcVfr&GcuFJbS)iG{28+Io{x8Q(iYk`M&3f^ikw5$U4 zr5r?Z|N6FV5{#iDDuSOc6{(%e1;xQT{~kMNC%#w#hOc>$j@ zxLsb`)WaABoB(bGSgGTip9;F>o#EqhpdO^MCK6K@LqnK2U2YY%0QJnIpB9gII63cv zDiFE4jKE)M22lU;>ajE~t=*EAr9A#X;^cl2P(LdGCPXP}fC8c&1_-J`e0>rmH-x(X zSl*vJfDdAMa?09c_!I=zaG2Y28c;K0;^-On4um6+!qZX9da?mW3fBw`^c6&Ab_?9H zq<1}$4_NZI%0l$9l>DnN!BB+s-wmesCb^!*g*>mmEO26Ca2OlPXfAL5)Gv!<@pS5 zZYXZE4X%BBp3wYYJ1j{<+9vxSnBI;Z6bBnk=NT*%}pJ?`hV(2WD25vIBEsApH&(d3KpqC9M~Ygcj-*T+zu|Id=36>>rN~<=Twg7Xqk* z%LiEJxpjR=NqWY~M~YH70>XG`sgc(uDY?e^=$Gkn*M*P{Pz)2XJVw4GgVNCJJk&vsdXLPjh~&dspxGqxM>BRG81 zDLNg=l57J{?S1Gl9YO&sZI9>s0mbq z(3h+rAo}Fui*&+rX{3I@6aUy=ivyb=S=6}H;5LnbWne*2QSZimx}PJl23QYhYN3-4 z&&ifu$d#E@NaNu5_g@qWpFD#1VqoeZ;;EsrQSu?_`wuW4_lPX%O1Tq{z>x6fu9}Qr zZnj4L1w5y0DHlLn3L14V3|EA(Xk0(T&eK$2L5FDHwHY(245I_GNAnWsAiD%;85-hv z$I$cBnM;Sm37W|7Y(G+V0JURT6$?%eNLT!rc9(+gNcBIu%we>Vg0`$k?9hrynlXLV z(VddzItU_7`o$6doOV7H++o~ZuQ7f8-F^LZuh%9}p;M>9-ZzJEm2xCa9?Jq=#W;4F zOb97s=UIiT#`so`oi%%-w?NtE88lIN6-6A~q97wjX9@$4gq|bqBBQQD4eFnIE+3!J zlZ2Q(=y@!_?_;$~*7aE|09gyth&j*$PBNTjyWf7W)5+`2%zdN)=o}k2kETt9ktJ(L z*COqhaR@*EdBv_(X!Q7m1&mS~J<#M7%6M&g3NgdNOjk>{V1EO=s$Cq>8LJxDB)Fqy z1E(~2ne@eY0ayHMuL$GGd6Lzq%t1k!>=T{7_OpZP+kjy6x4xGB9uNCS=x~XX7V9(_ z?Fu|9ByS8z}Z^anJGPY1vDkP>HGMz`vG+D{Fk7 zq9WqW2Va-1zptXI3P@i5_?~{Ezb)@{2n@;|W?Xf!7NEUpyh9-YHGuRnoh$P@;kBpm zty1?VoQ6a_K1Q}zdvOp^0_gzSMeeMDj-G|>h_VHlwpTBMV2GkUIf z?EGmAw<%Z>C35*)F%UPgF|TY$wt~^IgGZEE)%eiu?(W0^~nPko3N%EJJ`Z zAO=9lSi(6>Dl1+*OLH3>k=FmK)UPD0udi=OsQkF46TNwTcepl24?H|9@xFvpJq6td#n=##z=z0fxQ!|a*B_l8R*tw4q9MNN1GgZ z`d?B439{4#0yH8+K@2@XGWC~;z+^cvHH;z5v>SD$_IIQtQ&FiPFp^L??heV=v-?^& zIeb7;g6J}m`my28H+GFQ!YAv3i3;mrGp{C~O66=4KBVu;X1$+<{)nu2|M~Wx%P+Cd zAuCp29-s*0Y{&aFO;s@&LCQqSGKp>2_Ut+BSU025K`klCs^{V+ub_3&Z&1tNE^aMf z{a_8q+0-HhMdiX`c9)QmdYrB3B;!9KW_Y|O#Wid67mZ+Oz;AL$N+HoCXES()3$lY; zUy{#<0)Sdvg?H!&(yjF{NZS`fLUm_VBCw0CCe<`XAtYRG3UCyK&RpH%jDS_r9 zdV~3q+2Qc*(zkR(Ii46ixg(kwcarVmL^^Tg~_AOy&F``qPc}&A5 z@y?{x1fC4?aH#LXdzz*1EwG~Q!q)>xfkYj}c>HMEIm6c*kf_6ePABh=kJ~FfOJa-< z{Dzl1qbCf_Z1JB{97Zw_v+Oes-RxG9?hA)+0z{(ewNM5G28Q&xFF4TPK!h+x9BW{h zSLwyWd<52Y`9TRBI>?!v<$OLN2@o%sd2kZKSR#o-HX{WE4#i3)Bz2EQga4Tni)MHU zM3QSDs&1D&XB=@>p=(j*oBo5WdZrDhq*tJg402rr1nEp%?vG&1Gc>mmIASNpG31Z* z)wMS5TjbpPcS$icy?Pa=|WL69Wod*oODG|*0TRBHu3fLARQz5nK6fMG~(FYx)-m!IR zt8PfGUSZieAsJFa&wK$uEE~y|`fBno3-fSk#KUvi9W0CelVN%P z0m}g1z+v|Ss6kW*y9vi_OWJAgdG^n29??#c0w;EPXJ8HWv}p3->BP4o`NdNV#~C~O zvr6N50*vEczKz7IC?29Iws$>mb}|2TPZ^GWEi9m*4pfMZ4-|#faVrk(iLC^EORUYF z%7yp)_?n6loM7Wbd_Fyn2a5vCZeN(uB#TsJ9H&U)!2gclx2Ru&N9j-ja0G- z2DBjngwbd|1-iu96Mx#n*vGLwc4AWZv&y6~s7&#HJP7wmCib~`Ep+^9fbZyApu1Ve z5k2W3A-H2{(-xA%W-EhdhE$W+V~R20`h$^dEDH0dL$Y8L#*xja3I_Gm#@_`%$F zYB+#+K`5M?hIRs-sZY(9)8$x9^w|I81AH3d10EUQ6XbCd;d zKSQGOa2~V(BNJ&#%Gqlw!ezKeaQnM@A3dj5d2H!SvO+a_MBmqa`2t20o zZiBtF&-!OjF(#aReU6I#Of7j}6@Ajab2I0FXo9vGI6L9X1F?Y&r9V(`n9QcUM0FC$->&7{g5+7I~jaDAUr{y;?LV=ITrKnHE6Lz(8Ps$g-$jKrD3u> zbranEB#%u7R0UY$5Vynn2{pN;`h}q;B3B}wM!%D-u#-(7Rd`d_9XBNCNW##OmR_E0 zIXYerq-V3-9I>D~TToR$4+Mn;bxLZESopA z5fGnm4Br3<-MKinc$vZII`NN69~{scQKdmP7?2Mq7&;w3qd`?RO}j->V*?EzuF8ul zL|4n5Tt!KvAh-bsE2#B&OF#5R3LZwV#8$y~z!_9>MMn+MZ&lJnn^^qdHJ^ZYb*G&+daU9Hh4gUxL6D2I zH8deOi7+cCjCQC^EQH4Pz1dcynyYf2NxIXn$*8nO8=Y}0QKN9IF!O24TyPrNff75kiKgP*)_+!qG$|(yI)U=|V3HiS8 zV4+0qx8@T>8gsGUjI=LV+-9HI%n^Uok+Vke3&Nr$Z5QZI`Wt6i3YOUaRw303GL%$r zC}qB3xBkxmj$leJF*0eL31*25Ru&c8f>ImSR#wc{5 zEixwAfm|yY4mSOAHKnaz;4ktx;%C+wAhsdNK|Fd&4ckf+cD@p%DngJceUohjS3wVjYB*dZ3l$cOXRg-NQX|LH(gdm*fUpM zLmI*?04ZpRQm2i>l%QcQNy&oBf{s6qw9kQYsjM_GN3*aC;EXaioVbGFQ98ksOP}(x zEP(Ng_5_cfkf)$cYaaq~8$_ii>7b`G$!=N;pj@*h=`XT}bT#_K9jXMqC2AW58;ouk z_=Vs!fv%f6UpJ_^yYvy%3)R>@EzbkHsLL#&H9*4xYL`vB_fg0A4P&UObq+QC1QC`A z;sMmY{NjOSurni=GDAH}c*8vVLqBof;_a7Y3;1Kmh7b#K`p3KJje8G$O6hOb+%Ax| zR{#Ys?S#(-_Xp~sZTfOYqnGh6eH4{uRa0^@(umxIflgbeJo}|xZe&$to;t$Q5N(iR zWZvm00m=e;)Msw^F8y2aCOP<0nnjC@{xnpTlFxL}s;(V2VN4dBd5D8T`~=#89`a~`0!qrxJwbWSCC(?cqLkZ2pPgHJz9NU z2AJSZU~KA>(`lQB0k!x^**UpyC=Pe2T6Z%NJD7U5wqTOhj{ElRo^C}%aA4z9OVXW3 z$L@~8c`_yLrj|X)m+|KQHj0iNqt)Hm6X1zt%*Zg0C$R=*u7>oE z=&$jwmGT)XQ-?oqVT}L{XztuR9Dc6k%@ue0n^3WX^n#{bl8NNTeDLoQ0|8oB$)uP- zW;B404=3`=t` z%tiEC))m2X7XQzrUVfW9!YMrNH!3<3^i3`K(P)j<-x0ky%w$8!_J9bnL_f<$I z5Jgy9gAM{m(ee?YxlpTvPARZ*P?;|=it}O}r*W*aFf)QUmMM^JF04U@(onPJ1cpyF zUZ}mIynIGm!oE0>QnO68EwFotnAW7Voh=K_G2Fdhw%5Et^ZNSXWwX4aKBh-bFG@Dz zYhyyt&+s<-A5R3z8qQn*1(ZJMRPpK4&IW86o68pWyZP?R_3GAiegL!Uw||EjT}R_t zAC^E&!fza6ke-9(wGX5_B*9Em{gck%*VLG!a=Jg#bv*2nj{>cz9A|H_<^%u0Q62q=;pB z5ugQX0m@gH`%A8lsK%U{x7rcmnE>DDw+-5=zK-v272pXfN9yVwL>eO}(x};)Ga)pw zLn({GP#oH3@(5U}-0SYCu3#j3)J|to6@SACh;&k(zTRoKdWwd{h49ujJ_h{?n~LVD z?iTL3v1;y*)KP)i+<{Ny5y8a*jaeck+j8)xkEqMT=g%@vn{~&AZ_MX#{%EO!z zcEals>GR1D7~sdlnl-pC$vASl5sQSW`H!;R&+j20hg`_iPN|C_D8Jz(hPE%>J_M0R z6i-G#4#GajcID0O=Nn|srNeH@0GvW7gwEF>)2GBoW@m<=C_W(}t=gL;@1}_wRC|U; zf&O&J3NlxWz4+)biMpB56$7^%l~&qy!=ClCC!{07FMqkZUC}CiaLe$|FWv0j+6qgJ zAe56J@h}X~tsvl#7^CMFawjmGN`HX9da1nnh%t2;9>>6AyrRoJ^-@sU1}89NPo6(& zadQqt*a0#)0n@j;C`LN0|I>6RaUps|pkk)O+17yjH=M6e>gVX;59C(S=%KVhG5`hC zWYAOCz8S3@3j$;rO{F&=-XRCGratHcoQ_3jMUwprU*&wM<8OlsNz9F9ISkkDnLrJ_)J;a{c-S2hc^CepQ~^4B*8!rkr4YZ%7@3XdA?{{j8nif^-xRE ztV%+0N|Lh-G50o74-?ZlzkZ}oG9>_6WGSK$=9Y=kAg2G!c{|}@+iqNM` zV=#}rfy!z_|7^TklkK027iW8|gZZaPq-~ty%b$%b%N6to<(gO;4Or;E>k5h|CHg|45Z zcQ*S)zx+@8#hokGm}NHt*(@y(pm~7%qY#gRslTEx9UPi^evmJ4JATN-qe#Ha1o<&L z3}3mDQ<8=ISqrc`Bn41}--av)2Q}s3aPJU^;UQ+#Kic)cBSfRpa6r5~lE%=M;OtK! zV4S4SeY9{D#k~vSX0R)eZIQc-mxem81;R%N zFeEdJ-`Ygrl^3BOMRaJYbLP!v89spH9wm2maOj)W4mshMjfE;f8G@t&WU?)Ue2Rm@ zP$|9RDNB5KBQsI^?>3p^-NOwAR0$gK__%i7d{<>B>V$bM)_i=-_!yz*&{rsi@5KvJ za|Br=@&5(|)m9LNpZ^u%+FDt!Y&9NC@#ve+m!P<*fzR;ZP_xd}RbsqRFccpu4-Mi9^lLs7z| zfDR5D1Vi`;4jkEz;KYw_7CCo-lL~TS01d)ODKnI9mP1+0%N7ejTGl6BA+#YkSU5X5 z+^n*=jKga*KV&QKM-y1GDeWO%px}F7NI@;xLzu0RiyRLBOnOGjF3{ChWkE@2MLWDZ zFy;)*MEEOvTynZ~CYguHraDBZtWsAIJPDVD1gvNXfkELzhf&g1B<}rRabbVGQ_5z5 z7c$d3q~K3}l61M=pGJ+F73Z4d&=G{%h(Cj_2p)Uz$PN_FU*3oFLk~N*mr5GLIrsBEdDE_5z&mzC)p{Uk$v%Qz<-LBbwFoH`uGr_ANSq6HJvUKvvkEL}7 zR9qAEpja@dG*uPSvwnHXL}Bh5ChdOviI=dPiOZl~xFYdN;S+-B3;L}|`go@ks~vej zp$ht0m#LZ3=G?#?Nx$+2rMzU}lT)06Q^jEuT#rMN3}L;YsCMMYuoLlicOR^#F28bqTNDV*fBb9J>X`#13Bx(GUC|7cK zM))r#f4kTogM$YQcoRv34VXfkp0D#+v)V%)zQ62%Nnr2=k?ewM2EtKN^?AG#iOM9= zvLEjMTgu@7yEP(`mz=(RLU|-l+Gh#kWp9Lh=Gg8pWn;&hbdDQHB?x>KUKI2I_Tsfa zjcxrGFL-$9H20j!!=vjUF4jFgDCU0MOp|9oVUVD-p&o-T=?n4cXj%B(TAJu`h{!OX zaU6Lu#|%eW4=RAsgC!!AMOzQuYkLZwBDSRDka&@z&}CcdmVg5!^O2h+#}aM!@S z0U(W{M?JXU`(Zkw}WtuGP9Z%;s3lw~s_BX^9_;#b{zL>p)xdA)gg4ttD z(_#nsq*{{4qB0onG^A-6C>sS7=;0a~rm8Qa4(zmz&RW@aq7GI{5%e-|fMEF2OT6$v z)-voAII*sEhD2W@CVLKH!QIk_60m~Yo^%YM+u;6#j;B%LD=3>#HDT2j#60jKbqh8r z*X|0zdulSuroO5VGtKG5M^m|h8Y~M}4Ui4y@SBUD;&TtbjLkyYS{t%nYKIk22D8-l z&dTG^u@~~%8SU@|N<0vr(Y+TQBIMT0eHmoXKcZbP`F2bmJc*5Z6*;&MA80h%fGPrv zt(puWwv4y>u379sl8-Xt4EA#Xb1Q6BJ@U~K`A!-URodZ$cq3xgfHI{h$f?UW3>VM6 z1>S=-2PnP2we|)|ZX>hwRU3*01eXUytfZC-a=Y;%vf~M&Jm`9mC&oPRE;MkcU?&hE zS+mK6OdCoO^Es)ve)}D>*da?rn?5B(l1hO5l(XyBz7<9?I5Z(Jfgx4D8t!Lz))dg; zM03-!W-o$q3qzhtqQHG%Fq4I$8Z0%)D^YTxD&A~hjax#z;!jq3(Znkw2X5x@ix3$r zoB8h1guJGRbTTSAN!(48Ie`f?eE+^7MOE!kRDcNYoqiEUJZIIx10#ZU`my0_e!PKJ z{=>pETE;Dkvj|;Y4k;!)fnmsJ=;eS;7566vkOIwsIF6R13ZJ;9`#>3AsUwLm?1mYP z^9ipS;8(t)I8MJPNkyNII)M@?SvFujF~^HU1|VQN%g5<8&GzV8`x(Va`|6ozml4$O z5YJOY%-al^PpI#L8e;5%}kelI+|B@ z%>Bx$HyEXGf?0FLKE*PLYpU?PFE##UH_S+RDVNshrh&o=b4Ov;nisU=>ZZxbm4Z%Y z7X#1fjh1L~i|f1Vb@>^VIx5kTp3%4KV%wBI{r!;hT6GPkzYj;*-2NImn;Nj8K}%38o9X*SZj3}c$lf2@#^{r5Tq1e z`G#(01?k{?jph*TEghrAkIV7DDa%r7HSBp{^9N7tyJ@Q3B*QVfm4FC~C%s()7Nl%X_3EymUf zGTreP3r(m#Ax{tS1la6i1D6!sQ0WvNd-}b`?@D!7+*txptUx-zcMK(|c}kXR17RVt zcK;1~I&|7JmjB*fspQmdi0`~eyJ)QW74@lloE)uq@l8^%OXJ!wB#)&%#c#E+u z(g<_4qK0 zN_#Z=9g>ucg+D2l@cpeG@7tkY25|%K_7Y_Qz`skH`I0wD(*2=TVb4(592!=fl(Dcd zELJ-gVwh?c@E}QFP!e;Ho4dCr!ajp*jyxkD6gPfKV@8rc_=;!}N_W1i1G)h{#( z#he5yBqnlCx?{4BYZKA8vkn=ZqB9^NRb7$j&;L80vWxejI-^}3nJH`B4G$CA)iz@U z+_tQZFy+Myqkvjoy*6;TP9&1`S2~msN|1Cw+t8MF_1H>c=kcnc?@^@x9{)gv!LnWo zlS7tmqpsmB+}`Zwuv7+`@_LJL`)taxFy7+u;ED0Y^TAc$3mOBgqLI~}O~kC6KDW{& zPP|Hcb>x*vUOMPQcB(^60o8!e1Vj z_l?;}dju5|hycmtd6l2WU z_2YK*4CVgS40KBd_Ogsa`vW{B80%5GI4(7^cpIFTlFr}$tMza!6AzZSG82IE7T}gC zRNpuo)A(v0>vs-($1XqKa$#F@7}u-S){+8gC5FBlG7Ds^(Re4^3wzXaz&=I#FIcNJ z3CZ2|nie?D!9Pdp<)c%{4AvyN@JA>FAS>ezPg>_OAX`vN!;{>87y-YJ4o$5Y?MOI| z^Ma0=Fm(5oo`k2)jJ%aah|chb8>1-zF-TRnT$KQYU|Z=wS=UuKw_PAgp^A=sd=9=G zSVowKE7%|qB#Bos`k*-qC|QIl6bLID=ko{HS}RVPkMt9Q#Z$(*nzF$Cz9GmpF|Ncf z_wQp97`&W4KD)lt&^dQ&K}EsXLwyY=>|o09?dq7>u3q0rh?#~w#hH?4?g@`SJuHz( zd$Iety&jMrFTpAlZ9yw0&h4fQ&ut!3um2ZKKq!df&I4hY!vQ=6n;EY0FUU&;wvea# zcHU#@On&}RKzq!Hg~=zPxcxBA|3u6H&ON>Z>S-ifoA6_@{|VcSxb>DR0s`2S8JXrv5@i6o!IEMRe5Sg$-bbnjf*#hB8p(K} z#r?7|(i*yDI87QU00Np1tDE8`RA3q}f%>>^i>x(`%m`e{Tj)-Qa7r#}SlwGgMk0^uX;#u-VGL72_^8$&dDMXY!7 z&;_e9UZXX$k6I{qcgxRWp@0y9IxlJ`Rfbk?cv|vM7Mq1AWKcf}TqRaOI;!AtxDJMC z`L5qoL5;E->NwK3BuoqKH#}QA$58%X>fUU*ZDiZlewlTxKt~X`^m0|5?X#*@Im*>U z>>CA0f;NB4lC~(h?EUorH|ER)6C~J3)tp$naZ?r&Kq7PIY{nb|(NpZDko!K9^8i8= z^6c<7&+Lg%ON90fc9{*yW^3?bhe=3}Du4c6@qbM`Km^FITKqd~`UGMihKtWExAI(k z8{iYWoN ztw?&(%8Nfb`VK?KVuaO?i`&zQMG|Ayo)}V!b6`Vj0XXrosY8dUu+4WgQ(WW;lHkNX zy#;Tea_<9~aLo1ZxFG-7aS2^~A^X%}T?)SnOTUHx!ZKAQ4a0*aCnHaS$K#|?Kj5SZ z>8Z@ozj}j^XJCo;@bAD6vFwmaU+Q5TOSB<`4Y>sLJYc5@f&AX3CwV7w_4MOHUVQsi zwkC-(dJF(Z9lhUhA;nSt!~?H|g8@5MQ-uL07Qe7B_B2g;X?urzAM|`8Rj{UPK^l+- z6r1f}ko~kCb}lI_K#ZooeNM>&Y&n@*AW_UX zQqiW#0SDSU7g!(n8DYetGY2Ly_f>~6~!5%nKW)6rE&N}j%0I2z&w zL-1hXfPRWv{ajF4GLSTh_^?M^wLq_uC(M`I56VH!D{?q>K^+0WKHRhRbYK8arB>z8 z|GCN4e3FZ5iTEp-`6a1BICSDGKHm|-Iq7>U)Ra8u!#Jm~1T}h}J?b|lTJQXB%|#Y@ zu?G?4f_^f?`;JePAB~}An-vxRv!_FkXdW(SOFb6p=J=k`Tig!7-K) ztnlc`-lBmw-d}N3q?-DUcUO6$`X-@9#ESg{f5M`Q1CcVsbgC=@L1^c>z|T|1wTK z`@b*fAKIA0kN?5Za?F}$&SsCDiSiA=EBYZDVztsA@oz=NO&ef{_CfT}fe&>(!o>bu zVfO{kFU1~vdgE}h4xx8EI6P4}^vv1v;Y+bz00qG6QGv>hw__nCXVHEX)w5F+{New7 z8~^wx$5SGAGUe-bxY=2YPOcw-afdTO+Nlo{XWPhYH0J~wW-{4hBpbk>B?k}dLk-oV zA+3eN6W{m^M3l@W=1T-ZtSG8Q$oKA6{jsWcioVV;AqbuUkEx`U zSTv(Bg7X6KfJ4llFm0+KNgnD&Y7dDdK8O+&>!TmFy)K$1eJ19++^ z&y2@sQ^sbaknSqoPB+$IBp?FTVyP5pc)HUtc#OhJqE`XRUJ$#A-txzXQ3P8r zsfTdd@Gio18W*nG7J=2lg+V3+@eEtgP-&eoU(ZMaO=XVWgvODfiK88`_A;j&yz1*g z555FL@FI1$0971r@q8;o zr@>s@f>b{uTIltMCqx3i{n9Osh{GUYhi<|+ z!>hj?(n!UwD82!Vsw@=1oNe1UtQm{e->nWGd-Bks^o#Z~*05M3wi|Bnw};gu%o4t3P5%$R9JyecJ?x!F z(LqG7|NKGK0IT{2I+hZwERsXC$E;d775v({uNyylnf0ryuv30^Jz93@OLr8>jde|v z2<2b$Jbt@V0Xw=rTVvLgN6+W&^LD+4d7!lL!>@Ns!Vkc+G7W-X_BS_ISHIkDyLJDX zKg*Fk?&c=$J7qSqF@Qz^kH*Ix4A*|u469>qe+xi{WS4qGt``Cfbq`<9x*J9TC!T^C zD#5TD+eZxAg6071Aq#%uLn6a@xN4uX*)SJ5WH_+HK~@8Oi`~>eN9{JWerKjMA+i7} z4n6sd$|mg$@fx2KHq0O%)ff@OJ9^|{THS1sz5W0WNC_Lrry+ZdS03;5P&Hd{%Dg4pjgoDVnKmSgrESoTc248g(1^UxRl!!Up$h#;*SsHu7`VV@`PxpbWmb$ndXvK|74OY zz3Kc@|M=lCH#pPvEi`7q@(3LaR;stv7pB zMqvrCclefw6vmsJ4iWxRPNz8?X@Enzc}wFY-sWz`t-c>1Lp-oZ6t)uA0|XgxI4IBo zN24UW?nF`Zvunzu@yeyPNV!NjLOCcUWSh)Sj?-FP{&k<1iezS!s8>Sd( z(%dU1D&c~F(ibQXE^8H^{rL_%_4$s3E%jpl>M+@F z2sGDr0r*ZX?src&H$UFHbZxQbFKUJfVlQ*ra0vyWj=)VD2Hx4>b6LM)X>k&^f>ofoA~L+0u)G`#Fb8MNi2C;^e!(_Jr6wIsv}9iTqOWB6@!C63 zNhw-2Y&K_?AyxybjvDglwGJIrW_0JE0=y(!vIg8)Viv-c`wr?TX>hQlMh73Kc?k1C zjEVH3?i-Rw7#iE9(>gg*CeW%(NC2zy zuGq|Kr5t_--wv1CrGIO&XOtFbNKb$ufSf)j`5GR_l6De+s6=X9<7=)q=XWB>WuPRq zMlJDg;!rP$rzAT}-DE}mq|yZ24B3f!NT$a6fJ`HyVP%GCpPtQ2LIag9ig0~^><(FS z{xF?Kmt`aQ^NC9JK1(1Ff~uUa*rX`9#esco%c34ll9qh_3t9ZqDJs_e2q#`JL33cz+CC_bvcJxJ%# zqh5G44kemu*>(`4K$rw%e;6t_CDTwIWGZ+tCZ^c>@d* z-0AqyyZ64#e`J~7l9mg_Kn@5NHtedjNTJO}D+O}Z$(U*E*RWQF-uOzgv3rkC*yGnFW>-l|aC7 zLk`25LS$hP$B&Umh{tOy+DOPTf%P4| zI+lSBvV+8`T@Lxj-4{=zn|us)@x0z zO|P|&_y41X0I>+}tH?G%ZH3#6_#?ZUu#&4qk~nc z*)Vg=7B1rb!shgWW(jU?T~XTiDrn`><;@2-M2*R?Ac4M@%}J76-4^twY&b&B?v)}VE#WI1~{UY=HSj0fOx z32dEn?(WSk;RzczT?@V$FN)`d4Y1`wI*BrJLEA*%g=dE2hR6r_GPS6u4eTDb+j4XJ zSd!dmuAT3Ly$90=Wz-rr2G-1QtvSFp^YX=Y2X-lQ0;LAb-Ovv1PF?*}o*g|V95EN@ zZSAA^f5E>TFm@LetT{t=uQZ!0cP2l*Wd`}YE7s!$XTq1s#(P!Ys|?chA-VqKn1 zqqS{`@w>p2C4qu@t59(PbnP>x4X`t&?ZCG^?{C#;sZXu0?Uo*+IX*B|G`}v0NBOKA zGK>ApdHSuL3I`KpzJP3{wLAe82K&mVtQUB>W;khSF8~P63k=+%3itcl>*@o61av_( zePIAv`2NfAIKCeUAWK{+<_Phy4nF4!dN=9?=?`7xgxb-%j#j&EG**bJjET(n3WG${98gYPA#4Y`!05uk6$wO?vv&g4sNW`hA$azwNzipns|2k;UWB{jSp523Iwn}FsPyA zGI(O@LAS*;@<|#Mnbv6O;FnX^_a7e)j*D{(JK6&F0(*(aUQxLp4S3oWOYv&7T<}Pg zEo*wu;pa%sDVEKEQJAKCUE_w5q=hD$lvliVqPe!nl}EewI=%czW13bVNt2;O@L&j- zbts+r?OU&3hqx(4SIcZ#(_gw4r;h*2dSg`#0tiOaMrUqY^76Zu#L4E+v}n9fc@|)6 z#f?0TRhi{bc+%QlDsAR37&L*y3x?mGBl8D?VQ-faUUL(ew~8EgB0Mk_W4Otl>$Ww@ zT_hpIU;*=x_>5XKkr!l~{i*B%E5oI!#A3&j{wwv`n>(0JpgkdSAgz@*(8bX?2N_OS zIqtuE?RxrXo76X<;dDu5lT^Ywr@JT&rY{>S=y_peLz|^>D9l-$B4*Ibub{BW*i=2< z-1t)Sv<`!}FyZc3{nmFMhuH0pxmrL^GEgvR(=8S~$d$n!sJL0;!scm#bFLn|$45mg zv>4FHkGvTP1yY}WVK`!Zb?eta^1=T4R2EM5fddQmIlmt6he@MP!3M6UjIWO?7jG25 z`#GAsiYHy*LXw`9kSlFh>32FBy*5KfqxF#maUwdh0d%62M6r-RhF4B;!d7YwOn_Hc z|GvBZ@BZNqCcwj2wKPF&5Eqd3ox{sgl8G$Os+L7YEKe`ua&Lh-U(+-g$0pMHz`y-+ zZ#R!v5c-{T@`b_`s<9wcfo4DwI&p{eJYYy|pd9shPGA%b$$N%JiXUT7FD17WKU3oL z2#B)HQI(`DIw!jq-)6${&R^eC6^jW@X9 zhwEV!M$0v^|G?{m#NvNv746OyZ23OEW_*nLEG(H$Rgf|yC0fKNXub<8=J~LLZb3^x zRl>~)Z(kfoH%)zuU5J4YkV&8bjDk`TkBCnO4~O4Aw1)UxM4AR7Hs$Nc+r_}`IfR7h zMN+OOM(o#UKEyfq6L|3Q_(LcZT>>>6gwQII3HWo6eX3@Z%=h3R9YZBj`)UB1%uvE6 zEZ=>o!4(7mXhia}wU#X37Uyvd2rQ%QwS>I%#h+^?GzWznoRL{g->n((zm%_Rq;p)U z;D@`AfxiQ~JMrcoyH8`;!pZjD6oaAXv)^AyAb4cB?7N1aefJf-jS+kMz}hA`cmi0^ zDH-H6PK7B*ThPqnz6OSOraFF**VYO>!p3hRG~8YB4!yK;OQFzt`G>@*?GS=ecRwQL zaU5-(Q}y&v^P%+<1sU4b7Dx`pivug7&0g$=|C!c}OH+dY_9>T8Km~w=Mpg1{<#kmn z$BqSzMp1;82Ml9x!K2;5-3qD%&{xgg&DI-c8_k{>g-zH55t~Z74b?sV~{%p>Qp1T^c0`)pCNI&^g`wLG9 zWs$Q1S*J-~&@2xekkfWaH7ogcs^9IS^#?WPK)xKIUM*z|y4_3@d=c;MC&x?pINU43 z;V*!{R0RO+8uEkPvPw&f0$|gv{Xo-E=-LMKf_5J0Eb1yP`8&HV&1X1qx%l=sH(Yt> zHrN;4hdZosWmp$hA?WD%@yB_-7XZH}1VkAjO1{8*3*$_9Z28<`2MI{%J^b4JS1qD6qICIXnu7c^u!{@xwte4wsJP z(ahkh_Halt1B1ny_Vb+0se6SPc!>-_jhaPIpGnQ+MT9HPo zOJM)wpFU-pYtYf8MYtP@WP~KZ{N%us0Z7@BGs|Iw=b4|_I(W#9f9RJVVcGRECM1qT zH(5zBudd^jo?+6q-s^820OtAZ4!vv-?cayZjU$fEY1UzrVYy5mLb2@W-~^ItdPxxF zTi|9x4sFl>cY09dB{=tIIseOf>xRH7Eo}!3HN6W>0O%t6IibWsn}WKc59mj&cYx>n z)b7EF&?+Yygrf)Dd)i{{N%A~(q`YXg>ua^P>)$`H`EluK!TwEul+z?2>k+s9IfXBH zZ8`BNy2=v)PHvABSh{U;4l^JFp~J~7-$NcKuo%Co7*5nh^AdkiN1E0&1f$U6FVH2U zS{Uv-c^b}jB9krTB9cOAJ}g!sE@%r67y03K8rD?_&2`;sG|DY)Jp_p&MZo#m0INGpE_Z2+5}KP&Ov7 zU^W4FCLd z9B~MC4j|>G!`q1CX!rz0cpS-%|@#!MtB3stUa(yEh)oc6REu*%~L9Y1{tC$u-N?4&#UY;54SQqDT9}4m-{5mhYS41q~ z-7Zm3&CpjN6&L4DFMBM5ng(rTYuNix1FU<@Se&syV5Qjz&YBfXK;3QN?fFK(`I0$W zJ(=*^uC8`|Tyh3HXNbrJEecb7vn0u+a60yLrt=%lq#X&046U_B=!N3H z#!_eu%3nQt0@w_xJ7+QSLF7p7b8s_2yh8MBOD>QUhPg|1RQ~;R^TPfD=}>{Uq%c#1 zm<~7k3-@G0`{7~;8v+yY1djDOK2>8%JxsH$*ZoK8Ad{P23dLBtMH%p&~<`oCO-aYi#t z=5+q%&I;g=vwa2s>GsT9B(aQdleuIf27)wl1dm|g$lX}-XG z@(Wq=E%6S27Oa$C7?{UF5NSr{dJTy~7&zaXNeI*DZ>2gLy6%lp%%A=mhJP3y%#34UW90e#m)S}uNzzpWK6K<7Xl z&GO?d4SJ|E0IxL3?qhk(Y{Hd zU}8vC*Wpkhk!r-XL>VNBCP?o;@7x6(5lGvQi@)T{5B)FJAkaLbX$Rqi#L7Ya(hE!; z6mAD-2K;@r2+7Lb(#a35@p1WKr|>~Vf~;p-!J^-QeonvXRO*Z#eDmgGpuV}edtY!{ zcugT&T@b5RRUL;Jt$ivSdHy54E=~^*x!)R!_RaebG*fSGKlBe95Q^{h2AEJ-U?``8 z;*CSO)$*7oZwXD1D~mpW0nZAPvZz>884&80x;vQu{kL%oHuSj+_~{|<;J*7DS#l~b z>mCHQs_?!h@&wDvK86VAUdaWDRd4P;*RLezlz44n_w7!4LnA6*Id#(8c>DrA;pVos zVKvWw;G30;2mXu#lw_M`NJP>6k-i~kNBf;g7h$>Zyah_UethD%xn6Jjn^nbcfsmuc zV?dG;xn3|lag?#l)EM7Sg~T2xc|&(-VM*%v7K)Ya5Be#xnf7NsCdK(4F8Os%yT$^& zO+QI=si8{`VWayyBx?LH){2BB%e81Yt|4Xdu})>fr}blb>lvks3JfW|+i{qX=N)xE z9lY%1>D&>@XC<}041hFzVY^p6<^k^^;K4d&E2x{QidLRsfR|(v=ZgxpIHm|37e|pl zigsZv2p@{rl5jpLVhe1K#0vZw%bpg%Fr-iVF(@n26#oUEpC@{P6FSB9?KI>`W6`Ae zx&A#0pp!H@J6@zU|CYWXEyl)djMKUGD_A)|ND;1xV`Mi!Lmk#VzS>o&Y8RnWdj;Va zHZ#<+iK=L!LIs074xlw3<`09QEX!l|Z^b&#LBLXFpNG*y=3u>aD1RQag+3jWojFuI)%f@uq9&VI0+RpFG$_S51A(KY<0gdJXix20w&qPyrZl{ zvI(@$pQVly+=B&)Uk))6956*Ad$HSA8Zk$xZ?YwTl=;9g$-;J&`AgV7fS`)y{EKkE}@ z3Uu?F5{x*7{FVOJHsR@%7cGw~h@_FE#ruxWWzd$q1d~F|hGWYpi5&O{KVoOyXq4+% z{*;ucaN~~p3x#9ECpT=@o9-*Ka&`5+{eEPPxpf^gjxcLNKeRNR)*u1tBTp9sS16O# zh>1mqIX{hJ0_5U3WE&JX;!hv7SITS`v!jwF6gWOnOVFq5pp&OKOn+ZN{x-a6l1>?# zkggwy{SR1#QrEy|X7Vh_(T72%2Wk+A@OfQZ^dYUQvgN^v#M=*=lV{YJ$lOD!&{Q+p zqnM+;c^sgz`}AFB!=8%bG;to<>9kRhwcBmfL}J6e&+FT}#PeJ(0S!RbMd||8=j6Im zb)__WG$(kVUoWS}mLg3ULC2l&IJO`2;)9(;*KnGza0x%OEmFWBy2(1PNO$^8!zE0C zpa}?Y@dw}Sc>`Qwx7mNwW{!g8ENv{!jlwWCHLSdZ+cS~VUHU5RKy{#XTQLMO+Ca1@ zv!_G6)PN$T1SSGeNkn}4-2SThe^iYCs2DWiDmUSU46pFFD;Y=;C^=WDU8oDb%lkfC zKzI_SHo$49Q0%kKL}Fz%p?dW5cHrk?K?TySj_flHemL&zs4%8hW=VmshGg~nZp%7Z z))ioan!IBUWHntUr*@6#9!NlOJwPx4NOM!5N z^DK`ed5C4iZU^%~5RvrGzU>}~Q*Lcb6+GWP<+aV1>pN{z+NMY{tR!I#D{1^DkF6;bq(tOqeu zxXa&H*3Zx;0u+fb708Bo`xg+apz%_R-2+m0*qp*^{LMPrL+>1f67)|rEDw@U@nI$% zN%E?9OOm#(rz5N`)S@60=H-e+y15Xo$0oLG@akhxWS=%(-OPty{gQH7D-Mq952RPv z9PY%&cJ~n$CuV_68eBxU%_Urx02z0e%9sOWnhfM*%sH~| zI5PY>-8j?nK(H}e&~w%xk!87;{s5faQM5>XTep$vx ze!i&$2HGQ|mqAGeVPPCc52CnbLS&_^Gu%(9LQvGp!v#c)2|rv~&r=%U$SWcgs|M>g z`b|qJdHWPnp#r4-c?YY|%H#ico0_5%t*(?My7@dl(w{6Gu>j97hu4Fm5A06iwZldU z24E*T6v#b{&f{6aLtFF_Eb(DH(r(^vQ=`DW%=at@`qp94mLIG@v(wvU;|+& zop~Vk@D|8$+D?-X=`|$JY8A67ZFNIK1^mSlG$ObGeh0cLq|}l-T?aU2#8sYaVnp0w{pRIVdzD128M+AgtnfKWqpghdRf+Y>Wm74vYsK1 zXQa&e3#2|MybLmxFG(PiUbuTui*Hm02~DRJ1$lw}A+rUA5$0&vY?XAZE9qMAm;%o( z)~@7~rC}uJbekOvc~WUHsMgYP3Y|p-TDL~CHhCzeMC>@7*=d>=bkGq|Dk`)?T6iTY z7yzNDyVKxgYw`vDD8MI}DCs1ppBDY=FpiygN(46thrORmo`fCq^v4rxUsZZ)i-bc< zwvY`bh*?Dk72;q>aidv}4_&yjXAQu!b&hyo#)Asdj)@tN17{F+n6Hjm$a`G8&({Pl-sYtnrMyHEo1m_wTc`*66)*>Z211}tg! znJ-|q&v7v!kGG{erdZvNN6DprDK30K`V&e>B{;D0Un#2l&af5D3k`YGNlF2NAUsvx z4D$Y*J!#ikQis!L4|YC5CIk^t+mdUdw{p=?vPy0(&-rjO1zVcBhy&!yw}zw*8ju8l*x-J|;f`0CnYhS#FS320^7Y4Fj2$(-DJWEz9TLuqMO?0m=H6)0K_G)mxn#lopMQV6`|Rrosbu!86GEQxOwGS zwarv9(NZIU&*X@b1(e&!trKaScmYLXbo#<4YwNb#>n%Z_|}zYi;JdzLCzC{a6%aBNAa&w?B2ie`m>zme*HwvQ}wzL1zHG zOmx!dun0Gc9+cwu_UGk2S+KtQ)NDUIfxh@%o;Yoph)(g41vTk-nH?8nIIT;J{Gv>7 z)D}TNphbaQm1TN%!yVlrb&GPWKaQ#`ObdW0fGW_^6qZrC*`0#_b+_$N9}r)wHhelS zC)N>)85E|Zcq&%c_*l|BLQkkqM~M+!EycmPB%^#jX5P8DIZpCp#hq~z`j9zU^5ArtKy^vRjX#@79(5u3 zs{ZB)yvpWoLXv#X#=Y8Z**BH|b!e-d)ERCrQcU_M-a`r$5O^#pL_%wn`%OnXcwq0a z6P`=(_8~AU31`Uh#7k@q$zDdetpk0U+(@miiB3i-Mrh=4_4xKP+?Zu}fTNg}N?DWE z&J_r9jXjoLpl(jDT@D#dyxyK>N>jdB!HLO%L5P47{gNcX`DWU9JcI!wZzZKL3yP$r*Aq>q4LG>W3`z=$jC8;UVC>v9J5dsvlr`ihA5 zkeef~j2#lG2jxzzjh8AnUFAC2dla$47@F(@QjI(ZA+hZxXkrw374%CWE=jd5;qy$c zB#J!LlsKDsgy5NM7h3_lH7n!G_!hSPa4sV~>G~98%NMjCA$|>4e;758;rmJFhT-Qs z<0D&gE*?7!4~zmlR_mN&g(@8w{V?`lTE3U!2Wt%0eRgz?m}OSepXA>?4?0jfNNm0i z`_4}|_2bD4LM7h|0J3^}(=GcCpv*4z6DTOm+b$!6PrF`xzF>4l@ZlZdXhBh|$LLU| z74A4JW#@{qw;87`Ply)$)VpFqo*BVgRJ}s*Yz03VJPN?@vT%dpI6RhgDsLDKC+S)g zG%}4SD`d2#t!8r)GTxQn0R{f_%?)Qd1+DPb@=O9 zyG&;q!3e#Ir0J;Y`shKA!d8pByYGzjOcW~Va`N{|9bQ7$ox|(@yyq|LZIvj_I;6D+ z4;b3OIenny6NmufV~m082YHMW_HLZS051>iq4XStwExEb_O1S+;7D@edZ1SAdd4B8 z4F<^;)PqR!VgKXf95*MSXYDWi9KmC=V{V}J^C`iBEqK(q)|W7S zuh?W_E~j>DZ)oe;2RZ^FfjJ&9FhR_^M7JP@!3TRP)e6qm`S&1jJkrU-k3*-q zN1MDx>T5l-c~3>B|@)6mXzk}D#PL{%bgpupo5J4Z>9(^iYjT}fMTd?d4W+{6mn zF%e1k``r?Tg6iYOTwYL9#DWbS&7!jpFEhF_Fxi*fotAk4t78TnGRCf7LLE_Kd_WcL z*7oxg|DJv%s{|2ihSVn-42v*gsMs8>O82YpK7qTVI7dUb0u7X;)aB#CSuDW$23)^)^MAT~wL2qZGBIbZL? zdU|@?+^7d!Nc(h2xal8<3xN;(WE^({HN_o)1I2RyAlHq186s-?{lc5H ztbk4g`8}>@8|Q$>9!htW9TO?1n>Q)SX};FKk!}7Y2ek!Hm9Nmak}xE|yxqF+;>ygF z&`Zx(4~D>y_Y(AtdgWejv7beSjf9kfNDWUjTVImTr)0T`!|!J~2d<2>ei$eVNa>NL zhw2p8_~dCd{f6Z{#^>Kj9)zZz!5;B%@LAKjfvtBR)UhPQDx@7HB9YtBd2vc*dl0t6agg6sVX@ate^r z)PyfmX$*G_KRu#PfJd7dqAM9sjqBKyq`sIE39-fN+$APw^;~KW3^re9PT`3LpFBLp z{_Y8cGr4+qjK@M^NoQ9n-En;euA+coh7?Zn<&Q12utI5%UqTiN$w@{C5-xQA$aYd* z1d%CoGzMx|33$`RLli6=c6z@vSSe)=f?PJ;-hz>kUcHq`@EpvjK_^)E4!aWOmXrd97$Jt!)RaF{GTxbyFaR z2n>)}c>g4xFs$+az1!T%pWPaG@$lJv2OqfixH&yGiR3%X{c!8-%#56m*-`uy`P-|j zU;Cvzg;WgJDfr}H$?&l`*si$kV%`dak81lK0_V`YnAVNI+6&ARX+H{<)RiEchjeK-MWVe@Y^KvK;3|f5IIM^mywOrJ z#BZUDmPV{TZ4R!a-GI5n3J6>QXrAU6XkP8EzM1{koXABK5-wKiDAfiCZiK65DJi224@&QsgERCkC@s0S>Ep9JtmzE(xoeqe?ur+oWQo;&^QRJfYZh@Y~Y`JRUn9o0Xy7e5%27>8oo*^Zc z&eKGXNpstM-n_@*ozIk6`kvVTCsF?C47H-`)zxv1q1Zw4%~$1EVh;(&IPVgL$5d#t zB=Zn%@UCd*Do79!IKLi!ox#3xsh)DB8r*r-&t7NE>RL3V)QS5y{E; zRnqUpj}UJ&4ftDAj97-8ehN78@rZ@df2c zg_huRi!@}@(2guhyt`bDuUUMe=i9h-Ni#gE^-3C5sMXmj8)fC5Q#U*Msp$8kNriu@mYBiiiXtw zK@HAESDi{or3D9)gVu*gGb^16>3uI9f!<~GrzkhHFcOSM2w=|E8CfjUi)EhLW?C3V zntwRt5Pr=UQ1_=#pp}w9xct@mZ+da$e~{qpp)RHkZ*&o{RI!)S^ynyW*hzPl;zncP7=KG`vMdPGOWRN+R0 zgrc^IiAyd&y(QBQI%paZyy-fLn@~4S#!#SCwbOypo+tgy=HXko+dP?0UYGhh z@Mkd|lewQx#mtQT@@yssMkw&UL{elxPG)O#xpSFwB8UFVUX#rEJ=geDrh~2Bl$6czraOv$VvM8A8hr1 z{Pfl{X+u#>jdVbK z%)!0J=y@GA@omc}dZKLA1a-wJV(h_FpSq9lQoaJ<9`a{ci5SbO;{SytP zm%?r+#Z}^*Jy$VRUMEpRa2hBNRwVCdKuOTn3GeZO&OBxTg1Y&PmfLv)Fm!j?p0>TS z{(nfN7evDrck~+eXXf_)SOmJK`dp(A+H8vPkRG;vcS1) z+AXi90!{S^5m}`~ArO6>zxLll4qF+_oW_g}RZwK2l9~Kl;SAK^z`{ag-oPL^Jcf#4 zdmcETDUcc;tsWZ$*?4Ulaxv|68bd(iuh4i9@yEWW1vxT=Qtr4jzVbmwgZ7%TqKAl7 z$voclRMyKhrhP->5W%f9?@{WJyX6l&VxtwRT6-&*bnCU#UCnWD#Y57C<_8kYgciKLhvRBZt%%_VfO0 zUKl+rxpn&+Abjwq3wi4l_%Z+Kym2h;&l~?quQ4-j9o__#2;>(PMH?Du;?);q&+?KM z0My_GmR)b;g_qE%;>eXSH~|n3&k+=d%_mTzHX)=>T@(BFG1xcx$pP={QoYo@*m$_- zaCh?R=?km&dbG;q81X&9_7T8XIA9!L$51g#nkn9F0lN<@-$+#T=;|fkWQ4=Y=UVVL zV6b#ZT2-`C9*+T9;7(HWT+N72*In|&r%Zn+#9|{FU?Am^?z$ChZG)X0Kp^{6|9KvG z{ud6;P{j$g5BmR6d!>D1yt86=RK(2Azj5p=SniE#N3i>%kO3nFwxesq)xJVzMp~cO zXe0PLhf^lv8KJ*do|Hit0@wgJHdYx!`6C4Amv0zzq5LrVrx>==<>5auX*HlK1&ISh zi9!UFus(2pyuB{3Twz4L9XFe;7A}(m2oUaK%G|WuCDU{2>+A#uTRLFB<5z!l?J(Wq*(usI>SfMRLciQP0 z@CsDygT$I7^MMr7xJN7D?lWC_AktwmgL9Vr^J=Aob@1&+qYu_@nUf!qtLWSG$Z!a^@|Kc?l+lC_!XO5TRJh_ zN^39f7MIfZMO5ZjqVSR|f`epp3dlM4F`gfaDP`5Qa(l7(@rgpv4N5I^f=62q1j_uI za(Sc1lQoT78-vG_l%v;?A{wGBz*k-fnUnj^O*bppLd@YhjV!%3?g~~m@jNSu?BR+wyq{zhCD+O^xvBW zn8SXn1B0QCAHBxTRz6lC0(yK*PyaE+Bev@$2?$-%6)Cr2i*O~TxsNi(?+KRuc zIJ|#vOic9a4*QRdOjDI>);}7{uq`6-L-$%S9)rAV60X<$JLZnykyasaAIWay2lL`n z_jMucsC>R6`$2yL_rYJ>Gt@}|&&C!jh)0N9s1TL=Q(`oJbY$3|;7f-cl{(-Ay#I=v z!L6jGZ=B45s|hyCRC<^<`XmUCq0h)fh8<>o?&$|#m@FVt z+;_L?1qHQ!cl+P`;SEUeeSgjTcEnz=9fLB4p0!y^EQf#9BBOg3GfsCmh0}ODTd1cq zY&C}bIVm>SIN1-?QW}=zihYe9T@IGn%$w~0#kYOwSB)x5Z0_ySX+Ox!fJ7Fv0zEY_ zVB5w#Psca$DW{DLHCYZ{P~T9ff>p5LeNHEEz+Pn9-WU+BfLZ}=%S@2{fE)0HfZ0)Bb^6aKxKfA@sd6oKD{ekuN{6X{xSD&i-%P}!n}?tO@D81t^8pl1;F0%-t0jR{H@F-jX%g)c`LSJ&El>yGhjSH zM!=t7rqGb;J5pm_q(?#&(@HjwI#QRuh#{gWn$Z4+5qK6)W=`h~9o{|aUnnw#LGx!N z(unpe6*GE7{PZUsF zHHLEpS)HkafeB-U@(LYli_rs{*h8Q_`D2fI*vURTHBZc)sW=oE;nDrgK1KhOXCtX! z(exzt#`H1AIbFi@`wi?=rA4?ge}6W$P|zYbBVdMm9x|v7d$6OZZHb8hT$ApX zpfMy<=|Z{4-cC!wRweBYxeRdM5eWJm{b!we^v;MTRH${}!{HSIl*K0WY@dYvR8sw4 z!}k^WH6l|-zySCGh^xoRMKcKti$15GhD7k}yPcc5bFpcMh$Xb_D20e}AB49Qe;8*W z(I_xF6mh9&hH-*ZmTu_Z4mY&9XG3mcuTigrPLc`{SQeU!5Ktc0{~(vTD+N=d1-=ci zk)S(|KYQLT7a=Ae4!f|j|LjEO*TZ({(31i_V^=h;1QX z(m+AnqFq!cODRoI(l4Q+*tPS{9TdofDDNR|QbQU2qM|~sd$8bb95C8G>(V#?Z4@_m zcORbseBN|c)+EhN_uB%Z&Jy;y^qJ&myhP#~z}=dXJ`7VM; zq0ZGSaJnAzdricU^t?C9^~j|n;Ud1xRe0zW1hfY?Pf$LGyDNwy2r9Pjgly(JlNPc+ zYmRfaE%eU_6i|u`_xdyT?Go~9DRPy(0(qgGT}c;16HmbAO*jfG$-VGgc&EV5idEb5 zTwS>SKg*_LwrDV>s1E<~s*O|NKG`&tw0T&Qtnq58B)3(fMFbaQ80*NA7(5X%n2BKc zX~GdPqZ@KxS`s0EoFiEb4+~WW5^3ne*=Gy%*Q0~|=#YC*Ji5G~`vNsVV-|@6A8^4iJ~YVStI8UJF12wG!1@Pbfn`>9QSdiAfaYn5{rQnU(xSf zg(tb7096G>k~V87EM?gAb`6<|ze(W4i_RqAMA2#*iN%pH#8>X#G6N`2NCw7`WUXXH zecjrqr)rqUQ5(|W@}vJ8g#Y3tHBp#k8^SBJc_8ta))^t4T6gr8(3ORDQFu3(NBCcVJk00L+?Gb&B@!E%hNR`@mPoK;bQeQtijkFTX5aFSmFLIycqZ|d4HWY$Q zp%Eh|+yq~h7CoddI%OBn@5f!NfHlHf&Q5e z9}?@ zt1rQAP`81L0Ok!~i530tI~Qv|dqrmG>HUDzMa4#ok0xQD_wllcgdvLqI$dG!JEL!> z-AQsxpg*A&qoF;qv7xPV_6-n*+g(ABE>N0nRx6UZD58WbMh^TWB$4ESAc-{+zUZBc z+CLkv_7BDxV2Pz;{Bn!yJli=(bLB*@?>=%%IsiI=u=I16nA|uw zTGZ}=j7d!+cXkOdyXVJY?W^$3d}2ngsW=51TP(l^bh|TdgM#nreP&}z6*0Y+LKCQy zrxP(zAZphE9F3?IwTDCuhl#}&64hDGDr{s;dKl~Ik2mh;R_9&7q#A7XpLcgRp1L{M z+eaKn5ylawBhJzSIE!!d{N{5VVVXI!tkR8cWV9+IH?P=RZ}~$mAheYa2F*GibB=g6A|q^5Sn={O zioIei3h8TyPOQNh^sgNl#b`862*W}n)9B-e#>$j33^)W8;W@w`cn)Z_OiVO+(>aqP zTv}fJ{QKQ+-Pd=0_W-Q$A+J7lU&OqAy#;Eq`N9iO3zN<*`yyW>NtXAMJg%L-S z-E3m(AkFSjiIm87ttub#G~@~Fz{Pr&EX+9^f!G^Z0OIh&aT^6m3X0r->LEKQD%72l z_tGY^EjUU1WE;Zjq5E4>8LAp*aCl3q2wOaua z%JayR14IZe$s4)?cw>R7X_cI*DPxTx^i443a1^o@*W0h3f?Bn3h;S|DE%iB={F9fw zXw?VqJNO1mHV>^^3%2dEN13iUAml|{2D!n4gNh1eva@x1Q@=9s$R1og=VH{2$WO`w_#3#qk_wN#*MD`2=5E4-oV}3DH@@mJjeJbrRR4GOb zR6uNC;1JPOi+W-D_2xji#oCt_;SWxkn{Pjo2;Q2xKO1R+v!YPC5}gL2Vi&N<`4SDud5_kE-6psr({Az+|8_6E1kVIM7HfM|kpzq5{volUTt-ukzYai# zEvK4wYp9#%a2<{&hy|KwNX>xyzkU2QZ+K(NYVf`gEx-jw+a!3i4qG{V1L>WGVnl5o z{X_0j-S0P0N?YdzmlHu2#R|w1jacpIa=h$VU}+Rtzk0-|IeD|}6;K&=`igjhoFx9U z-S_{YwhFihUIdxNs#o8;e|G!eN0v=(`~ zY5m^~3<3YWF;d)DWQcdlJI`*%jQJ3p>869$gv=6*{iQ#}h?mCzI)gjJ9J5mh&KYjCg~(lpFajH!-w-ji4v1AIdxhDDc&><*)l z^1$P!&0ItVq?PQ}gU8)WHu>4%=OhxcgfWhNy4`kbhoY|$8huMAek5bM(o5S!{M1`9 zF+{s10#@^Ng^DNO#yZ?R98(vX-qYSifeCKl(Sp-~99}ZBM>DQ5$f)rnp$cM#XRD?R zR|a;&@Mx*`^BpPCU;E{6&<_0j>6vK|(x*jDLI=8KN}uUBIJLO~Ji0AOg(7*1THJ~( zh=0JpNPsMw8yG%%usCQa_H;pnd-{oclK8bK#}-sAPHbf3DWLICU>3X<@L(+LVGmfZ zOLYfgyAo{MSooEWxanP5az=`ZvrNjn5@ro6*pFHDSL}nIZS|Ug8Kd|UU@zGh8cV4; zLAzZKLuzZCu0xMOSVWE)iVqFCKP_pF;e`Z3vAo&LEO4OKfdi={fe361LC*N&A-UiQ z>phtVXfBnnhBf2JJNgb~>K8{JyF7M7y92a^iV+Z}FOoN0 zZ<|m3BS)S|J)p_kkTiy%m!f3+IlnRAVZS>zWJJKHQG}MbF?6-Ahl6%G@smXh3)Ef0 zm)2+T$j)j}dp6mR-~m{j+AHh8*|7`+z%|sS5X06B%E>Swr#F#Vt-U@mbFJ(Bq|caG zI=xr0`_5qlu`M5B!49HHb$koLz-WNz_C!i(PFbQsJtREH*oC*k=Uyi8*oxm@4OEFp zDgaz>z_`GGkQjbGN+?1!Q6wQZq3G4-y*Db;`%y#qNN<^_vBJe8b?QUt-_N)@-wx-% z$kj0$E<u6Zf?!Fs_ly%dcLkIL~5-4y~1qHC~+JzC$dJxB^oM8ii4R{Js*;O zGOgJOp8HMcj3rVd*G4%JF<>BPa6yvxNS@H2v!VU#di_8~i599h>qvSd;ER|{{NYiO z_b_39D#G0Vwl!=~w7B7^L(&Cd()io%Z@7(fyG;OY5h_L`2Z3YqPUCUXQWHBFawOu4 znlx2SZKCJEoyA4rnYgeGjhY_C73NI20R2wviA*XU)1_t%(m8srSL9_0){D{0VcK{2 z>ru1~l8YW0_-z{~1G3TQndqe)d@Pt$;W@(tfaSDa=gCCcLGVJ(K$Z#U@i~INV1(hp zPu7b14`-H8nTLD|S~^?PLMB6vb8&rZUN6Ehz&bd870QuLw;|@~T*tBM2BY``P0ZYHCfxjgT5}& zA@rvn(gyRlB=SfCLU2X;lT09zKb?slphyPm)C^hz5*p+U{B2Xdhd# z^vUzimX9S8_xpo3 zWTn#EXfZ{4jQu|2*~8tF!#E+}riu@;ohYM9?ima5k&CFM=zlFKXg%qY9*ud2ZexZr z7*Aj`J61-)Qyf!+H(xGwmuNqQ;2S^^onKHC`{?=cCe1Q)wlgbEI75eh)IcG4p21{+ z5-gpCP^5|TJ>2lGE<(isk0esoqq0YwfC7Ac+su7yKg-Q$+n41XD1Ht@l2|g6b_aL^ zC7|Bu&#G7LdEz>NM#TT9se{U(Slq5lwV>_H>M>rNJiGgNefMzP-PXusMogaUEd_`BmptGI1i#$Hezs=>I@T%!%S9&aw>2;8!;q3UkH(8RFs()>gAd* z+G@?QGPMEP2_>_(W0r@w@UZ5EZTCjni!{``CJDOXFq0W#)_DU*s<^|&O5StTg zj|LeXi?Dl|P_4P+yh+o}SLG6Vf~){@9^Pc`1V{e;r?5J2NdfZ>pA*jktz2jDIndld zF)7?AG$8qnEEV}{_dUFtwnz@Xwx>x!hY@%2t87vvCtg7M2PqddP?+K3=))8$c?4Ye z;c=+9(S`^AhuF1X%mr8C3vH@2FD#&PK$-^T%XH0w9wHqe;^wfP%y>@Vt<4RbS1<7b z$H@B_w&%rX&@p&(or-@v5AaDKc+Cu@0cEjvD>0=H1*gDI_g{+gryf6$6Yr7X{oJx| zSP22aXf?zw#cIKF0J>GgY0>AA(^KprQihWkmhPYK%ytHkmw!WOqgE{v`cd} zdl&&<1t~P@+y5C(R+P;`1Grg%n6I}}7df-YvT6Lvy+~)^8Cd1OqDMCuz%b^fRt?oI zL`wU`iVpa7hD0=$Ki6P(XHUN_FZ z3xCX!iagUGE$}lbrX8inDAYZ%{?~AzH>k8zOJ!Y$XAB`O0os1LB&724LUvMkz97U5 z)SfeWfxr*cD2w>2?k%X9apW=h_p$(LKY3G#S-nOtKF9hF;ZGT=4fz%3z1>Hap@0H{i{m3}B z#fL6;;BL=ssd!oM&L5|Rli_5QT^x|6osx5dQhxl5v5bJwK%mSMrPq0FxjPJVc>ovl&Y%PwH@MU((6W?uziBG)+`-cGlqxa7% zPkyjugy>Xle@*?BHrhE1D~Ke7(c1)&Z@t~%5w<^0U`*UiiqQY(({HK^5j+F1aY=*6 zcRRM~LVh8C$;tBK{6b1QN2`GvC1*4jl4BaS4Blz&8w5+odQcdL3d3KaG z!tiP9(;pQ=$oE^tvjxc+WT|1rQ6Lyz$g`!BRomAaND!8(eLdj{0O;wEuAxtee)KrH zpAwd9IK!Ks3(Go6z$--t0oDwMf04%lQ+7cQSU%lv9I zcJ_~I5_@3G=^!PvGXL;op>BYrYMYb}_(9Jg!&^s-xy?ba`E3R}xnH=fhngjHP2gGK zHY1IM{AYR{M(u^ITJ0w7X1%@#x zi4+d=3>7%wT+*3G2#kV%yqnIi{RFU)(TC12ILsjCLfH$nP8Kf;ox*lL4K41kKWuJR z?;b%QUs`h{-4D>EU17BrM7{oT^4#~izyF_pdTBsv`+V~^;ZNEGX~u_g(HwUkYv0vS zG9)Y7smp+1e7IX}3qL`2zNAhdhRUk}3l@nT&>94rIV0JbiybqJ=;xn$B+l;G-8Sur zh1M0M9`LHr1mHsjTRi1G|NQXvC$CnVv^mZ$YUY6GiIoYE7209QMIogf?&Icw9|+aD z%pF#pz4Elsy5t;cTc~rWG$iv@vf%dPJ^qtTd?ahvJt+jRT`RreFhEoxu(hUxCMk}j z6KDSpRF?Gar%!jcj&pS38$z%6uK>+QU8?C|OtO8y%-qO`2PBUHiVv6sZeKfktFya% zjY15;nz;CB98M=Bt@H1zp01lpY}OsZ(bO4NK8>LZ-1o$XZuv{QO8iD@s6Kv(JF1_0 zfC_s6b|hP|VBmr~YSmyOk~|WpT>x9b$}~<6_*|cwxsao=$ByZ)BVXvv?ed22^V#@d zcOQy1I?OdqHc%`8X+awu2R(Vp({MmiMATrp|8?Ijm2JGaIlIVO`m3ojGK+b`S?%|_ z#G$C(13JF$KB2fnWN0l^C?HfQiGxUh`t1@6U zUk#WoX=R6 zW3$0(41H;^q~)|;qPrmMW%^NhpNBjr#l0cru8Mp|q@99ITu@eSVbvkw z28DBa`7wh!5=#ck3hgO?D1cE-mQ3X7$g(On!al&?h{=MGkoLDZ^x?bR?ul*NO?fSM zM;ZKBBnifg?SOVV9BmZE$ts7dpC27BV45S)hHe>9WgI6MK|6howKwJ5A~y}^)@c3d zOS=g?a7f_Z7K{e$9h*3gKg1^!C_9qv4K-#631>^1PLpZ*i^x?nd^1QOmJQu!^U)3c zJDdqC8&fcJcnW9#oTHG9+v0}BXMg@jLAQHF`xcsVM5c>4j!d@B>iwXuArid4zxy4F z@nM}UTADME>LX(nuXKZXqO`vTZq3<)j_n$C=WxHjrTR?Hw_7$eO5kiYUAVJ9@3A6S zUYJn<%@gRIdYHOB0L>RXPP?Gfcw*zS%@UALfnsVj#T1qyT6o1526eX zv>G`^Q0#d9$%wmEG9pfyD+7YMk{)MH)wx-+BWJV;jxK&~{2v-{0bznlAyWs%30P=< z9CLTTzyA>M@6D&X)dpR5oyfFIA}0*Bk*aL*fT^p>7LL) zfq_-@A!OUdBFf_9gN}rL!x{ioc-c^f3=Wy{6B_&K%7Xtxi|PLu^ZfeTVSpPUNFreo zM7_no?c)91jN)bgy|n*pcyEvl=E$JnKYA87nC>Zt^5mXBU?D-u)E$ntvt->P1XR(^ zVeDDKm%1QA4YMDlblqt^IG)%M=X>ZJ|3EV*zB$Ubgas=aVSQgc--<&!N6K;zGzc^W zhrNx{dga@WR+W+H`9}#v6#^iYy#?kEXp8W$-}Cq1)L#AYj=$^t|7|~397eI9)4zuN zviq!T0VL$v1{}Y*3H|^hu~P#|BpvIAi*z!wL1%OhPby_iNaGND+gYAdu+O}5+-HJB zV-aCaadS~5=VSUnqY&(mLH`#EdZyb2Ntac*Sfvk|F4dy;6UB%jC_>?@N|h|~^7eU6 zZx?;hbR~j)58pAV<_%CaK4<@aa|=jTfVB_kL*kZ8)RDiw?Y`dJb*sY}wjahw+ z|HYsv!MO#6LE}OJ)(<}~-q+5xgTh6&D_j)6)>uJx1!NVhNOTqt*P6XJ^@ZlDpOXia z8Ko5%T#9=AIv6t2Pwby0pY7PTY%TN3OJ;tS_U#uu^$GD4poUq?lx%`Bc! zxqaN+oNGGQ07K3usOJJ6 zToM&j9a`Zec9XSg*+O!P>Q>FOf4d;xFT`t(5~i~l=pkJzbc!z4-R@-%xG);>q1O+0 zcjk>!;-#p9+*id(5Uv{WtL+>Is1|SE6L7wfo&HIGK78Lvvq5Y|_WTQyoQ8yPE!hTe;Y0y724?IGGS+Ra~&>Kn?*Y} zr}%)@e3B&%XLAUF2wQy~8uvxr4D2r}mvI4=VRA0A2|M5V{Lu=2w_oX;5@>>6H`^ma zx@Nx^6o|s|5$MM2(&W{s4XilsXz`&DB^ihnz3WRXpg<9`CczuMU!>>yn^nPYx0|h6 zU7M2AfkL(XuQk%zyJ1ePr0{9F4(>~Od>TXz>e0o5@it1AGV$BSFo%#mmmhoe>%f*t zlbGN__>N_`=g2ALVF$8Du?0P^MhDcOh4mf{QXKO*zRxj_CHqXnDKgslKAZ;K21EM(=5Ep5 zTwVPi`~8)6sxAFkelQ~ye)ip0z?4QCOb=At)TpN}nIb6`k#z}A@fQbA`$)dC&LE;n zA{1Xhc1mY(ct|?sNG6OD@+JBBnJGrL*YIq8AWIL^2pH)(w6!ptkawUZ$7gz$SaBI^ zW=g-kJ1EfG6zZS$gFhA#gTqHfArjWiM*4hV@IZo-b{HMF#UW*HuuAz$Qd-=(78v<_ zX8MZG*`j0@cY{(N9A8#uHKj%Pk9Yf2TWz=9bNJ~*aq-x{f9O<<;O*CVuFC&Z^fe_H zno~UV6pITFCr0Gn`u%d0Z%NUVL+AlR6G30I7UIolTf&JL7$Qf$!&Ng0BI1K7#AXn_j@!ruB(9 zC`4Uz>c3A9*Lnr!=jFY6K-A3* z^IG?jph~Uv+Mh)1>2*FL&se0Y5wc>OLk&lNZBqx|IDd+AM1os>$NSla1 z%5y_DKlJ|}h+r;<-2yqvRf|i*9mC~;Gb31ap@qC(<?_6=E?Ap!PXl|O^La$r0T?NrHD1Y~C?hx| zpcQeqttd?bT#EB#2STV_)I(chK;#3{rSE{=2c{WfhGGtVL<2?&q=Vn@XepsIQrJCu zlyD$j#EEhCXJZq#GMs-(3$`|2q31T1jccTj@1EX&2p!o>0G;;il>$c|3P0c|_RT_x zIy^04%d4w>ZPK54yyy3cz)OTs(MqKknl8iLM&?Cpdz5#0YQE$XsHw>XPV8Gk=9J~j z5+b88ye;rFS#l_TgNa;yh9{+`0>hllJDLg_=u^p`)r&BUECmgkIDnpeZTW*|Uh@VY z-IK0E!nN>LFYyfe1tSdUjFM9e;siTe?BBpUK=Vc|s|bqULud+J9yC6xJ=4+MWe{9| zaYqF)Jee=oBZPbT_IJ{Aq3l(5TT&o6%xH&s&%qMhe^J+2MPG0i#vAhq9^~BgjysUY zF;5_*>))MgQa%LOF7To=(Qcw*gshdX$iU)c?u)|ISQ<(#pZ#N^#FqS65GbgSIhNzm z3#0{?Q-RJjJXML6Iab0Kx4r}WDW{O!K*D3mW5#RKATwAGLQGosGl)t6%)(M1@ACYT z07L*Qh^%K6#B<7T{I6d;JSQ8Aq%7K!R6 zdJMMJ^TYo8*_)NfLudC-w_kxv+_0*VAWIyO{v>Wi3!8fIp zyhV2e`DXs>wYdLzPn_6x$71Sy~I)Qr2k)jH#Q5PNE#r+rJ61i6plLL6g`t=a* zpgC_JW)!afu^JMjyO5vJ#|Q!RJdW?K76x@Fy-ukq7h=xKuuK#}nm#;QFe-WCWy}_j zP+=)+F;i3R*E0KYxqOlw@3;D^R`|b|)nDU5ofm!zP$S@wySa3;|QZPmcYnYS5Xv4 zp~k^+Qi?(4$#&0kJIf%iw&0iR_+Q(c`Q= z&@-`fGDS~|81m{W(5gtyNRy_`$RnfwT##D_#g}Jv2m0uGx540mlL2+}^k5V}{TH1R z#LPv36eTRxAOMq#V)H>N1H=2<;etcc;;GX9I#>5t`W`rYhl#hj*73%o1_%s5gAg*n zKY*~cUz)lMylsjGKPlWe=~Z6x4mQjnyP-6Wj7YdHQu4mO`(6K)Va#01Wb^-3Na>U`K7bzp z_C)Tr2oG?QSegYI-my0I8MF3Q&G2&n(dntUbf^Q8(5+lQJ zbm)JlKiRgdEEh(yVerh5CXp&a#{U;Yv|*~!u1lSZqreIxkBh0BS~yvVsraTGxp^4= z1$-|vI7ZZjK>t%t6(&5UyToRe#>vag?e{cVrZY7B5FuBrNVS&f5fa8s&#Dvlfu4#b zWg5T3uzkpHcDF>rgjPXEnM;66;GQvY&<7Xs67#RKot3s|EwzDXYGO`)uHDcwoQ$!$qaUA)CsHj054cli)w*9BVueQ zjjUJUMTQSvIO1jil)+}KbFGX7=$o6n_k8mY@aT|_P*6i=K8}(f#zuKY3hdvT1z3x1 zZjcHPfZJZ?*U0_Plah7n9qp<7(gXtv!zcb=wS`8zJi|r)1SIHNP^hRADVo_r+JV=s zLKmwUzzlR!%GDxdU~3>$z-_1K=T4Ln4{W^$aeFqMx)U)hMSY55XyAsGb~rclx120W zeg@vQ$FKL4oUi}!G+*G>^9v?&OCEziuk;^Q@-J36pB(w*AE^Du!7I1%&!L{)Q7$d# zGr?^M-io$I4khu2Aa|K*DQy2#p-tkSN&@U;1YoTUHykx_g_Go_`$|R!ke>a1vi`T{ zOfQfRBH;`-L_bHEJ9(!R_CFRc3KjT@d2j~Fpcf=>m zy3C%Uau(wsu4| z01-6BTKm#^H6`-P$K`#VA5Z45Yj^@kva|D{!wnbj?8Y8BQ0So^7p)!niAXRFl)V}m z*^cQ`aC$^Bj{@2sAPJ$q1m zq&Hc#5Tvhx|CBJL%=}GkQZK0QoV67l`~Wk!gsF-w$D@~IdmBSUxe{|(>Pc)> zgkZoY=;F}+s83fwT!()SGK>69yhqTx(Nal#IQegKRdmUbfY0~UqV#H>SF2Mx$_f%l@SQ+VSP@3HJ}sH;0$$w|9&kf@{k zlb9C0<|WlAMAdyZ6CA6(8hcIHDr(ro7U|pjgipHOWa`OecL4d3EFdjuBl`v%6JWLM z5eVuabB9}wmd)J{nh6VGIn2fumtTjV93%r>EgjWHTnylMc2(mCi+z(MCREb+-Tlqx z@h#`&L@o0dxbJB9)Jzjy%XyC42kcjL8(J=Y-a)TGBj=201QK+A zU^lrz<~7eIIfM^R@o?PiMS42bwJsx?BK(w9cYf`yTJPRb8qZavm=ZLsNN$pgYi^6oJ+iUp=2_c9E*e*a=AIemD+@0gpd%AAb)x(=UMwMDN0#afna|bE zZ1Xv4X9nZ-!1_b44vKNrl9H^_Z(lr6P1RNhv`CC2!I?Rd2Z&df2>gn@!+$!@(!luO zyhytN4>#!enV)}T2u2Id>l$Tbk)6jUIwW`4-aS1md$yach;?Y){|>F2pa1cl7T&pM z(~}ibRJFJ5g{N_d7OiQXeETUGc|@_4MF)n>vCSI zNg2b9Jx1MuF9e{IdNK|7v`|2b7v>}P%JJ?*NN9vGK*lNbYO+uAV2hs}<5yGT9Bt(_ z@NqPxnsN?%OZskO&Ub4R2UJy8S%>Z$;hmy-ZUAK+NNet?&u*$k-@&IS5DD3R~7FG z0+Iq-@^mBUVV)bT=AD5bfl^Q)+9GOjcS}O>LkGzqUgcSPhax-5T!>7N0YmQ0?-i2k zwz!mu@zS-jU;If~3q$LB=EYsmpZ53caIL%?{bO!~mnww&d35&4P>@{VUE$p8APi6D ze!;oY$$HuKz)!$Y;n&AYLq)?LEIIS}dw|FhlciQ?c!L2VH_*01`iSH*P<8sh7j%xA zd5C9wJl3l%3c|=J$M+>rzV)8YB{L9(-QAKeibfLHEkeaKW2EnTbUh9<_@IwDKPi1x zkI}7GJNFH_ukF|nfQu(o=XEB z3wwZ&2;OkKaLnrA2h0w~?tnZBfdT<7YosSYf}2Am(OAiN_4#wAj_1s(=}1nX;t6bcxIUn}q*cqu+WMlL z_>$&Lzg3v+RT>!wKA-TQtR!@WSQhb_Y~M_RU&cMGTu+7||#0nYI+>m_2R5Rh}7ZM1&2Z@3bs%o)IRaw{w4XULYC<2kEMz zzejzAvwZYaCwq!AGQ~4^D|$fc!Z+;97eQQ5Ev>v}FeFUP8d{8((m7P-rszvaHlF-v zw_R>FXEz;5TF8izhCzm786O~U=PC7QH#^`M+uWwsY{ERRVV`k{D_H&@TEqdto)+mc zWQ)jyYxw>8iDD@$Yz0i5q*|j$jR-oKjhN;LZB`|<20GL>3pT&4$n6c(9iA)b%i)3Vlj5S}3KU}{AO6sZ2HhOu$ys-6NI z?^INZl5ADR`LPm_QF^_~#?RvN3%&fH)6v@?4nenOo^RmnZD?Z?HWfJrD3hGw%EM4-yZ>=Vs%hwYrd4}0y~kiAR31I00b1(Hblpg zH@qww=8(FF%_t3qp(}*QCBxkVv^W~ls`rL4WMnNo|&%(eO^7Tf_R{Z~vC11Z+i_qWe60}Sr)At+MS+0`jd0fWKDGwic> zhGj>>(%(G!xG5IG*y!G&Z8%fsb~LJmi@og71Y0U$S%;T=P43UC3vogUu7KST_RRS% z!sottUk;6Zj$tcqLCoHW z;vS@;e)*4Qba7?n45!z5(|Y((eiJO!-7Sul*+?7&;i5#~2bFAMDg`XF(>}7!FDkzB zkfZox@Uy^CY}crhB#T?o)r`G*`;1}x*+6o6_P6jylS1Ij2DBO`Sme_~c!y9Ji~-C4b_=N#Nd*dnRYgAi3JCwbb4?U3Tw9I&}Z{=Z;cIJV9$j2yDRuBLpbKZNqO7p`PWr(>@AK<~GZ7^bkRyww5}ggE`grAv zS0)R<+$%CLyaD-DQMhr65^jq>oYE?JI!~6yJ<_EBKVBBgg+daRT>#Qxy;1Z{XIN&M z96VhtneqPuCjb!Jf~&NS<` z9dfHJ@Fqm*w+O_HgBNdTarDrW`<*&Ye_=7G5!YT(_!55nxB=X}4WXnd$DHPYcsDOa z?r4ixNNC8dzGM7C-&ACSS_-f{3-Izqr!3KU)laIC=D>szX7Aoq|6)!mkd=w_*HXoR+H&55PTk@*?uBT z^^%$04cUNov0YQEPC|R~_(@=5#(C6tkBVf7CyDWLEph6GO&n&#NXN+kU`Jna+9aE`^2oKsl1 zJkX;h0b3c$tJJH-*M0Fyzy?BHo}zck1K~DK2KMyij61h7%+1*wW4R^`Lu7diQx??$ z$%`xmAMlSWtoI!y4tEcE5q`@>4VE4sobnclYA^(AWVa|&0EW#m5!-@o?8F9rQ4nE_ zXT`_f26?g9M605WKyS#0`KxQ6S+ksn(iq21J|Kg8p_hk#Jev*33SK`xzBe5LtGj7(Kk*gKsr=sa z=fs0F_odODuna-+qV59b8vrGqo^AXr)LMEI^WwWlGGaD#N;%n;;0$FDfA2c%bB*G$ zCjIY+h{N04E%yA51PzPTWyLl6{EyF)Oi`o962P>-tGWsbae z{5FoGX0d>djL(NS8RGp#jY>A$VB5m4)tN$Y+u{Q4pWHCSwP9SIY;q3w-n$jDrGGIm0Ck`6~@ftx^^^9Q+uOjlhOxj8NQS{5bp#UawwUI z@={FfFU}SdvLu6>DB*PFR;@zkTC~3GkJc3X567jiKk4qD>N>2n7p^|gxXuj7c_}1^ zJ$1qT5c(1jT0SA|?dMmoBy9M$JG>b7WB}PsxoP`xb3?0>_aOc{F3e=Yj`_2DGP+Rl zQ~%QtNdzB0X+UWlnK)(@^ZTeEYVs5m3-P*q_JJ%-JmB$2{;CzZilIi{Jb?csTZ?5 z&=&fSR)7kyX=Z4J2%4+s12a#Y4Juatvx@DH7B0$X)M?&6J!Z9JzdmN7g~tSR^c2K1 z6q9C9CPSbY4}kpX(1-C%F3Q{%(&P(JfL>3?Fcm|GzH!HoI~W{%OEG|QCSK2hcVsb8Q>3u^ZC!xf|C z)TO4C1#xwMEkZ-K^>7AQf{M#S^cLTvF{*#$&b%XdxxSkgy#N8wsS%!d1IU2lAa+Ik zpE|O|&!eoLl`XM|v?F}pQ1V#)cuPpM(d8UG8>-hth)YBrNbVv$sO!BlmP`2oPn!=^ z@qWTw)QjMmkSArdCh5;d?vDo57EJS}mLKM_0Wyt~#|{E2@4fmna1Oki;w7NdD7_-t z)`MH~CG+yjQv%w!d=*sN6~13Ovh28n5HBVwGc(?#UW(ii){+f&-*GyfO{L5`7$$XFkE?Mad-pJv`~`Bn&Qr8D#tg%Yus@bvmlJAu(UX_Wu-n zv;tv>CK1rIRzfxDLZWMxm6`#{Rh^l_T!dygsv*5Z^Vcz}UUJActXtU7JNQ~9*bCIg z?}9y=V&*3#E;u*#E4lm<_95DiP}jXC zGKiK@U*jvpN544eu|O<3qq==r0aa}#P%B|}cW?}7a{)yBX z9o9Y0*Z^%|P=uc$YZG5!Gdw|qHy+9UnUCebGCve%74BM^pjHQRWO(X8i)OKjZz#*s zZ8DW-Le5IG7_L&^EFKl{6ct|hl@$YHX>rv8gJIhpJ5cs^3#^%-G4XHn1s>6(Th=wF0vz8ZZr&7E+$QqAoNvZ~K2Qd>)f< z@Pd*ItWb)UkKo6iDrAiQQNq%HN%&SAVyZkmkb_4 zwzS$a%A%QrAqQPUO$znDaM(3T$Vtb5cpr|0olgPjJzsw9(J=&-B#WWy1VTLElHqd7 z+3N8f)~}VBuyA?5&ko3!kRR$mTr{wcZTV*JnHI&EfTpPB@#?u5N+)Vcg$Wo?^sA@B zBVPxDT;4c05^+z6jd0HS?hcAmypjl;2Xq_!f4>8+fijwzUZ@U*$Z&%`D;2{@3j!m&2sJe_cmSRx!MmYM z34K+HS8d1}H>L!OBdlXz`}T0LPPgr)AwkHJ;Q240>qCl--wbnXSLjN7Ae2$581N^4 zYnEHQL{mPZv(w(OD^SZKaRoOnoP)_J#x7e1`(;81PBx!mCc*&uq%@{r_$2;k4<1?( z2L{mGex5y$>kd$cq9Q~bAod77d%0^SPH@T+(ENZtFN^J%<;2!l0@xr_b(@vHe!BZt z`*|RHEbYjK;mxz9X9p4*c&vvWZcqrk7U4CHNbvtQIP3t+D5g_dXx&RMfQnM$m78SL zPp9f+V4dv=jdlo+iF6C{^3eGIT&*glv&3gJ=o1>m)Y5MqPhS6>jw%KRHtxevM?+xbL=e#b($c*ds5hxc>~>!@A0)UgIN)xt1)g<4;cd%s3jZ* zBOyfI(@{x#`G={NCXO~5UK|Smod8duI~EpdLS=lCkp5lY|0X-3eB?LGtT=bLT~sH( z&0=d4sEfYjfC42uHpF{oHfk9QlIc*>FRAs8omG?LO3NC%?#=bPr5+&!tTs@J!)Fe! zuIRwRqq1e23krF&@79>0a^>YH(ne@TyS7@(8JRkgVfj_W#7nGnQK*GGH!X{MU#Iw08Lq!A`YKy6FL%aj2RzxX6fP1PxYnfQ>-#W9Ut$ zVOp$Az?Ivsg2QSJB|-SX!KhoRz!*4rgf@22<&#v!3apgOAMeLFdi#1gM1aNMspSq_ zhLdFpb1fB@$%{afl-e6GZa-nB-GCh!6gm)lp$dUZVUbb&mOM12lC18<;LK<#%)wyCq)vXEP<2*A z&q?y_x2q&v4LAfGGro9D!~jINtq3ijp?y7B35=1*S)*=v}bP1IzA6)FEh8Z4|yI0|s3R z8aL@jvLCZD=-C9~+&m8vRJIMGXF5l&)DIz}coSU_EghP|8$h$xvW?mQXgPEVd36gV z2Wup`nj#^IdOKf*k}hMPz}RV?wCm>->UvF+os~YrM8_C_^|@=5Un{EoxAd ze%x6(f*B&g`@EJjM>d$^H>x9E$gN=T690;c%!_k0tEy>M>PS|lf zs%+t0m^HE&oEQvt#nhv9V>`(7pziE+diCn3M=UzqMrmUCc$W3Z!|cIW_=Ri`Bp6lC z6bgor4EnK+I2L{38*CdQir@xCS`-G|uWau-RTFdE+J0mlt~6~>>KY(RfXD?=>MZTg z9|(z{)VC&&j1&n(l8abkX96>0qZJlwULzsf1MrER-lkg=iY) zczBVj8YRZqLVEd>HCI;;B)qw8TDa5gUpR=IFak1c0C5PHVNgM469&{>m}Jae3zIAG z!X>-cHWr#-aM^P@Y>~9`X46Qnh*HG3L!agvwa8ge*?Qes<&pQspNkAD@puntZ)JbT zG(+axl828U<3W-1Zm`mm!!Mah)sh2`foFayG2P`E0=maTK9U^7kcE8*H z=4^gy@swx^Eh@;CX{e<#7+u6;)<@Iz6u7;=KF^%dEvS=6zorBw&Jj^64GG70Z;;R9H&4hf^I?xruGeSJ5;>@i#Xho zYEl39eX&%p?H$eYjf8VZ<8E>8dpKqN(0qA78wNwr(#Rf@ctjS(+nHt0v*-%mx{kIZ zN-(qb0wwpLu{c*d#F63~3PbAgX3U- zVJ4=cjH00sof<;n5YtALun5H`dledJIlA12r(f`^GI%~7A3@fCMynKgEV>I59XJ_M z-oQwpG4z(T&Q$z^Yb&c|Br-m0xFS44-kXmvx}3;an5M*#BMufLUA!b@U4h}G*S0M` z{nNm7ld1aBYR*&TEWj^7==cB#?Yj6fJCwfg4uT^bQvaIc1A_S2;53O~H)vWRpk+4r zV(C}-jT>?F(sw05e@=GBfYToPrnCTG1Xe79O6W)>bAHU84vsCnyUL+S%A}}aF}5vd z_nmy`QZ96skt5Zgf?z7H7Nranm$c0`kB`LClB3BhmYy&n(5tqngIH-vMZ3>pu~?9L z0wV+)G{|~_l)mq68=P3NdAee4Gbz2)AT3E&vrSt`K{Y}70NviGe1KRt%*!2BL(pyG z3XX3-lWIb8h1bFuhXA1T3n)j9j|Y%;ayGg?fl`r&^M2%rp|uj16y!GyKS{TaP3h<& zVNF&!It?J_F)+ikr~Oihi~rMP+qFi6YnKRhfTkr7i@APF{8KFTrz7n8_ZVd-@P4+v zn3VdVL)2K_jnL6Oe_()7FDAlH0J7Ym3>`k^o1kA8iarkTK+=OftRxv?NpM-F6W}Mt zH!KVT@LV7aUSkEJ;1gaQFZ5}#ke{~-QZrPXN8s(+wt|wB3H3Eor*<(1s^YHc8ni_^ zm7LO#!1ZV|VRPr;d8#p?YFnaEL1h^=__kA;6kuc&I-{D2;Vja3`8jt(6ILSXnlGgdTT3yOK~7DAYy)&z~JmP zjDTrLRVN2VgR)|H)t`Ei9XfcRUNHk0baGHQkwJQkhm#s_do5!CE+bd2DBo4i^FU+o28 zhXRh}_U>9%cHbe6jY2FA0W_oG`Cw&NR=iRftb&WlNSGiuAjlz8Ay+r) z7Dt0JB|)WOZlilPVlvMryb<;|%3vjk1oT=7ZcW?9Q68}5ST7xBdCw^eB}?r7qjHRoaH6b<+DRd42oic3LY-tqhPn}!qJxm3B}dt zU4PvXP7@;wbVJzes1mMgNd3YOpE2H-*_Rpb;lep?=tsl+Z@@Q40L_=0_y6mkcH|?Y z4p05nb>D8G1h*2m3fTyhNE<4M+3n$@mu|WG5;;uuT0z9&>a!3&2sD-a{P16Tp%*_Y z9uNN(S=bJm@?;V&2<>J-I>jI@9ZRMN=4TNFuF%=R91cybk|cwfC&vIk6O+<5)8UW* zdgo<9vTGiF(69}Y78Mt!st|{zBZtPF9J>(^rq=FU2G(FOhod&`QM=0cBQGEb2bW$! zv}b_=V))J^Xfk(|Slmd^br~?sf|?;qikzODQMAD0C?xXh_dW3z!&JX~S;K3@qCk8>X38X7I z;bwv$kzWIH0kR_-uywRdaB;LrkKfueLyZnh)wMZd_Mt>@?Rtd=MCx(Ws`0K}jA{=O@1=#V>EmSe$qS(UXg}pUx zcc#sFddYzQ$-sm&ClrjMTR>Js!Yc3x=@%MpP^jk!1lFtXK0oyqBZT4afspd~Q35wb>>~*#LAPRZ*1y6_PIfkJxMmi`e6*=e()-|yBY9lN`v7l6GfEesaH^cE(kuLX$G3+%pz!R+mAb= z|oFA9(3^>KOdtk5G6UqPenE{eUOTV87=_4y(bRi~cV-8v>q1PB<72+O*HC8Oh5?`!%X9EQs#hs$*NJZbRn&VO1IVs-&1n2+{9N*NUhuqJ%in!H4928 zvnk==3Wk9+w(Vwt)7)h%*y^Yv^>r4w=R!0L8;C8pp|k+zG>k<1_GL<`YT;17dQ7uz zIDuHTM}j`H-2{#-p_5GNk9f7oC?5f@X2yr|*tZXx4`;&`8vq2NpSiQLtXKYw|2Hk5Bw_{!mCgycPU8>zg{9FBf`hA2 zC2UNiOLV0GlY`h~lKM&eNBe|~C4P3fWvtoolV^h9U;WPYCKeX0W~?&^u5nXov?>3#b8-&ZhNX)x!QI&K0{#8y$|44HCZa$iR#q8~B1-tCN!l00X2G^>Rr^(k$Fkgf3Uc-A_3_+9Pm% zsl14Sn&j3Xa#=tDgnb|;r2+=N&J+aK739DEgHda2e~ArJLhl5DJ6vExv?|tc95k@I z#}|GL&%n?8F8VmJ5@Q3?AmxDKX+rZg^u_jy-zn4TpDe$3&J6BQBj`p(uwNr{M=A`u zmh|ys%PQJP95ld5kc@`WWD_5B@Sn2CN8>j$*?cZjKq;`{XE3;g(L78L{z2LMv(^%P zbkH}#Pz!FMM|L`ye(a8YCz`*~RIuNn{AEqBy(n8>Vl21tdxWPia7`LTrGxS((kTQv z5k!Pvy^d|1LQQ;h4XlHB(yXmXF(wgM(o*2!A>Rn!H^X(rB@9?lwGez4bqz%R!9uX3 z0et#XmG8#g4Bs3Fw39(|BL5=hu{nL|$7fReAD}~&(k#bCO)XI}WHGB|hp6$^$R7dQ zLJ$~yA^SS~a45A1_x24w7n`&f8_di;(?5rxZD8{<;V@^Gb6PKMZ_zrgs%1tzC48#| zBm4$GQ<7E_82Z>tgPfv}3dk7*kv*ChvA3xQVdE4T$Pj=MRB18O>tjTv$Wbrh*M-X; zwY>O-!~i{jSx^O_q}?49I0r%Ya+AaL)(~PuycWdTxb!h+;M>Z*3?G{agDF_E*kEm= zuq$ja%BR^gQyZ=zM6&Geu7nm~P!Jr%8RJlvACbkkcpAwNHJllHfSSZC-;ZBl;!?>8 zkq!_mY?#pJndMx+BW-69S$Hu(9r5F;&Xb@BuIbVqtDP+aNa}c%~J*3 zD)>`qQ{uoE$q3aa{7H%}$ro705n>%8Ye0_SMV>q_SU&VJ`>^~F0^^urH4_ZBUoE%= zOppXao>TAu+#b%cq%-nPn)UPUnqBaiEo{tweZIf$SJ-{n;ZJ7xQSXfIbpiMXqC$|0 z<8;s68D3)qS`rciMgk5{YG~2vT*9PH4sCq+vXQ7MTp=ledk)YgKCg8H2%WC0z8Wd= z#mESqt^SI3g#}*>=WmSAVG&v!cZn!>2^|a>BI`_Q>&a{vDwKw!_I%&Hd471jn*lk^ z9-9P-q;W@;SGk4MEPU^!1R)B{*sPW6#mH90KvJ*LQ5ZxGurkr1VGV@kvnz8|venc> zF>gA2dsk2=M6#&qi3`Q&Lq($55DxK(+@D7-iG%AH)0@cAY9Z^E*hd)B6leLNeFQr4 zxZ^y1x4ZvO{?tF@<>A>iJDl1@*qj;Fi#2{@vV5#i++tq^JyzuLwD0KTz0JuU=hK9s&EdpDRa3XD>@aG>ID; zXL%ug!8kU4f+Z~vIJqC>Y5g5=`V_Hy;#AwP*g&&ynOZ`W;SJfLF|_=znlZ|jX zzG)5X_<{a%^8g0qSd`*2o8ghCwx(>2J_$8n2aa9z4M$>F}u6 z)CYsS46hFKSm7GRs(bZn2e-=NdtRbtCvV@r5|@FZZ|m z6^FzYeZ3Xw)!2?36h4K)lNn;JVa%vvN6HKtgu9_X2&}C0`RpOLKF^E-JYYTwT#a$edf)A2yy-UM^^tY{pO=WWE8L) zd^uhH>4kP+P(buvGQ2?bfpf>V*r}e@b-^;~gqI;ghDaoKg1{L>$uQRc#Pa}v05&d~ zUC^os%RRn&0)}=9h(OsqENUML%K~l@MNygpe^_z@3MG#2FTa3&_Tl&TUSIEi}Q ziX)MoMU=;S5}Z72nEe}(zp@)KXPc1g>>q^O%2o=kJ>TE^AFm#F?{7?$fFe7I9*|;a z@Jf=eJY~lxaXQj>Z~`!^D|CH`Tv+FjA-s?_ZDKHn)ixS=x`$mTH3s05sI9>*`OlO# zO`mR`ztDBfCF}kQ(Z7}|T?h%uV8w0*q~9rH;J^|ngB6eyHAi}c+iFu$fS*pvv9LK| z%rC?Dy5GG=e;3Zp^Pt}ubi|v##In92+OC{bEigb?kUokF;pOLl1EtG?vqiK%Kr7R6 zsjRp|VT9j@y#C{TwejWYP|~Jru8to0mu`vB{R~4LUVk?CIOw zjF`yQdQ$zEVL7HC4dtNMhFyyX@xprBO-choKQd2vSPg?mqOMXqDb_pc8qhy9$ zfj{)`Wh#Lks<7`Nsin#;eu7W)8PQ!reEq{mk#Hk%C&Q^jXi`LU1#GOi#N+WXMe=yM zg?poa|IiXfbwt$tgYw}TQ{=x%yKo6Zdt0Z?#N(iVzZD`?)I_Q1mDNjSUA66~wm@>7 zMEu^HCo&#{UwEKED+?WOmEID*4-e>kWy?GjPn-MIubcaKPn@wgh?cm9$(7Qg*m*n- zwNy(9Z4SSUjD0*tNrKQC6Uqxs*A5i7^)LlWu!;noJ6sC0!NCUo0(j*>!9ooW z>S&xI#pZK|4G*SvP)5rLZ5sqgXtArcxK3Ilu*}y`a-k1`_8yd!X=~{@mzNf-x+2zv z%?NV`xY1kNaC|MLYiMQwNLoWO8=Kg_=<|={)c_3reYd6pl8QDVLoF|O^~~O<8QMVK z1hqYKX;=;ZUA76aYP}kKKkt91N);YOt%JHV;FepCtyOrmN|1^k<^7qI-Qghb72L3? zyp(F0l?{q~U4`+!ij8`p4J!gh$b%dGgw4rL5ewWXp=irs{+53eK;N;P;w7em+4cnC z(0i)D7UUGi4t)>GRrcmDOSlhDnas>Pa`jf;te3`A`vQX>F(g>Zsm_U`rdc%OVj0+x z#8~|Bul%17GZl{5!ax|Wd$Mz z`n&k9)8|r_trCdOiD|zzB9REhmVZ0e7he1r%Vt1s7Yl3_(a&CO(0J=mA0lPNp>_+B z8-`-T9b?|DNK^t2>6Y<(!r`OLA3^;zicJN<$IJN+*9%f=t<-KXonzxZSo4MJ*u4*?DgP zjpOygKf!GjKP6uJ(<;~?R{Va)NHOs3!`a4xnQ_@s;llk=gRk++<&Rd)tmQ`mhT`x6 z^O$Z6JNiAEJs$lb_FvtBDs)`;`>587NE*?9(1qZosb{zD>Dw_AvW4sfR2-jnN=WxW z(Z%^8IpDgCUt){*nB9-j_hp{^#arSl>?C&L#jo>{Ua#n7NDyxTVaA1*0Y({yB*}IT z=j2b%Pxql#Yf_Lid$E@Qh_^N35NP-Gq)x_*{TR$>Oq~O$gyIkb6mbZpU4{uABAm6C zo>uRy{7pe(KdVCsj(sP_Mz#YPOqh!)XRKmV zetYuqGd6gWZCTwgb-_2@V?6tgu_-$FZbE_g?Pg~=`=;A2z|)a2ZvhZ&^Kk^__!mcb z{YK+}lO|lCuo#fWhDsEs#;lvPgpn2Uq{B{gKN92oP{2<)(-_8--Ol-x3i?55MzDhY z3~-UE`OxE+$CcoB=Ce^(gXEXmo#e|+K^UR%rw@1C3!+;1I+i2s3;0j2&wsaJx%o)ua@lQe67huGz^%zoKp*$LQFN&Fx*f7DWvi&!yx51)(0PgHB(@A~cs{ZVr? zDTPcp{yK~V#9`1H!FY+Uh!<1c5};R@FUpy*8i-7CT9rk=fX|~$2h>qnHF&IuQ8!=+ z<(rmE3tk|#V|h)8T0E-AnfioOVGan?9~l}$rcIgt1Z-o6( zLsVX$%6UIO0;Bzr|7wy>R+GkJK$uU4hu(^^X?RdaoxHqA`GagJ77^z=npd$qaisSt z6>si|<>07-(t3g)7*Xq6)Mc=Q?X(&r)y_r)+JtaA;Kv&HW^CFAoQaBMdir$-m2Xk; zmup(TgPCLZ9%?eUbnIVnK(;H`btl}N*l)U>Z2VI0|EPLo*@9#XnMry` zHm4s8gmYP`^H#2S*MIbKbnp_yj*$W(ZUw3LIK`M`A&cg~;o;WVvwYK=COrZ}0F*#L zJg}IU83Ju;Rwz9L#VX;y*Z~{F7-*ZT21{~XP?(7gj5_m8*~A9?csO~3XXSfx+gB}? z!xIAR3ZPKoz_ml=0H8}`C44Y^Lb=G7+#FZB(D#nYX=yxP8R*hsK3=sTbGd2J9qGL_ z@7UK$x<~Ya?i>0K(<@?UDsv?c9N*Y@F<5d(?9-;&0d;udcnw|p!*B5jRl;o>&ZaYP zr2YPMB|a3oVDdBtdR7!g)UgXk+?&iSe%}>mT^sfp{NWHUvR+Y19vA9hYI2lD&6MSq zeLN70JTko+9SFa&6=eY{xT|9eNAHmr>Rkmz3B3k({TuyCDWpJ3DghS zS!()XW5aScR3zU+H7+6;TmT@DVd+mc#p$3(!D+zb5M5E_NPs%WzK@T8Q#JF|L!xN4 zppK?Ng&3i5RNq4HQzYg=Of;Q|y|a!bALt~Q9KOx66&v8KxMt9T`p~3D^^+w?g=Zut zM4<@ij>pH75RJWj5Cww(0s-zw1TVh9rYMb*2I=qNh)(wUi{w#-@YXkatd--AZxm;p z29QKO8OAvM0bw|2!=+4r-|s%E!2)J`Ed?UAI36JX2oj>pm{_4WF@d}<=dchNl%l;c zf)GQ#AXPZ#aWz1Ca|n0?*&zZm@YQ9Ddm=IeV_m(3Tvg>kC@w)Am%QG`@=OIm07Amy zfbB;Gfs|5!hz&N;a1I@Fc}Lg>o2qRQm_(d%u?D{xS_xSI-6uFjAxSfXgP1)TpunRB zvq89=Ld@7=D4P%WvSs=OwYE(EkHf{B*bvFeNg*<_u1pu2$<%~eh?5!3N`!G*#J)M_ zkT~+eNKr}yOV-r`*3|GPm7xInPq$j)aO{^8z!OYi%ogk#RbW8kl6Ax70lwV18XwS| zqo{>$L6ito8j2n+LTq$@AQYt7mL4J{Km5LX5>@{5jO6v~FjHi(Tvy=235jKSoH!fc zlhy`~r{yWNqo}B%01`#69%nN4&aJFC{+^xZzBTEf5t?*9oCEqG=b+mZ)ae0N4ukb_ z*Ph}LYMhZMD@gbZ?Wlj+pwm+C$_f%C-$%I=wg?}I+&npZtZqt|Avp7H1Za~U3KE-EPtK@ox-v0bw-V!CF!{X~RLe?_HYpmMrKaSTV9&TdFSsE?U0rvugD zw{;os%N5yHvYb%qQDPb%)Voh*IaNazsO|6vO~FZz?+rK}=l6h^ z<-b4Y*}BW5s&&du{mw2yS&dg8d^JlxctdOe z)&m6Lrk~_nmV@ZkD~e>*%&*S#gxh%Xsy{$u;zuqD<_TAua;(Ylau&@}w^X=@oI(v5 zH%iOHBS&poJSx$Vp+92I_+T%D`{6ih?f=cVx-fK_s+Y&q^%Qo4vzrB4B__D$IWAH)N){vZg$>&EA0D=;xfX7Ee-`9f{5E~0%l(>Z4z_ZKJ zpd;@-JU>Zc<q2=1$kUnl;4yBrLJZ+7BqZAq- ztFFYFbR{qKDu5^1zd0c`j8k~i!TOK4(nZ!Oi`K%l6b6ZZ=4vf0Bo|J@@KdvoFmY^i z-(Ie-`}ghU^W_3pa9?xalClxm|2p<`rn+-UrN!pAT}K+=@v$|*38cqYCDBA!bxvn z41Wd~`J3|wzU5#s*!zWhzTZ&Mx03O>q)cd?^z=AF$Rd)S5sWO9ifq7>LPP=se$q^E zdF{uGJ;0GwqeR+&rXXM3w7(%aAp(*FaL;kK1$j|Ymer$i33sWDXQ&jgjs7XQd|K{JK=sPQ5y&_IrFTkIxVO_gcKbK zIkN0y)u-C$kF-xRcPZ`WA_FKB+qW^q#4E6v`5F9-8f*x<254wC@pE2&3=m!8WCMl@ z-~owt{}#P#Vk)1Z!b5VM1m=cdG$c&Rq!F|8%bWX~P4$V@NylRX+XF?;b%L%Rr5mJE zE3w~($0M%OtxZr&E%mX%(6rq85mOVV0vHCP8Zn*T!0^|Q-(dYAMRv$u0=GU=5i1;C z5bL2Er?YxDVoEq%I7PXB zZFU{}^YDK7YCjuRCRfFLgPt$pG$X-iix<-+$yQl5j8qU7S77BQ8ggU-`wziiMS2H+ zK$v8zdj4C4srvmpev4CY?uP9k@Qke94w*WD10?N;-Na6$am2LPi%D0#*OB@5u|9Au zNJUU`yX?`=Ab1r%)6S9eLEH-|1L4D5p&E>4D7Me!6=Q7Le|P2kS~o4i-;#J+l#>U} z-)x|$&@mL#PthZ15{|EUq0Znu3SLFmxH2ZJ{2kv2qEt191;; z){!F6(?M?e?1F`ufd4~Gc}plFHWyf4Pm=rWMV2d&7U+9#QD&=$cGN9riCa1)iCL)d zvv+srE7(g;JMfb&mEy(F;!$7Jy{EkT6A_JvHCI_>6h9-9kqFg2u}3lsq+4`09!%JcAG zQcQ)lj6Ve)(qH~fkf}3ScLKzHR>I@A71?9@<$|oeG}8@G0dfNbY@q}t#F&g@db`Lg zddAQYoS$_2>U;as5BfvA6RU?UnV$Rc1wjw0q3B+q$%X-QF|$kr~7T5hYFWWs+RZn=j)R;=bn8*oP%R+3yUS7WlkDvU9%zke(L$= zqXGZVzz6=gf#c5IAn>RB%DQXRd*X;5>#s>Uvhwg%gXK<+uj7*fsyK#$ZF}pQ>3?|E|J{# zc*Q6v!ujw7nJ(pmyv@A@XvvhY(tB4~SCTK!V7Y?KG4$9Ag~R;tgDC~s{2e${C`_a< z$V72oS0(Ba6h}-thM>@Xu{M9Di#-us;OHU5iMl2n?cl$sEu@AL`m$@-PL}9}QIHv4 z1UFpbVY$~d2ko04%aiQq)Ya0T4wE=35Rlw4VYn=V5t<7-^urcp%pAJqtD3dP{+5vQ!3*44AR!P{BYbfW&v&+hANWjAl6Xl3)7Hrh1g(E zB*YHawcX@_yR+aAbe3v#DcP^2mPF3n+YNES*@`f&v?o^DVe1~%*uP=m457fgs_SJ9 zX4BiBZ0HFTASEcOi10A-Z9zJF86OQ7t1mF2WY3B%8+8=dt{9}u@3Ft&)6ts&ZMML~ zhvkfW%Qo~^42g;rs%(o5DYhj?)A;EgVH6EtDLr%yBDRyMfr5vI!TW4@fe5N3N};~O zFe;Ol2Y6Gq63HNm0^l~c-QCR<1u%CgR03#cIaVCv2cfh(~lx*v#muADU#qyy9xW!DJ{Frj5-41*^Y)nu2 zkM}_u7bybH6JRZQOGq_5F}U#)MolwIEvq{Tqh6$ohzt@E=&G{;e6d~b^}jh}`VW?h zg(~cP_Ivy7Wkt!@9CozpG$|oCX(5LZd}i`u8B)sjj+!{5fScfiC?!66!WFhzoO?)b zAJ6Xud^0ve#~F?JLXyNU{(XSSKZ!LTo>!OHCKew&y)M}w4Vn~r&Ho_<0SeB0u}XR| ztzR9fSta)S>eWck`cC4%1g?#uHSMvj2DLKSi9?JFLJ^iC6L2sndDUK70ZX*xR4V}VrO{IlJlv@u^EH7dnHCcnZw ztKkzvH9WMhWe`{kS5j~tu$_1>pRdnvFW5TQ8zeP5B5|asL#G{>ByZ!um$6V@*ydFK z==8JT=a2fG4vA)iwAdqvIfi_JTMHp52L;tX>>yjYUjcr&rn~|&MTlOgm;ohZ?K)(B z-}22GyHsG^vJ%JWPar~xBH4P=B5y@PAZ-CFM^52UC;)UX5`+%t11bz@A=?XR{ygMMdkf@AH=2(z9TipGoIAMQnZjuask`0u-W9P;O^rnLRcS-(R z))#2j5^5PJx)CG;_B_5t5i>2TK(f0R2sO+4uOcKokW~WQ&#nqdcrcbVN|A5?gD#Kl zs}tuePK^MLK;7~mWV=+GH1_RuoU;rid=#kQB*M{B7F*=-{COMd7}(QFh_-i0s#96M z65%e2Cz7}E$T42VRC{OD;s+74fme+)Dl`zBgNNtGrwtVaH|_2FYqGi@7sQV{%1sZ? zEB9HZnb@<}eGdaP1v#q{p_O$z={!@oUq`JphONyB*Mb)(vfkKFL={xF5nH-s!p`;) zf!IZZ3MC3K@Cqi=F#_DGtN$MyI8zT;R)y?@T~IHLKf7|@(j6@~mB!c);Q@tGK7Pf> z4`lWb2#fiUv%bpu(R#-b2tX7l2_k-o&-rrCh zv}oY5^H+!RqhJ}cC@qHfy%Z=fILdV?h+Hk%!KO`#B`yzhG*MQAS} zA&jm-gF+ZQ+%^ztU4%IW5RU;ZiOge{_J}=`6I;c?Dcacd1zwWUP4tZL^CCkJu>-?L z{61`2#}L^nKbVxX%;;~=cDDpiXj8*gMe!_TG+;~PS9&zfW^Rng-`%j0yLpiK?7+is zM%_VKY|0iYl-N(L+i&<|>X zi5G}MAh{SuSG{%ti6-E_BF@Hl<_mLV#riL{R{l=X%p(6>#_^!^x8e`uYhw#jBlN{b0_Ay>{XqBHty}5Y_=TB5TRj6y=IKU)C$H^SD#k7xInp%} zRv_=rwvX)x#DY!9UV>M=b%E#|r%DpJ2lwLawFPFT0-J}%y0nTXBRe0u$m+>{0*lT9 zs#ViZ7^osHMy4u^s$C;?d3ma}cuOj7xVW;CVr*gAm6jn8M>82VZUy|G&$3OGcT#9^`KKwkMwBylhwDHoto==&X2otK``TunJ;;u+Adu8fVlS1+r3 zkMALn-!OGUQb*ehtO7m6-X-Hr$|D(_0{Ru|Kku(wO9>NVmqrwUasVXLA3UCU6>7Mzer*=PI*Kl$(O`xz#P!pzh;Y1d@mVz(`NkP@9J-nQ`$3 zwJF*pzj77Cx1b!h3^-0%1im9*MrQuFERVO9eaEFV`8yKLD(7lm`ZUX>zS zg0U-IMR<8%n4P9dg&Gx#>7cgc>hVTb=@q;mLHHsCC5s--rE(REX$Tzvks=e9e$)tS zKU8h3D7S<7Z%g#I{dbvr>Ow#kUPx$rT8nIdMQ<4vxQq8^`IUp8yIWHFG+f{A6h*B8bcGA#^=SA8YSh? zTucSai#Tf15uA&`Q8*?lv?PY}_-rDRAbH5b;2IF-Bj_9!R6?UEgdjyFCxoZd*aNjt zugN;Rzm>`3H;y;(eSm^#K=nUPj^{O1Df(GvdCS$`5HKMfOxQMb!;V}tqbeu&&t}mt zzT#t*$&BwWt1$X2-Y4twgv;r6179uFvg)@JOwh>~G2r+^=o_XXQa|~mcM90VO8<9%i96@Ld^il4=}INycw_V)4}x=8b=u&#R{E0@9)c_HPl7IIfF>UhV(q;zt+yQaBKf!u!{{im3R4QaqHRLrF{}o z6AkMg3wT>X%K;^j_u?z2cA;^^;wAM$5}oW;GP@Wf52)5Z;cVSz<*%Ra{?&ed2d*5a ztPmR+YCgIh?i8sYY!8{&jel$RdRnClTcR^*%9#l6C)&wmH5Og(OmzFVYA`qHoh?X%XFj)cE@W`9Totm0(2e*^fg6o$uEr%;J#>!Q> z!Bs78>7j~auVzE@Iw3Rz^N)3ptBjn*(4E@v|GD&Dl!`j+g`aQJ44<|g!s6uIi32Q< z!3y8I^o!6h<8W~~L*EXELF(tXyN!H@W3SoE096oP0`YBOtSu0&4hN6FL}h@szZKBq zH~Qrr>>bm(gW)Fz+|PvD4$L#FcZGhrm8Hg6^Gw0Z7!hWO5%(T^psnhwS_Z#h|qfS9MAC z3{KC63iYvfCnDa|++)wQsDE*3tiv;xr^>e2WoTlGNWYNquMLPlUUQC-H>uy*FK{cU zh(V|<6p@Kk=nh`g5g?>! z95QZ-lTc>1PENcwx*BV$-+;9}3!+PF#|X?H){famxA>AQIQoD!gct?#sqmK(4o>C< zL6^n%yNB;wjC}mRRm*WbRmyJ0nIazxMZ4}El2=-?j| zk@$#gffyK-g@~thXd#Csl2H0g4~A*lc{mq-Ay1?BqqPq%0?s>Vrj}a?vwEu&?QRE6 z|9WS55`io)Jj@{DAh1FdutJ0{wmimP-8dY!`0fPiVUcqpBHF$IDT1%)ef)+DxT}Ex zmtk+W2pW}ZSWr+Oh%dL#I7MYFo;Ii2Buj`$uP!DEXi-?TMUiF$#QgjdT;z_znrs=H zwJG^?@{@u88RoXftB2kD58z<~NX!c*dJ^|+S7H^Ljw&aAv-RAAcr}*W<^y%1{S5}@ z1v(_SM>w|BYjw(WCGE)uELDiictO_DgS1&fmy2dv_$jlp2vO`wq1Yn4+TDMwr6od* ziDeOCaDKkm!A6X%f=dd*N7&P1Q+3LGoSZj5SX30FQ&lO)mgw|aKWm*~p(5$Ug$d%7 ztIEH)O17NeA)yrc*h}{=d6-oQq^Zy&Bajpt4UjgsBz(sW*WJ%zzR+>%u(g9zd-jG! z(Xj*Bh2lAKT=6Y_l&N`zPDCLB>X@GM2ltl=ZnqwB(m1RA2UfBvg z3YuXK39@mEpezZ^OFij_3Q9aV8Vl^FNChiC;oF~f?X_x9(pxtmGcDB^cP(IRy*5T7@S5su$F zgT^4k$jP`9nhMT&DakTM0fnRw7{vQM; zL4_+^mu)LBX#_DLF(R4bT?^DYv(egvHIPO@UUyvx_G%OsjQ1GOMHq|v%`IZQ7{7!r zZJGmv5uck)&J6qJ0f+W${{Y^}3WsHIVJ+MvNO}1SJG;1Xf2GZMvv_xc!*UvJdw3l$?KQ zj6qX{49ZT>XXY)w&>bBYt9c*R{< zU}5fOGQ8JzZT>?t?LYi}Zyyzd>j4W8K+?^oBNPdL9l%&jD>t^5}8$ylQuS_de(07PV_aLlFNHZ;B85NF5VP%a+-f@sjCwXm_txO-zfB`U9^>v}l7-hr_-cj?i=wh-!|BMCEvU<0wm;4X#FR}XLB zD>$QH(^ivp7fnV6E-bSZFkZ6mlvzRvNNIul2_6UuEq^_BAi`yol|$*p3T5BeyV4{~ zvg=7Xa{{~oP1_S8CC&QO-C>%ALS?K)Y5s@+hh0k{1-2eo zAdZU#R*4PmzF`Cx4tM(5<*Qmn+$}1exaX+cwYKbZJ9hG9Wzer43r$)sOUPnX*aVm_ zZN#`L;63{9{sExF-|ue!55IXUk!wF`0}`qMw@ZDDrCH$t+Crs^(gTT$*x0Z~SBhg` zQQtnTaDTnFoFQ3a=RoXTL-7QbaBfHrI5*JW3NS3CSCg>w7AY*~&0u0IfDNTzb8JY& zaPW9%yt3)!6T-gHeL2(Eb-w^dLG=h5=DJyy0nS;Fq{mh>>BFNJ5mHlfMZ0( z7X_v-Yv5$IegM| zFYj%TH3=((cp=Au;~@+02w>_X#`e@Uz~L38`n%^F9jfG(Zq9Ck4q$$-TJj>#pz-!e z^J{P(w@Ci?1*y$VSru_ z!90PC&;{GT7s06fyur#b@?87{Jab&T$q;bc>_Zv(D~&Gt#djk~ZjMX4OAl`OEW2GKp?baarKCP&S-?M~1SZ?zzX^<}nJ*sl;C48w_dCP9U97zTT2A8;>sq z6E3DBtM9g3hl`?Fx2EU-X-}B(V}m+^@?Jar=7)c{tKT>f2Wo8 zM)P!dIZYppKd&iuG8AV6H*ssYu_%CQ0BCJMU50*WNbs9W#d@QxVNXoDEm4&JkE|#0;?v4TO;9EC-0GLjTyQKjy?Ae)8;f50lr53?-zP zfNSAaut6Sf8@C80Hv0JaMuOE$OTjr&w$!CV%?wM7KQW=VwXyX>=?5xOy8a(eBu_5v z&*OT7VGBYQ(!-9L8qz0|#|Vl#{a7g~ zBM0Ac?D5bNfH=AcU}C8siw_+gY@<}ofh_?q*sy`$u&f|o((&QKr#ct1$0s1oo(13y zn;NbbqD2`+>01ur)X4kA-0pT=soY)QV zfwWTdq%}0zn|5y>{`h4iCkrVXpy`~EsNGEZ&AhA(vMhz*)$40+N&Sv+lX>Drjz$pm z+E~V5Kf{xt+>?L}wJMzO`*dMPi1sb`bgZ17d39Iju*vA+1oH2M<@?QFez2=V*NNQ| z`}O#22QvT5d<_qfB$aJN#JI>@Weag>uk&Z|{vrjg|Lm^`mH0MGjB{2Spm#_x;IxM| zav9t91@UF~yfAoMV3d#uwH>uS*4fK1=}f{#M2bQ$>7f-FAg=^9DscEXfrpi~==ru- zGFRfO;xWW9O45=A3U^eU#zAxNru>DA<*p_e3~F77<96%_GE2nIhg(gdZWj3Nj*LHC zyE-al?Q9UWT2W|CRyvG?r#5~(ytM3c8*Gk~h69zOIF$dWqu%Zy9 zUjt;1kH27} zN;e{yiUPMvST@`j)UB3)mcU-84IZKdUZf~Y+8a=5q3%kmc;chH1TAJ$zSLk%S4rt%tUZa8|5~UWyga)Q_0q@ zpqd9$MeLCX8GtU;6E&P8EaT4z8e2k>V3zAT^W?Er10L z&!4v3mu2Gggt2{TnkA-KvK&@MqT78N`or|0!@SJ!!Piyn&-6NWS9fG$=~>W93QD{r z{#IAx5w!m_e5XGh<`ZLTkGq%5Hl7p&acD(NCVW!MV=;h-tbv!sqNr9_Y*Dtuihq2o z9yWmz7Kjb*w>P>>vfh?Wm`_ii!}jIt9QHxDn@_-Gg1 z5+xN1H39w(9PyY6EC#vc zc7wxB915}-8vz-(uJH;VoO)Y0U11^MG?oe0v2hBawtM1D&kA zq;>M-x~Qqff#i&53Ds8ASum;CU=WLr&t4SzCZchFP5Eq$x8egqOa;jR_6KM{Z%$uA zc{a$OisEyjO+BjAcR%v`aB`D0r90%(Gu;1-eNz$2PP%h$i96gF zw5jk#4PNH%_SS;*C?|GH79fI_wP*uvFT`zlLNy`ZDY3VOJ!`S507_NV4o?P#TW0m+ z-NTJ#6sk|V&I;6Vg0b#!2G}oP2>o@TJlxNg!_bm)5gtN1I9c|iRlh!b);QN|3QtX~ z1WsL|B-}@6g)mS4KEKxHGjv(i0=q#wrN8bKXVVIWsiR+S5Cep81Adm!$d|`jFwbcf zfd(?pgs1Xufl7q8>V`dQceoQky`tXUft4kE6@P5X9KMe$*fkf6;z3qKilHO1&Q%9& zVLS@|2uSI9QdSGM2a-9cfg<0K$9LEgBMu$*cJtFCK8pOW%xXv&B6r3pyyha@Vz$BB z)Xa6T^pMkl*7s$U7&%%sQ^zO3T6(2kQAj6D(k)}#`v>>(Cmr8Ec18hi;9TZzLnSv^ z7J|oRTgE3Rw@-nr21wAWZ3|f+)q5>qu1o8sInhxHv znb{3 zRw_H8dmLOz9CY9D`tKbCjQ?k6b;_?fZND4(F)5cj_Sjp2WpP3C zqybtB&rD8&AAnEz`9F*E7!7FY+2W3Kfl;14x#ss~;qsW)+29DU)UsLElq**7z@@Kc zo11M%=qtgIV~s-cx`K*O=YIHkJ6C5w*KbGAHBdqEno$~$d(Y9FTw^N#355Y*!{Bx4 zVa8c^9a;y;PvOzzd(0O*XS&@Z-J)uNI2R;4eUAZ`ws8W7cSuPlB2_Sz9bMwyjm^9~ zS_Zi)MKl}OMX1hLFCiw1GQqiGG+tam2i!YPgl&u}E&k86RwJark+RGfj z)rK?JRzrq4+;GD&I2hmxU11yF+4VXJPKFCyY_}G#C6s|}pd%?&R8jgIDHZrSa)O27 z?f+hhPmmfEPEuXp*A#SyPxv+whAq@9B8Wl{7X58hr83gp6qNd$C3oS}X?feFcjAF% zHLeBNRw3oW#+DOHHM+GMP`gLw^T3!-frLN&m*zX~|BF5oAgBmxf>xx&J+^I!!bP`0 zM5=+)0pGs{CI-YmHlvFu6x!DAr{N$|793mOxIaJtmCcGnS&nG;b5UGJXYy{lUD= z9uCN`>TsY)2k$aA@7@hRUzwUh%<)fa>#Vui+6Sl{v?`+YP8g-8!h(9GN^;ir0e_0X zGRHQ)5)_(Mi_lbf^F*O7n0W@RilR=hA2++*;ppwxwO7%{z&XJ&D^@I7F2nGaROxcR zruvumQ`-Ds!T!SP)wmhjj^)DLr=p<-nqZ1YLcNige04Xt@jGNG!-SS5ST52cVt_QI**_Vc6A zq88^lV)lxR1_K{39OzJxOY0n6@$}Vuyr1M6Tk6xn9A-=E9=wldV*1(gOL9VfiN6V` zuNPF?2rOqeyI}pO)Jnq{cbrp@xDxe*L?*+=_B+Z4aNiO6N)-OlW#Lwa6MzDBA~Rj= zKnOEX-8+8(9$PJhR=C324U^C>nG6%yw6p39IJ_7c=*gBD^%9)-t7O$#!NgRPs<9IX z(<#fX&~?n!Zb)09kf*99s?$O8eK-gel5Em+W^UDvYj_ z82Uh2Avt5z$fC%o=o*1_Bm9Rn2QHWoh354|$ZPQViaj?_T`q|)f%T=;^h*W@R$I9E~h1h`CLj!F_ z*I#!)5EJ6@bYmn(#jrIdV#s((7++NlUYT1VS>(sdMPgvQeR@`}Rdt6ZXO1;T-Ez`G zLX#TL@UIxrDIkI>MZn1_gMG#q$DsO1w#ygCP;EEij0y8BW(%D90})fC`*0##G^dCg z#kS`JJ;}n{e%w9W-9kRBlM+i75Gv*Ztof88rHg+EMC6%(P~WNk=UX$ zxE>J1&}!&V!C1lk3zUZIF=^|Y8+O#}kgh7xj207Wcy$P|Eh1o{hLNWTR6(XJ@lMbWv1qSDu&_~HKL(QiKgy@q~d7Sc4Ch6v$>3RS*x1*x$ zmOM6l3%N3=K5;*@33Px6Kiw3&? zm*@aYwM2sXe`y=ChzEsnXz;Wr47D(bjAOvpTZ~*{_&l9Hd#dO!zf+K|fzemN43+?> z|L|;}Td~XAWjb!|C)hYgO&rX|?54#GD!WyIfrXGwe8Va+56lGrja~Zc)w+K#1}af& zUVT95i`@{IHh*qEUqcXcxZ>=GWn};UxBegZ<_jxb5dbbN(!(fCv72GnAvZGk02E{_ z!6+)WBd!X-s?WD*Kr$l0^Wk}<8W&-amI5<-BxtVrqBB=@P;{o0#wkW7xxU$<5UU|N zEVxV^cT74_rx!{jFNU5LmIS~?)M~?I7lu z-f3ks0XX_OM=rGQBnB}pZ35=Z7|K+|7Qzhj5W&n<2l*NyTp*9(p_eCwC}}9jvl5a* zO=}a|(Y$LP%C$Yt{Y1qdSV;&0iB^| zA%~5(XoxfcT!->Cv}1+`;$d}w0V#+Pu_)D=pkIqq%PbL=44-%^F!klE<&@b}*l!DJ zC4pBReB@rP(qj*qL`5y;Jl59poi*0_7UmNOCZtf6%w zX&QqN$%Ts%ZAJ1)lo!HVEEbVu(}3byWe3o}@L^K~;>+lbF{bQm0W!ekQc;D6jPhm; z*gkpt;g%gW>KlWuUhU*Z7K=taTNyO89Pgot;B+uH7ZEtn44`FXWU=EAL+(NNSx>@d zN|oD7E=p}a#tb8e{@48f`17aN74^v9I7ah@OE3npS-ux9+aFk{Hi?i_DBcH}Se`7f z0CXD>C2IRk6^F%gGfB{|a08=r#!#NxkjrhsXo2=pc4i#>7)_{*Fecw=5?_WiY4@Yuw+$F>YK&QW0IkYd|=-na=(R5C4%(0tz<6BpV zXsp54GxQ{s`XpC|+iuspM|_FD^50+Ye(NvQt;M9oNrYf%i=znmCHYtuca{-6+jYi+ z_n1}2cI)#s)QQ^E|3h7P$g?rhj`4VRB1j%i^jj9ej17-$pxl}5cLa|c@q9C+Re=f?@$=@;mQ_ziSAKr@L;KnMc-mqZjyNU>LT zp_h%f?R1GV0KMJ{q)fx}K-39BR{D;Hm(B{Gw3 zK;D3G#3PA0MQlOxUVT&!yln`Ru^zIVauN7Sk}QvE-6>mI z11!Oom91dU+XNOsJq9t$ptd|)u3(UmsCvoidn;3vR zvNgv>wnF-W%o)6;-gwGEIOx({$<((oOSJEPd}wd_A8(!xUpO<{ajHPS=bV^?mykJ) z@0^fhV{YvfAKF8p9lqr#Zmw$AtOvN|34(IN`gg^nY8i?Pnzsl$yyk3@%rPPl9OWO# z`B4r4PAY@D8(?Izjb$4LC97@C$Y_^o}Kn z`s8~~M{6h7X9r2j0x>Ou%1{6&Z3wN?KwhY{>2+2^(Mn3y%0LVQJ2KfU;gV~uIuzp> zvQ?JTLImsOcehX4CnJj*O$TzGk-5{^A-lG3z7-))PO0X#i z2Gt1Zghy?G449!4d>qJ#!}JKM1;92YPx|6SX=Ia&#W+J7gj%ThQ~U2Qy@M>f>7VeZ zpW3TdM>wVm%LimDGFTMOgyFJ-_sC^5XH%dyifkljI=Ev1MBd7uS4l2UT05$ThLI6~ znG<^Q(2FL`km1L~FhPvI5kx;+11~lE0O%6R@3(NULsT-EC0@C|m-#D&BubWuA|&mC zS`~P{Btnbf7zQs(mh35~_OSB@PL=r$r`q^u8N(#e(b`ZvxQ30USflJr)zP@#PX%$= zp8|;E)nc9C5R<*nCJ(bDkBx?i`=sJ!G&wXv#G6_LRXtL^2s@7T;A|o4jB9*kKT};x z60u!Sk`A?*wf;4wh^hx=0{IREf_jh)s0(Mr#N(ShYha%4YyK;xa*VEt6%#VacAvge zfQ$UUNRFvh!2I!=IaX2C|JSoYvfu;YW|ilWg+$*Oxxf1$D%dx%UZ1NqLuCWZzj=YjR_U@n?{FRoVu#KI>So(2 zLb|(=crYm^j1Bl_iAXPCX=UZtq1nszE9bS(E*#&Ys%cP)M(%n}he|i@{^%(@MkUo+=;Zt5`u~x5~DsP>tZ-whRyH z2C6JBn5{4|uSOH^QBuZQc))ta!`Lh<#D-(X-DjD@K3gcqwSsV4umFC#e^l2g@#haf zjz2h4rM?6=z&&Tgy2j)8 z#0kns0}$fdrT(;qm9%fx9l_G{X~r+Z@4$?@d%A*7=Yh1cT;6iUK~H3DN!9!&KBDRS zVmVh%JfH;V#IHE~aKr5rPG?+JcH|KYHDDZ87Pxa%RRt`I&wKWBF9bT?Z#Dv4@xKrf z`1|wCx__AC>hwsP^s&KSf$0KlfdiX#aJtM7nV8^8g!i>3Z(pNl5+3ysieaQGOEfDR z@^ROB$rRan7-R_G07r=LN@G>+?PtmpA=|vT2Cf$tokHMl!xaQcwtU+w?FW@XEyO9H$Sy7dMR~84sOikCj$!cIJ6W_iB4=C6TloZr;!_n4Jg#aYO z`VySS5G3FjGEB_7@aqF+t^x+{`lr95D0pj;fES(Tu%^^GG%O?nKwkMfQE{{rB#lfE z+`y?L>txuoySE|#bRs};$)OReL!ijYm-mJVbuR34)J4Wq<4X>yzMAq=dyB1g{rO74q&)ju_@gZ?3rT5E$gpZX z1i~9MWj0Ibt;nHO*qUjFu#`>$WV#x34Ww1N)yYoyqXAiEN8Yp|58eQ)PDs}H@KXaS zJS!biPW&>;#zA69wt+AlNF1tOlOCpidzPn?f7xnAptgDl4h<5Y8$jDQ@=d?RBuFNK zlOxszV&8)(r;wDDjbj{s>g5n5Dn3Q7P#}eaX&Hwpz37#uoK}{igp*C!v^|qKZ@a3% z0Z4xVPcVhk-p_xp%5TLG5Dr1Nl}is57MqY*koc0cnUaE*G(!!#Bo9a6N{3RMJdL8I zyY_-t)G(TnHUzJ*(>T>R2~c0y!nZ-;?z9mZmFKeML{GuNpsHDyu*m;gP7Fso@VOH9 zX^6T|9`K2=%LNNAu;yngC3Za-%G=8zj zcD(M5kNVI{dC5)LgF>z0W&n-|iePUH3=j!JUh@Q@n*>5-Rj_)9EMW9Pt{xxw0@OOR zF*w~2%HirSG1$lR?pUxSR5&9DU8*XvU5Gm;JQ#|U?Ch3!<(4WJf^dKc7AaFAP!|Aj+~Ndo5gSKEB0Q$mn=J@D1p2wGaIy%Az5muf zAVmsc&TgZkBmNk5%L%ohQN1AWOLmxGM!KW8^bU(!mMZkP?r#|!CZnpL=>~y=Tx{(9 z%WtHbp(YJXE)vd_*v@I!hk6t34LPrPW%OmE+#tZ`f(3#N>feEa(h2|d@i(#!pOEST z3iXcPlQe>43cEx~>VI^9q0`oHemm>9qQ*)b6GN_J5*DG`Q&{d0NSa7*sl4xbu6j!q z3rul{d|_aD5C{D$RZT&Kw1Vj@^YLl?-bsyfj?H+)oXQr?m&fzAA-#cZnlB+2>X6@o zu+?7}pq=4`Q;_AajQWvR&e|D_8JkHJ_=41qxj0!h+x~XZY`C%)s}>Yz7ut_k zgdL9&z6Z;J3BOrp=2L4(!HReaA}4Fg69Blx-nly-K0kV3x~)t~$l=zBJ(^ls2M91~ zL8uZ(@RAx{sD;v^7{zE;gCnW^ zza^1njBn&FL8I9@HjzeWxD!>acTW%RsGVb%J{UjRkx}2P5UWd;GjT&MgPdBEGh^P| zwjX!zfv+L3XXns>dJp4q96tSJNLnui-}7D1zU#&=1i+ht?16oF@iP%8D|2;e08JBQ zr6xwo;KZ}m$a05qN-#6|9?HVP(?C!a*w>LY%M5q+FkMpl2m>tsEF})amdD#PMe2mC z#V{AX$t=7(f2wI|4Db#G$j6QjryUGPY{6Re`Z)*%e|5;d2t^=~zyw9Wg@aH~d!1S) z>1N+scAX%1a?cB5o3ZsTF}#o-$L^{rsUY?om#?o)GmMN8{h#f_k(0=Rb*DX(}y zSh6yG;mjz|e2eX9DpZdXWtg=|b6FkMe6_#8w>5AG- zSd&&Ynsr9ZL^ZES&uDDisPgu31??v)Flc;f`J>-I1E>YVp?#+R zg(L>_yIBFbJTPi8@r1AP+w`!K^npI4?*Xb|ZDGQ37Q+O_QG%J#;bO(Mg3&zt5ns66 zdf4#MY2!5uLejC%`q(pm1a;iPrnG@w?I!HosE1?--EyTx<0q_O*ge8>!z65{|uNlX*ASjfTt;0yT z>76*#)!S*QvsL9IXvYWRn9$QDB8xp+ml8;^rG?e=^6j_=6i!Pp7bp)E+tG}gKePmk z@!_s}Z16v>o}YBwf53}f;(~19Nku1SO7Q|NQdAEFmf+Gr9%|=@l8xa0dBNV7(cA%vY~)z@8Db zPzs479TMFC%ig;%w{av3y80=Km<@;Ltk*&CO^#L(vMim^j&13RvK{wKoIrp;L&6FK zICx0n+?fA+JLi-V?9*&^boGqCTz2t3gS7O!WXP_Sml#$>JR9+xDPv(o2w@;s}Oel{~!6UNz-V0MCIl?JUQ_ld&&DjvSvOB>a4|K&v zgu-ExXXS(>18!pSs+4e(8)NRWb%fg^Ab=R@6q11%@y`EZ`E{%lN-COlBTyVuVDI=6 z2WB|eQ|^?UD>_*c2#w{Vv+q81#m}j8V0W+x`ES*ATnh2xflI_PiCTOQF0^;u>=G3* zhEfkbQc@C2KusZP!|C*zh5zk}F~k_fA&FSVsZve(KoSVz>}B)$vgipiD=I6p8F$EX z<(F_4OU5Q)<$+=aPye>2{8|@JXxRz+vLiBA;tv<=TU@*=ZO;u)B+kCaO0W!<9!7 z4;b-r|1*s%8ER3)TQf9|N3IV8M&$wrHDfl#)z*RSU9{R+A5T<-Bf?c1mNGK#(<&0@WB)koqgz_G?!MB*3M zZS$caZ^~vuWoudR#T8cp!sB*QXq~8ZuhL|8mi35(CA|$oU0AI}F~$D&zt?Q3-jH&| z6pCq*t$@($g8^iitFF8?A>9^P^hoHphie5sCUCQNPM=DJy9l(%V0@0r*o~`!pHC#i z6|J0zY%x^AWm1L-y9}~RDvN_-bh;S6@W8djDzdi?e?$+{qk`fk0V$;6cRlF+Hk^~* zS9usp$K#rh_ZrvsKbE7JWp%*!h_rY8xWDg$`QR4$D*D~790zd%hlLle1abBNehJt7AxZF~eK*a?G3NaK zJ2F+;UznMZYTfbAB&-8z3KIqiq2f(z4755Xrp3yxA5;2)R65xDr36VlvKU5vbY-hB z(8JkuNgS@k;(nwk0m~xA3PpjaU37^*I`(?SsW^tB!dDCPB#tRSO4uy})@zmOA|5uJ zBG*iw6SR*W1AsFwk!<@NQXdnKIH2^P1E(o}^<5v781HuIG#pJ*nOItIRE@|t+@)kw zr`|%eJx#~bGVmO8RZ!Ch;o@+3hNP@8I5EY)As8qSDMsIXoc`Xs@w(A?f(_`1@P{is zIYur|$#vicX;ObZAK<;52u?{N`_VC61jXWTDZl_6FCUEeDVOm2DC$_<;+zR}LRcPp z6Z!T+KFcBC<*>7!r?$6LJc%oMNb``YL|zJ-KkEMMiwJPaDynq4X*NeLtX00GIds%J9+3=#RFIS<8xU6JXVG52+&LmM0-Pp> zmrxuLEBJ8O$xuM-AK+(U@W0c@pbiKU6?AqngT$CfTmj`0G2Z!k>4h5C{KlDSCDS;> z5O;KPHXy>QCn@NG$hp-4y{s{j6s)q&KKNQwX$Q({fT-rmDJD!CO-PBrE z?K}(03MuKSS_9%!ukb`P#Zu?2pW#X*MdV<4+?)#$Y1|UufA192*gfYQ??sJ1F-csA zAwl9LHwU(CY9qLFx4!BMXRs5zV&Pp*DDC6>5pvQ*qn%^J9$-XFAeit(k_Ol$1d_QM z;B%nF2}YOYx>sUP)2TOR3<;Ij_iA|ym5^N$gcxb)|C1335zHz|?KQG5}&<>o}^(D7H{KSy7T7%)hbtP}bX?ya_ zk|^%TNrit6!Xe}_YA@GF5Lbi1>EiBI5|2xmL;N1$^^T8l!HN2<)3tXFmy?gA^dcCZ zYJKWxPX%RM0?7z2)uT~(DqNhf9-9Cwv`C#jTuxdsmtRo4O-Pc)G77XhM{|Das!BrX zI;Z69bpP`37|T5|fjwf#Z5IS|2e_k`gUnp@3Q;Cbdg9%3f-#G0ozhsRfYZHRJd?pS z_i&M^{6rlTax>!+dvc0%SM*NI40yMJ&K_xaagiN7n|y#qI7gQKK2hoe*y4Ti&ykJK zX1zW=BC<)!XHmI^(p;y}RJ7Rd@hd{BN1t5nD>SZsN)!?0gC_+Rfe2Et5p`a``_uy? zB4VC(uX>+GnDM%E$@?Gt)IOjeA!Q=rWgX<7F9fMthi_cV5E-4lcN-6#R z#}BWtIHE^ap2GHGIvnCR#v(8=q9KsbV2Y;rPJIdkwoX(?a{O27aymt;EOGmg$jd%K z-FUqIqQfyL?3P6L<{l^e9pQ?^CC|u^b6p}YA+`vd z2U$koEHQ~wEQ1t(R3ka2Hi(|CO}vRE7+!3#fN^k!2c?t+mGEufXB>}ddA@am6>3`a zuaR%{S#&#~+R5c1)tP_`n--A<;7a-_<)IfdRz1+8KO{vBrO?UdvUhelD6V!BWgP^F z_4dj8L8ujqI#QeaUQG)tF7n4>N+O1!t2LWsOB}1hriHvCd4e!_V+7LP8>jt7$BnygpFRfS%qUu-KCAq`Ut#<}Tl(6#%AU-Xn%ov>m$tgoL z+Hx_#{}veU5e%gXs`n+##J?&Ru&3KKm5k2N%Az|Frkv_H@r$JrIz%n@PDuuFK*$y0 z&xW1Oh1y{N_!GrBRW~MxIReKBbBfN1^x~x-`Rl{J0cA$81KC`pLV=&?`j>S^$psR* zk>!N#3H=D9R$wEMzN@cKDM3IDg2NtFMSSN+=7ANIPJ9q$*ads%C~zUTIw?Axp-miO zus@`P13~8o{Q`$%1YLUfzdE&vdSCR_*#bh|$m+%PHXPXIJtXNak3=Z~c^b303c|sk%lqLZ!(OJ%vX4aqME0 zj1#0Bq&qpvY z{-zP?c#I%m=b-;VPT3)$g7|pC$l}Q0+ZNRRR?jC~e*!<%o2_Amf_uXM1@|jzRfR!T zn4$OYzJguRSl2nzGz@{>jS*tS_K7RpK3)@KmB*8v+R;T$w=6-7T!>yGCFLH~-=O*X z=nXnxakNdGs!}m$h_MLJA4x006b1u4PjG$9I;Te@l(9Em?pQsRo5VLgnTP16Gbf#B zXcKo5!QtS?**-2;mGv5l4_-*hfQq6e7nxiF&I1aXpCRHLqEbOw6@iTd>WZUo)dWGh zE7(dxg@~CVgOH6_NE&Xa{bqI}JY7KSn8+CgF|MZKl0?!KT#^Vg8&LDc4-kZnwFF

    u|8=2e-XQ%b%yzYd$293}%kV7>^xs9GL8V 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⋙4`k8ziU;Ciel!1(P?GZ=G{Uj}6(F~D0 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 literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/kits/rust/Cargo.toml b/examples/containers/wasm-workers-server/kits/rust/Cargo.toml new file mode 100644 index 00000000..5a69536d --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "wasm-workers-rs" +homepage = "https://workers.wasmlabs.dev/" +documentation = "https://workers.wasmlabs.dev/docs/intro" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +[lib] +path = "src/lib.rs" + +[dependencies] +anyhow = "1.0.63" +http = "0.2.8" +worker = { path = "./worker" } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.85" +base64 = "0.21.0" +# Use an old version until we add support for components. +wit-bindgen-rust = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "cb871cfa1ee460b51eb1d144b175b9aab9c50aba" } diff --git a/examples/containers/wasm-workers-server/kits/rust/src/bindings.rs b/examples/containers/wasm-workers-server/kits/rust/src/bindings.rs new file mode 100644 index 00000000..a01f97a1 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/src/bindings.rs @@ -0,0 +1,67 @@ +use ::http::{Method, Request, Response}; + +// Load bindings from WIT file. +wit_bindgen_rust::import!({paths: ["../../wit/core/http.wit"]}); + +use self::http::{ + send_http_request as host_send_http_request, HttpMethod, HttpRequest, HttpResponse, +}; + +pub use self::http::HttpRequestError; + +impl From for Response> { + fn from(value: HttpResponse) -> Self { + let mut builder = Response::builder().status(value.status); + + for (key, value) in value.headers.iter() { + builder = builder.header(key, value); + } + + match value.body { + Some(data) => builder.body(data).unwrap(), + None => builder.body(Vec::new()).unwrap(), + } + } +} + +pub fn send_http_request(req: Request) -> Result>, HttpRequestError> +where + T: Into>, +{ + let method = match *req.method() { + Method::GET => HttpMethod::Get, + Method::POST => HttpMethod::Get, + Method::PUT => HttpMethod::Get, + Method::PATCH => HttpMethod::Get, + Method::DELETE => HttpMethod::Get, + Method::OPTIONS => HttpMethod::Get, + Method::HEAD => HttpMethod::Get, + _ => HttpMethod::Get, + }; + + let mut parsed_headers: Vec<(String, String)> = Vec::new(); + + for (key, value) in req.headers().iter() { + if let Ok(value) = value.to_str() { + parsed_headers.push((key.to_string(), value.to_string())) + } + } + + let headers_slice: Vec<(&str, &str)> = parsed_headers + .iter() + .map(|(k, v)| (k.as_str(), v.as_str())) + .collect::>(); + + let uri = req.uri().to_string(); + let body: Vec = req.into_body().into(); + + let request = HttpRequest { + body: Some(body.as_slice()), + headers: &headers_slice, + method, + params: &[], + uri: &uri, + }; + + host_send_http_request(request).map(|http_req| http_req.into()) +} diff --git a/examples/containers/wasm-workers-server/kits/rust/src/cache.rs b/examples/containers/wasm-workers-server/kits/rust/src/cache.rs new file mode 100644 index 00000000..ababfcd7 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/src/cache.rs @@ -0,0 +1,7 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::collections::HashMap; + +/// A cache system based on snapshots. +pub type Cache = HashMap; diff --git a/examples/containers/wasm-workers-server/kits/rust/src/content.rs b/examples/containers/wasm-workers-server/kits/rust/src/content.rs new file mode 100644 index 00000000..9b00d0d3 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/src/content.rs @@ -0,0 +1,28 @@ +use base64::{engine::general_purpose, Engine as _}; + +/// Identifies the content of a response. In other words, the body. +/// We need this intermediate entity in Rust to be able to expose +/// an array of bytes as response. +/// +/// Note that Wasm Workers Server interacts with modules via +/// serialized UTF-8 JSONs. An array of bytes response may include +/// bytes that cannot be represented as UTF-8. To avoid this +/// limitation, Content is able to encode them as base64. Then, +/// wws will ensure to decode them before sending the bytes to the +/// client. +pub enum Content { + Text(String), + Base64(String), +} + +impl From> for Content { + fn from(s: Vec) -> Content { + Content::Base64(general_purpose::STANDARD.encode(s)) + } +} + +impl From for Content { + fn from(s: String) -> Content { + Content::Text(s) + } +} diff --git a/examples/containers/wasm-workers-server/kits/rust/src/io.rs b/examples/containers/wasm-workers-server/kits/rust/src/io.rs new file mode 100644 index 00000000..a8ed974a --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/src/io.rs @@ -0,0 +1,121 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::Content; +use anyhow::Result; +use http::Response; +use serde::{Deserialize, Serialize}; +use serde_json; +use std::collections::HashMap; +use std::io::Stdin; + +/// Represents the JSON data that will be injected by the +/// main project. +#[derive(Serialize, Deserialize)] +pub struct Input { + url: String, + method: String, + headers: HashMap, + body: String, + kv: HashMap, + #[serde(default)] + params: HashMap, +} + +impl Input { + /// Build the object from a JSON input + pub fn new(reader: Stdin) -> Result { + serde_json::from_reader::(reader).map_err(anyhow::Error::new) + } + + /// Convers the current object to a valid http::Request + /// object + pub fn to_http_request(&self) -> http::Request { + let mut request = http::request::Builder::new() + .uri(&self.url) + .method(self.method.as_str()); + + for (key, value) in self.headers.iter() { + request = request.header(key, value); + } + + request.body(self.body.to_string()).unwrap() + } + + /// Retrieve the Key/Value data + pub fn cache_data(&self) -> HashMap { + self.kv.clone() + } + + /// Retrieve the paramaters + pub fn params(&self) -> &HashMap { + &self.params + } +} + +/// Represents the JSON output that the worker must return +/// back to the main project +#[derive(Serialize, Deserialize)] +pub struct Output { + data: String, + headers: HashMap, + status: u16, + kv: HashMap, + base64: bool, +} + +impl Output { + /// Build the struct from Scratch + pub fn new( + data: &str, + status: u16, + headers: Option>, + kv: Option>, + base64: bool, + ) -> Self { + Self { + data: data.to_string(), + status, + headers: headers.unwrap_or_default(), + kv: kv.unwrap_or_default(), + base64, + } + } + + /// Build the struct from a http::Response object + pub fn from_response(response: Response, cache: HashMap) -> Self { + let mut headers = HashMap::new(); + + for (key, value) in response.headers().iter() { + headers.insert( + String::from(key.as_str()), + String::from(value.to_str().unwrap()), + ); + } + + // Note: added status here because `into_body` takes ownership of the + // response + let status = response.status().as_u16(); + let content = response.into_body(); + let body; + let base64; + + match content { + Content::Base64(data) => { + body = data; + base64 = true; + } + Content::Text(data) => { + body = data; + base64 = false; + } + } + + Self::new(&body, status, Some(headers), Some(cache), base64) + } + + /// Convert it to JSON + pub fn to_json(&self) -> Result { + serde_json::to_string(&self).map_err(anyhow::Error::new) + } +} diff --git a/examples/containers/wasm-workers-server/kits/rust/src/lib.rs b/examples/containers/wasm-workers-server/kits/rust/src/lib.rs new file mode 100644 index 00000000..0d28e718 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/src/lib.rs @@ -0,0 +1,16 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod cache; +mod content; + +pub use cache::Cache; +pub use content::Content; +pub mod io; + +pub use worker::worker; +// Re-export http +pub use http; + +// Bindings! +pub mod bindings; diff --git a/examples/containers/wasm-workers-server/kits/rust/worker/Cargo.toml b/examples/containers/wasm-workers-server/kits/rust/worker/Cargo.toml new file mode 100644 index 00000000..6248b06f --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/worker/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "worker" +homepage = "https://workers.wasmlabs.dev/" +documentation = "https://workers.wasmlabs.dev/docs/intro" +version = { workspace = true } +edition = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +repository = { workspace = true } + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[lib] +proc-macro = true +path = "src/lib.rs" + +[dependencies] +quote = "1.0.21" +syn = { version = "1.0.99", features = ["full"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.85" +http = "0.2.8" +anyhow = "1.0.63" +wasi = "0.11.0" diff --git a/examples/containers/wasm-workers-server/kits/rust/worker/src/args.rs b/examples/containers/wasm-workers-server/kits/rust/worker/src/args.rs new file mode 100644 index 00000000..3fff4ea6 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/worker/src/args.rs @@ -0,0 +1,30 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::collections::HashSet; +use syn::parse::{Parse, ParseStream, Result}; +use syn::{punctuated::Punctuated, Ident, Token}; + +/// Parse valid arguments for the worker +pub struct Args { + idents: HashSet, +} + +impl Args { + pub fn has_cache(&self) -> bool { + self.idents.iter().any(|i| *i == "cache") + } + + pub fn has_params(&self) -> bool { + self.idents.iter().any(|i| *i == "params") + } +} + +impl Parse for Args { + fn parse(args: ParseStream) -> Result { + let vars = Punctuated::::parse_terminated(args)?; + Ok(Args { + idents: vars.into_iter().collect(), + }) + } +} diff --git a/examples/containers/wasm-workers-server/kits/rust/worker/src/expand.rs b/examples/containers/wasm-workers-server/kits/rust/worker/src/expand.rs new file mode 100644 index 00000000..c388fa93 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/worker/src/expand.rs @@ -0,0 +1,60 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::args::Args; +use proc_macro::TokenStream; +use quote::quote; +use syn::parse_macro_input; + +/// Expand the given input after processing by the macro +pub fn expand_macro(attr: TokenStream, item: TokenStream) -> TokenStream { + let handler_fn = parse_macro_input!(item as syn::ItemFn); + let handler_fn_name = &handler_fn.sig.ident; + let args = parse_macro_input!(attr as Args); + + let mut call_arguments = vec![quote! { input.to_http_request() }]; + + if args.has_params() { + call_arguments.push(quote! { params }); + } + + if args.has_cache() { + call_arguments.push(quote! { &mut cache }); + } + + let main_fn = quote! { + use wasm_workers_rs::io::{Input, Output}; + use std::io::stdin; + + fn main() { + let input = Input::new(stdin()); + let error = Output::new( + "There was an error running the handler", + 500, + None, + None, + false + ).to_json().unwrap(); + + if let Ok(input) = input { + let mut cache = input.cache_data(); + let params = input.params(); + + if let Ok(response) = #handler_fn_name(#(#call_arguments),*) { + match Output::from_response(response, cache).to_json() { + Ok(res) => println!("{}", res), + Err(_) => println!("{}", error) + } + } else { + println!("{}", error) + } + } else { + println!("{}", error) + } + } + + #handler_fn + }; + + TokenStream::from(main_fn) +} diff --git a/examples/containers/wasm-workers-server/kits/rust/worker/src/lib.rs b/examples/containers/wasm-workers-server/kits/rust/worker/src/lib.rs new file mode 100644 index 00000000..77b19087 --- /dev/null +++ b/examples/containers/wasm-workers-server/kits/rust/worker/src/lib.rs @@ -0,0 +1,14 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod args; +mod expand; + +use proc_macro::TokenStream; + +// General worker entrypoint. It will bind the input +// with Request and Response objects +#[proc_macro_attribute] +pub fn worker(attr: TokenStream, item: TokenStream) -> TokenStream { + expand::expand_macro(attr, item) +} diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/poly.py b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/poly.py new file mode 100644 index 00000000..295ee6f1 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/poly.py @@ -0,0 +1,55 @@ +import sys, json, base64 + +class Cache: + store = {} + + @classmethod + def init(cls, kv): + cls.store = kv + + @classmethod + def dump(cls): + return cls.store + + @classmethod + def get(cls, key): + return cls.store.get(key) + + @classmethod + def set(cls, key, value): + cls.store[key] = str(value) + +class Request: + def __init__(self, input): + self.method = input["method"] + self.url = input["url"] + self.body = input["body"] + self.headers = input["headers"] + self.params = input["params"] + + # Init the cache + Cache.init(input["kv"]) + +class Response: + def __init__(self, body): + self.body = body + self.status_code = 200 + self.headers = {} + + def to_json(self): + content = self.body + encoded = False + + if type(self.body) is bytes: + content = base64.b64encode(self.body).decode('utf-8') + encoded = True + + res = { + 'data': content, + 'status': self.status_code, + 'headers': self.headers, + 'kv': Cache.dump(), + 'base64': encoded + } + + return json.dumps(res) diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/wrapper.txt b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/wrapper.txt new file mode 100644 index 00000000..d7fd2126 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3-1/wrapper.txt @@ -0,0 +1,6 @@ +from poly import * + +{source} + +res = worker(Request(json.loads(sys.stdin.read()))) +print(res.to_json()) diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/poly.py b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/poly.py new file mode 100644 index 00000000..7b90b41c --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/poly.py @@ -0,0 +1,46 @@ +import sys, json; + +class Cache: + store = {} + + @classmethod + def init(cls, kv): + cls.store = kv + + @classmethod + def dump(cls): + return cls.store + + @classmethod + def get(cls, key): + return cls.store.get(key) + + @classmethod + def set(cls, key, value): + cls.store[key] = str(value) + +class Request: + def __init__(self, input): + self.method = input["method"] + self.url = input["url"] + self.body = input["body"] + self.headers = input["headers"] + self.params = input["params"] + + # Init the cache + Cache.init(input["kv"]) + +class Response: + def __init__(self, body): + self.body = body + self.status_code = 200 + self.headers = {} + + def to_json(self): + res = { + 'data': self.body, + 'status': self.status_code, + 'headers': self.headers, + 'kv': Cache.dump() + } + return json.dumps(res) diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/wrapper.txt b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/wrapper.txt new file mode 100644 index 00000000..d7fd2126 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/python/3/wrapper.txt @@ -0,0 +1,6 @@ +from poly import * + +{source} + +res = worker(Request(json.loads(sys.stdin.read()))) +print(res.to_json()) diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/poly.rb b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/poly.rb new file mode 100644 index 00000000..fcb2bd53 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/poly.rb @@ -0,0 +1,89 @@ +require 'json'; + +def json_to_request(input) + json = JSON.parse(input); + + Request.new( + json['url'], + json['body'], + json['method'], + json['headers'], + json['params'], + json['kv'] + ) +end + +class Cache + @@kv = {} + + def self.init(kv) + @@kv = kv + end + + def self.dump + @@kv + end + + def self.get(key) + @@kv[key.to_s] + end + + def self.set(key, value) + @@kv[key.to_s] = value.to_s + end +end + +class Request + attr_reader :url, :body, :method, :headers, :params + + def initialize(url, body, method, headers, params, kv) + @url = url + @body = body + @method = method + @headers = headers + @params = params + + # Initializes the cache + Cache.init(kv) + end +end + +class Response + attr_accessor :body, :status_code, :headers + + def initialize(body, status_code = 200, headers = {}) + @body = body + @status_code = status_code + @headers = headers + end + + def self.ok(body) + new(body) + end + + def self.created(body) + new(body, 201) + end + + def self.not_found(body) + new(body, 404) + end + + def to_s + content = body + encoded = false + + if body.encoding.name != "UTF-8" + content = [body].pack("m0") + encoded = true + end + + JSON.generate({ + data: content, + status: status_code, + headers: headers, + kv: Cache.dump, + base64: encoded + }) + end +end diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/wrapper.txt b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/wrapper.txt new file mode 100644 index 00000000..15f2fbff --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3-1/wrapper.txt @@ -0,0 +1,5 @@ +require_relative "./poly"; + +{source} + +puts "#{worker(json_to_request($stdin.gets.to_s))}" diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/poly.rb b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/poly.rb new file mode 100644 index 00000000..dd1879e1 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/poly.rb @@ -0,0 +1,80 @@ +require 'json'; + +def json_to_request(input) + json = JSON.parse(input); + + Request.new( + json['url'], + json['body'], + json['method'], + json['headers'], + json['params'], + json['kv'] + ) +end + +class Cache + @@kv = {} + + def self.init(kv) + @@kv = kv + end + + def self.dump + @@kv + end + + def self.get(key) + @@kv[key.to_s] + end + + def self.set(key, value) + @@kv[key.to_s] = value.to_s + end +end + +class Request + attr_reader :url, :body, :method, :headers, :params + + def initialize(url, body, method, headers, params, kv) + @url = url + @body = body + @method = method + @headers = headers + @params = params + + # Initializes the cache + Cache.init(kv) + end +end + +class Response + attr_accessor :body, :status_code, :headers + + def initialize(body, status_code = 200, headers = {}) + @body = body + @status_code = status_code + @headers = headers + end + + def self.ok(body) + new(body) + end + + def self.created(body) + new(body, 201) + end + + def self.not_found(body) + new(body, 404) + end + + def to_s + JSON.generate({ + data: body, + status: status_code, + headers: headers, + kv: Cache.dump + }) + end +end diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/wrapper.txt b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/wrapper.txt new file mode 100644 index 00000000..15f2fbff --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/files/ruby/3/wrapper.txt @@ -0,0 +1,5 @@ +require_relative "./poly"; + +{source} + +puts "#{worker(json_to_request($stdin.gets.to_s))}" diff --git a/examples/containers/wasm-workers-server/metadata/repository/v1/index.toml b/examples/containers/wasm-workers-server/metadata/repository/v1/index.toml new file mode 100644 index 00000000..c12a5520 --- /dev/null +++ b/examples/containers/wasm-workers-server/metadata/repository/v1/index.toml @@ -0,0 +1,45 @@ +version = 1 + +[[runtimes]] +name = "ruby" +version = "3.2.0+20230215-1" +tags = [ "latest", "3.2", "3.2.0" ] +status = "active" +args = [ "--", "/src/index.rb" ] +binary = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm", filename = "ruby.wasm", checksum = { type = "sha256", value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" } } +extensions = [ "rb" ] +polyfill = { url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/poly.rb", filename = "poly.rb", checksum = { type = "sha256", value = "449855a5d315879ab0ad830aa6a3f689e68fed4490617ea03efc77c9da64f630" } } +wrapper = { url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3-1/wrapper.txt", filename = "wrapper.txt", checksum = { type = "sha256", value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" } } + +[[runtimes]] +name = "python" +version = "3.11.1+20230217-1" +tags = [ "latest", "3.11", "3.11.1" ] +status = "active" +args = [ "--", "/src/index.py" ] +binary = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm", filename = "python.wasm", checksum = { type = "sha256", value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" } } +extensions = [ "py" ] +polyfill = { url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/poly.py", filename = "poly.py", checksum = { type = "sha256", value = "74d10132b0577a39e4ea30002d4605b7cdfb8f39abca327a45c8b313de7ea304" } } +wrapper = { url = "https://workers.wasmlabs.dev/repository/v1/files/python/3-1/wrapper.txt", filename = "wrapper.txt", checksum = { type = "sha256", value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" } } + +[[runtimes]] +name = "ruby" +version = "3.2.0+20230215" +tags = [ ] +status = "active" +args = [ "--", "/src/index.rb" ] +binary = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230215-1349da9/ruby-3.2.0.wasm", filename = "ruby.wasm", checksum = { type = "sha256", value = "abe348fba157a756f86194be445c77c99e8ed64ca76495ea07ed984f09eb66ae" } } +extensions = [ "rb" ] +polyfill = { url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/poly.rb", filename = "poly.rb", checksum = { type = "sha256", value = "044b0d4bde7d3a9b0f275821fb5b67cc2e382267904df2516a23dbec1fae6bae" } } +wrapper = { url = "https://workers.wasmlabs.dev/repository/v1/files/ruby/3/wrapper.txt", filename = "wrapper.txt", checksum = { type = "sha256", value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" } } + +[[runtimes]] +name = "python" +version = "3.11.1+20230217" +tags = [ ] +status = "active" +args = [ "--", "/src/index.py" ] +binary = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/python%2F3.11.1%2B20230217-15dfbed/python-3.11.1.wasm", filename = "python.wasm", checksum = { type = "sha256", value = "66589b289f76bd716120f76f234e4dd663064ed5b6256c92d441d84e51d7585d" } } +extensions = [ "py" ] +polyfill = { url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/poly.py", filename = "poly.py", checksum = { type = "sha256", value = "2027b73556ca02155f026cee751ab736985917d2f28bbcad5aac928c719e1112" } } +wrapper = { url = "https://workers.wasmlabs.dev/repository/v1/files/python/3/wrapper.txt", filename = "wrapper.txt", checksum = { type = "sha256", value = "cf1edc5b1427180ec09d18f4d169580379f1b12001f30e330759f9a0f8745357" } } \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/src/commands/main.rs b/examples/containers/wasm-workers-server/src/commands/main.rs new file mode 100644 index 00000000..9698756e --- /dev/null +++ b/examples/containers/wasm-workers-server/src/commands/main.rs @@ -0,0 +1,12 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use super::runtimes::Runtimes; +use clap::Subcommand; + +/// Available subcommands in the CLI +#[derive(Subcommand, Debug)] +pub enum Main { + #[clap(name = "runtimes")] + Runtimes(Runtimes), +} diff --git a/examples/containers/wasm-workers-server/src/commands/mod.rs b/examples/containers/wasm-workers-server/src/commands/mod.rs new file mode 100644 index 00000000..bb19df4c --- /dev/null +++ b/examples/containers/wasm-workers-server/src/commands/mod.rs @@ -0,0 +1,6 @@ +// Copyright 2022 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +// The different commands for the `wws` CLI. +pub(crate) mod main; +pub(crate) mod runtimes; diff --git a/examples/containers/wasm-workers-server/src/commands/runtimes.rs b/examples/containers/wasm-workers-server/src/commands/runtimes.rs new file mode 100644 index 00000000..4c5676a0 --- /dev/null +++ b/examples/containers/wasm-workers-server/src/commands/runtimes.rs @@ -0,0 +1,212 @@ +// Copyright 2022-2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use std::path::Path; + +use crate::utils::runtimes::{ + get_repo_name, get_repo_url, install_from_repository, install_missing_runtimes, +}; +use anyhow::{anyhow, Result}; +use clap::{Args, Parser, Subcommand}; +use prettytable::{format, Cell, Row, Table}; +use wws_config::Config; +use wws_project::{check_runtime, metadata::Repository, uninstall_runtime}; + +/// Manage the language runtimes in your project +#[derive(Parser, Debug)] +pub struct Runtimes { + /// Set a different repository URL + #[arg(long)] + pub repo_url: Option, + /// Gives a name to the given repository URL + #[arg(long)] + pub repo_name: Option, + + #[command(subcommand)] + pub runtime_commands: RuntimesCommands, +} + +#[derive(Subcommand, Debug)] +pub enum RuntimesCommands { + Install(Install), + List(List), + Check(Check), + Uninstall(Uninstall), +} + +/// Install a new language runtime (like Ruby, Python, etc) +#[derive(Args, Debug)] +pub struct Install { + /// Name of the desired runtime + pub name: Option, + /// Version of the desired runtime + pub version: Option, +} + +impl Install { + /// Install the given runtime to the project. It will look for + /// the runtimes in the defined repository + pub async fn run(&self, project_root: &Path, args: &Runtimes) -> Result<()> { + match (&self.name, &self.version) { + (Some(name), Some(version)) => { + install_from_repository(project_root, args, name, version).await + } + (Some(_), None) | (None, Some(_)) => Err(anyhow!( + "The name and version are mandatory when installing a runtime from a repository" + )), + (None, None) => install_missing_runtimes(project_root).await, + } + } +} + +/// List all available runtimes to install. By default, it uses the WebAssembly +/// Language Runtime repository +#[derive(Args, Debug)] +pub struct List {} + +impl List { + /// Retrieve the list of runtimes from the remote repository and + /// show it as a list + pub async fn run(&self, args: &Runtimes) -> Result<()> { + let repo_url = get_repo_url(args); + + println!("āš™ļø Fetching data from the repository..."); + let repo = Repository::from_remote_file(&repo_url).await?; + + let mut table = Table::new(); + table.set_format(*format::consts::FORMAT_BOX_CHARS); + + table.add_row(Row::new(vec![ + Cell::new("Name"), + Cell::new("Version"), + Cell::new("Tags"), + Cell::new("Extension"), + Cell::new("Binary"), + ])); + + for runtime in &repo.runtimes { + let mut tags = runtime.tags.join(", "); + + if tags.is_empty() { + tags.push('-'); + } + + table.add_row(Row::new(vec![ + Cell::new(&runtime.name), + Cell::new(&runtime.version), + Cell::new(&tags), + Cell::new(&runtime.extensions.join(", ")), + Cell::new(&runtime.binary.filename), + ])); + } + + table.printstd(); + + Ok(()) + } +} + +/// List of locally installed runtimes +#[derive(Args, Debug)] +pub struct Check {} + +impl Check { + /// Displays the .wws.toml file dependencies and checks if they are + /// installed in the current project root. + pub fn run(&self, project_root: &Path) -> Result<()> { + // Retrieve the configuration + let config = Config::load(project_root)?; + let mut is_missing = false; + let mut total = 0; + + let mut table = Table::new(); + table.set_format(*format::consts::FORMAT_BOX_CHARS); + + table.add_row(Row::new(vec![ + Cell::new("Installed"), + Cell::new("Name"), + Cell::new("Version"), + Cell::new("Tags"), + Cell::new("Extension"), + Cell::new("Binary"), + ])); + + for repo in &config.repositories { + for runtime in &repo.runtimes { + let mut tags = runtime.tags.join(", "); + let is_installed = check_runtime(project_root, &repo.name, runtime); + + if tags.is_empty() { + tags.push('-'); + } + + if !is_installed { + is_missing = true; + } + + table.add_row(Row::new(vec![ + Cell::new(if is_installed { "āœ…" } else { "āŒ" }), + Cell::new(&runtime.name), + Cell::new(&runtime.version), + Cell::new(&tags), + Cell::new(&runtime.extensions.join(", ")), + Cell::new(&runtime.binary.filename), + ])); + + total += 1; + } + } + + table.printstd(); + + // Provide a hint + if is_missing { + println!("\nšŸ’” Tip: there are missing language runtimes. You can install them with `wws runtimes install`"); + } + + if total == 0 { + println!("\nšŸ’” Tip: you can check the available language runtimes by running `wws runtimes list`"); + } + + Ok(()) + } +} + +/// Uninstall a language runtime +#[derive(Args, Debug)] +pub struct Uninstall { + /// Name of the desired runtime + name: String, + /// Version of the desired runtime + version: String, +} + +impl Uninstall { + /// Uninstall the given runtime from the local system. This will + /// remove the files from the `.wws` folder and the runtime metadata + /// from the .wws.toml file + pub fn run(&self, project_root: &Path, args: &Runtimes) -> Result<()> { + // Retrieve the configuration + let mut config = Config::load(project_root)?; + let repo_name = get_repo_name(args); + let runtime = config.get_runtime(&repo_name, &self.name, &self.version); + + if let Some(runtime) = runtime { + println!( + "šŸ—‘ Uninstalling: {} - {} / {}", + &repo_name, &runtime.name, &runtime.version + ); + uninstall_runtime(project_root, &repo_name, runtime)?; + config.remove_runtime(&repo_name, &self.name, &self.version); + config.save(project_root)?; + } else { + println!( + "šŸ—‘ The runtime was not installed: {} - {} / {}", + &repo_name, &self.name, &self.version + ); + } + + println!("āœ… Done"); + Ok(()) + } +} diff --git a/examples/containers/wasm-workers-server/src/lib.rs b/examples/containers/wasm-workers-server/src/lib.rs new file mode 100644 index 00000000..c604d42f --- /dev/null +++ b/examples/containers/wasm-workers-server/src/lib.rs @@ -0,0 +1,9 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +#[cfg(feature = "wws_config")] +pub use wws_config; +#[cfg(feature = "wws_router")] +pub use wws_router; +#[cfg(feature = "wws_server")] +pub use wws_server; diff --git a/examples/containers/wasm-workers-server/src/main.rs b/examples/containers/wasm-workers-server/src/main.rs new file mode 100644 index 00000000..999ac0a1 --- /dev/null +++ b/examples/containers/wasm-workers-server/src/main.rs @@ -0,0 +1,213 @@ +// Copyright 2022-2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +mod commands; +mod utils; + +use crate::utils::options; +use crate::utils::runtimes::install_missing_runtimes; +use clap::Parser; +use commands::main::Main; +use commands::runtimes::RuntimesCommands; +use std::io::{Error, ErrorKind}; +use std::path::PathBuf; +use std::process::exit; +use wws_config::Config; +use wws_project::{identify_type, prepare_project, ProjectType}; +use wws_router::Routes; +use wws_server::serve; + +// Arguments +#[derive(Parser, Debug)] +#[command(author, version, about, long_about = None)] +pub struct Args { + /// Hostname to initiate the server + #[arg(long = "host", default_value = "127.0.0.1")] + hostname: String, + + /// Port to initiate the server + #[arg(short, long, default_value_t = 8080)] + port: u16, + + /// Location of the wws project. It could be a local folder or a git repository. + #[arg(value_parser, default_value = ".")] + path: PathBuf, + + /// Prepend the given path to all URLs + #[arg(long, default_value = "")] + prefix: String, + + /// Patterns to ignore when looking for worker files + #[arg(long, default_value = "")] + ignore: Vec, + + /// Install missing runtimes automatically. + #[arg(long, short)] + install_runtimes: bool, + + /// Set the commit when using a git repository as project + #[arg(long)] + git_commit: Option, + + /// Set the tag when using a git repository as project + #[arg(long)] + git_tag: Option, + + /// Set the branch when using a git repository as project + #[arg(long)] + git_branch: Option, + + /// Change the directory when using a git repository as project + #[arg(long)] + git_folder: Option, + + /// Enable the administration panel + #[arg(long)] + enable_panel: bool, + + /// Manage language runtimes in your project + #[command(subcommand)] + commands: Option

    , +} + +#[actix_web::main] +async fn main() -> std::io::Result<()> { + let args = Args::parse(); + + std::env::set_var("RUST_LOG", "actix_web=info"); + env_logger::init(); + + // Check the given subcommand + if let Some(Main::Runtimes(sub)) = &args.commands { + let mut run_result = Ok(()); + + match identify_type(&args.path) { + Ok(project_type) => match project_type { + ProjectType::Local => {} + _ => { + eprintln!("āŒ You can only manage runtimes in local projects"); + exit(1); + } + }, + Err(err) => { + eprintln!("āŒ There was an error preparing the project: {err}"); + + exit(1); + } + } + + match &sub.runtime_commands { + RuntimesCommands::List(list) => { + if let Err(err) = list.run(sub).await { + println!("āŒ There was an error listing the runtimes from the repository"); + println!("šŸ‘‰ {err}"); + run_result = Err(Error::new(ErrorKind::InvalidData, "")); + } + } + RuntimesCommands::Install(install) => { + if let Err(err) = install.run(&args.path, sub).await { + println!("āŒ There was an error installing the runtime from the repository"); + println!("šŸ‘‰ {err}"); + run_result = Err(Error::new(ErrorKind::InvalidData, "")); + } + } + RuntimesCommands::Uninstall(uninstall) => { + if let Err(err) = uninstall.run(&args.path, sub) { + println!("āŒ There was an error uninstalling the runtime"); + println!("šŸ‘‰ {err}"); + run_result = Err(Error::new(ErrorKind::InvalidData, "")); + } + } + RuntimesCommands::Check(check) => { + if let Err(err) = check.run(&args.path) { + println!("āŒ There was an error checking the local runtimes"); + println!("šŸ‘‰ {err}"); + run_result = Err(Error::new(ErrorKind::InvalidData, "")); + } + } + }; + + run_result + } else { + // TODO(Angelmmiguel): refactor this into a separate command! + + // Set the final options + let project_opts = options::build_project_options(&args); + + println!("āš™ļø Preparing the project from: {}", &args.path.display()); + let project_path = match prepare_project(&args.path, None, project_opts).await { + Ok(p) => p, + Err(err) => { + eprintln!("āŒ There was an error preparing the project: {err}"); + + exit(1); + } + }; + + // Loading the local configuration if available. + let config = match Config::load(&project_path) { + Ok(c) => c, + Err(err) => { + println!("āš ļø There was an error reading the .wws.toml file. It will be ignored"); + println!("āš ļø Error: {err}"); + + Config::default() + } + }; + + // Check if there're missing runtimes + if config.is_missing_any_runtime(&project_path) { + if args.install_runtimes { + match install_missing_runtimes(&project_path).await { + Ok(_) => {} + Err(err) => { + eprintln!("āŒ There was an error installing the missing runtimes: {err}"); + + exit(1); + } + } + } else { + println!("āš ļø Required language runtimes are not installed. Some files may not be considered workers"); + println!("āš ļø You can install the missing runtimes adding the --install-runtimes / -i flag"); + } + } + + println!("āš™ļø Loading routes from: {}", &project_path.display()); + let routes = Routes::new(&project_path, &args.prefix, args.ignore, &config); + for route in routes.routes.iter() { + println!( + " - http://{}:{}{}\n => {}", + &args.hostname, + args.port, + route.path, + route.handler.display() + ); + } + + if args.enable_panel { + println!( + "šŸŽ›ļø The admin panel is available at http://{}:{}/_panel/", + &args.hostname, args.port + ); + } + + let server = serve( + &project_path, + routes, + &args.hostname, + args.port, + args.enable_panel, + None, + ) + .await + .map_err(|err| Error::new(ErrorKind::AddrInUse, err))?; + + println!( + "šŸš€ Start serving requests at http://{}:{}\n", + &args.hostname, args.port + ); + + // Run the server + server.await + } +} diff --git a/examples/containers/wasm-workers-server/src/utils/mod.rs b/examples/containers/wasm-workers-server/src/utils/mod.rs new file mode 100644 index 00000000..7c6a9749 --- /dev/null +++ b/examples/containers/wasm-workers-server/src/utils/mod.rs @@ -0,0 +1,5 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub mod options; +pub mod runtimes; diff --git a/examples/containers/wasm-workers-server/src/utils/options.rs b/examples/containers/wasm-workers-server/src/utils/options.rs new file mode 100644 index 00000000..078520ab --- /dev/null +++ b/examples/containers/wasm-workers-server/src/utils/options.rs @@ -0,0 +1,33 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::Args; +use wws_project::options::{GitOptions, GitReference, Options}; + +/// Create the project options from the CLI arguments +pub fn build_project_options(args: &Args) -> Options { + Options { + local: None, + git: Some(build_git_options(args)), + } +} + +/// Create the Git options from the CLI arguments +pub fn build_git_options(args: &Args) -> GitOptions { + let mut git_opts = GitOptions::default(); + + // This conditional is prioritized: commit > tag > branch + if let Some(commit) = args.git_commit.as_ref() { + git_opts.git_ref = Some(GitReference::Commit(commit.clone())); + } else if let Some(tag) = args.git_tag.as_ref() { + git_opts.git_ref = Some(GitReference::Tag(tag.clone())); + } else if let Some(branch) = args.git_branch.as_ref() { + git_opts.git_ref = Some(GitReference::Branch(branch.clone())); + } + + if let Some(folder) = args.git_folder.as_ref() { + git_opts.folder = Some(folder.clone()); + } + + git_opts +} diff --git a/examples/containers/wasm-workers-server/src/utils/runtimes.rs b/examples/containers/wasm-workers-server/src/utils/runtimes.rs new file mode 100644 index 00000000..d753bd66 --- /dev/null +++ b/examples/containers/wasm-workers-server/src/utils/runtimes.rs @@ -0,0 +1,102 @@ +// Copyright 2023 VMware, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use anyhow::{anyhow, Result}; +use std::{env, path::Path}; +use wws_config::Config; +use wws_project::{check_runtime, install_runtime, metadata::Repository}; + +use crate::commands::runtimes::Runtimes; + +/// Default repository name +pub const DEFAULT_REPO_NAME: &str = "wasmlabs"; +/// Default repository URL +pub const DEFAULT_REPO_URL: &str = "https://workers.wasmlabs.dev/repository/v1/index.toml"; + +/// Environment variable to set the repository name +pub const WWS_REPO_NAME: &str = "WWS_REPO_NAME"; +pub const WWS_REPO_URL: &str = "WWS_REPO_URL"; + +/// Loads the local configuration and installs any missing runtime from it. +/// It will check all the different repositories and install missing +/// runtimes inside them. +pub async fn install_missing_runtimes(project_root: &Path) -> Result<()> { + println!("āš™ļø Checking local configuration..."); + // Retrieve the configuration + let config = Config::load(project_root)?; + + for repo in &config.repositories { + for runtime in &repo.runtimes { + let is_installed = check_runtime(project_root, &repo.name, runtime); + + if !is_installed { + println!( + "šŸš€ Installing: {} - {} / {}", + &repo.name, &runtime.name, &runtime.version + ); + install_runtime(project_root, &repo.name, runtime).await?; + } + } + } + + println!("āœ… Done"); + Ok(()) +} + +/// Retrieves the remote repository and installs the desired runtime. +/// It will return an error if the desired runtime is not present in +/// the repo. +pub async fn install_from_repository( + project_root: &Path, + args: &Runtimes, + name: &str, + version: &str, +) -> Result<()> { + let repo_name = get_repo_name(args); + let repo_url = get_repo_url(args); + + println!("āš™ļø Fetching data from the repository..."); + let repo = Repository::from_remote_file(&repo_url).await?; + let runtime = repo.find_runtime(name, version); + + if let Some(runtime) = runtime { + if check_runtime(project_root, &repo_name, runtime) { + println!("āœ… The runtime is already installed"); + Ok(()) + } else { + println!("šŸš€ Installing the runtime..."); + install_runtime(project_root, &repo_name, runtime).await?; + + // Update the configuration + let mut config = Config::load(project_root)?; + config.save_runtime(&repo_name, &repo_url, runtime); + config.save(project_root)?; + + println!("āœ… Done"); + Ok(()) + } + } else { + Err(anyhow!( + "The runtime with name = '{}' and version = '{}' is not present in the repository", + name, + version + )) + } +} + +/// Utility to retrieve the repository name for the given command. +/// It will look first for the flag and fallback to the default value. +pub fn get_repo_name(args: &Runtimes) -> String { + let default_value = env::var(WWS_REPO_NAME).unwrap_or_else(|_| DEFAULT_REPO_NAME.into()); + args.repo_name + .as_ref() + .unwrap_or(&default_value) + .to_string() +} + +/// Utility to retrieve the repository url for the given command. +/// It will look first for the flag and fallback to the default value. +pub fn get_repo_url(args: &Runtimes) -> String { + let default_value = env::var(WWS_REPO_URL).unwrap_or_else(|_| DEFAULT_REPO_URL.into()); + args.repo_url.as_ref().unwrap_or(&default_value).to_string() +} diff --git a/examples/containers/wasm-workers-server/tests/data/metadata/repository.toml b/examples/containers/wasm-workers-server/tests/data/metadata/repository.toml new file mode 100644 index 00000000..ea64bf9d --- /dev/null +++ b/examples/containers/wasm-workers-server/tests/data/metadata/repository.toml @@ -0,0 +1,11 @@ +version = 1 + +[[runtimes]] +name = "ruby" +version = "3.2.0+20230118-8aec06d" +status = "active" +args = [ "--", "/src/index.rb" ] +binary = { filename = "ruby.wasm", url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230118-8aec06d/ruby-3.2.0.wasm", checksum = { type = "sha256", value = "e2d91cff05ec59ed9c88aadbd3b477842092054bf24c5d944d5ad6dbafdd3b32" } } +extensions = [ "rb" ] +polyfill = { filename = "poly.rb", url = "https://raw.githubusercontent.com/Angelmmiguel/wws-index-test/main/ruby/poly.rb", checksum = { type = "sha256", value = "2ba09117ed20a05480615b2aaaf6c7cd7f61fa06f4919777d773df2fcbc736cf" } } +template = { filename = "template.txt", url = "https://raw.githubusercontent.com/Angelmmiguel/wws-index-test/main/ruby/template.txt", checksum = { type = "sha256", value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" } } \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/tests/data/metadata/runtime.toml b/examples/containers/wasm-workers-server/tests/data/metadata/runtime.toml new file mode 100644 index 00000000..c3cb0951 --- /dev/null +++ b/examples/containers/wasm-workers-server/tests/data/metadata/runtime.toml @@ -0,0 +1,8 @@ +name = "ruby" +version = "3.2.0+20230118-8aec06d" +status = "active" +args = [ "--", "/src/index.rb" ] +binary = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/ruby%2F3.2.0%2B20230118-8aec06d/ruby-3.2.0.wasm", filename = "ruby.wasm", checksum = { type = "sha256", value = "e2d91cff05ec59ed9c88aadbd3b477842092054bf24c5d944d5ad6dbafdd3b32" } } +extensions = [ "rb" ] +polyfill = { url = "https://raw.githubusercontent.com/Angelmmiguel/wws-index-test/main/ruby/poly.rb", filename = "poly.rb", checksum = { type = "sha256", value = "2ba09117ed20a05480615b2aaaf6c7cd7f61fa06f4919777d773df2fcbc736cf" } } +template = { url = "https://raw.githubusercontent.com/Angelmmiguel/wws-index-test/main/ruby/template.txt", filename = "template.txt", checksum = { type = "sha256", value = "6d808b4747cf30f82665a38a47e1176513bbdd6ad558c09db03d719e33ad2da0" } } \ No newline at end of file diff --git a/examples/containers/wasm-workers-server/tests/data/params/[id].wasm b/examples/containers/wasm-workers-server/tests/data/params/[id].wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/tests/data/params/[id]/fixed.wasm b/examples/containers/wasm-workers-server/tests/data/params/[id]/fixed.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/tests/data/params/fixed.wasm b/examples/containers/wasm-workers-server/tests/data/params/fixed.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/tests/data/params/sub/[id].wasm b/examples/containers/wasm-workers-server/tests/data/params/sub/[id].wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/examples/containers/wasm-workers-server/tests/data/public/.keep b/examples/containers/wasm-workers-server/tests/data/public/.keep new file mode 100644 index 00000000..e69de29b diff --git a/examples/containers/wasm-workers-server/tests/e2e.rs b/examples/containers/wasm-workers-server/tests/e2e.rs new file mode 100644 index 00000000..bfe49a12 --- /dev/null +++ b/examples/containers/wasm-workers-server/tests/e2e.rs @@ -0,0 +1,178 @@ +#[cfg(test)] +mod test { + use std::io::{BufRead, BufReader}; + use std::path::PathBuf; + use std::process::{Child, Command, Stdio}; + use std::time::Instant; + use std::{env, io}; + + // Default timeout when waiting for wws to be ready + static DEFAULT_MAX_TIMEOUT: u64 = 30; + + #[cfg(not(target_os = "windows"))] + fn get_wws_path() -> PathBuf { + let path = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap()); + + // Use release when it's available + let wws_path = if path.join("target/release/wws").exists() { + path.join("target/release/wws") + } else { + path.join("target/debug/wws") + }; + + println!("[E2E] Running wws from {}", wws_path.display()); + + wws_path + } + + #[cfg(target_os = "windows")] + fn get_wws_path() -> PathBuf { + let path = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap()); + + // Use release when it's available + let wws_path = if path.join("target/release/wws.exe").exists() { + path.join("target/release/wws.exe") + } else { + path.join("target/debug/wws.exe") + }; + + println!("[E2E] Running wws from {}", wws_path.display()); + + wws_path + } + + fn run(example_path: &str, max_timeout: u64) -> io::Result { + let path = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap()); + let example_path = path.join("examples").join(example_path); + let wws_path = get_wws_path(); + + // Install missing runtimes + println!("[E2E] Installing missing runtimes"); + Command::new(&wws_path) + .current_dir(&example_path) + .args(["runtimes", "install"]) + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .status()?; + + // Run the example + println!("[E2E] Running the service"); + let mut child = Command::new(&wws_path) + .arg(&example_path) + .stdout(Stdio::piped()) + .spawn()?; + + let stdout = child.stdout.take().unwrap(); + let reader = BufReader::new(stdout); + + // Set a max timeout + let instant = Instant::now(); + + for line in reader.lines() { + let line = line.unwrap(); + + // Break when ready of after the timeout + if line.contains("Start serving requests") { + break; + } else if instant.elapsed().as_secs() >= max_timeout { + println!("Timeout waiting for wws to be ready"); + break; + } + } + + Ok(child) + } + + fn request_body(url: &str) -> Result { + reqwest::blocking::get(url)?.text() + } + + // Check the examples/js-json works + fn run_end_to_end_test(example: &str, max_timeout: u64, url: &str, expected_text: &str) { + println!("[E2E] Running example: {example}"); + + let mut child = run(example, max_timeout).expect("Failed to execute command"); + + // sleep_for(waiting_seconds); + + let body = match request_body(url) { + Ok(body) => body, + Err(err) => { + eprintln!("[E2E] Error getting the body from the request to {url}"); + eprintln!("[E2E] Error: {}", err); + String::new() + } + }; + + println!("[E2E] Body content: {body}"); + + println!("[E2E] Stopping wws process [{}]", &child.id()); + child.kill().expect("Error stopping wws"); + + // Test + assert!(body.contains(expected_text)); + } + + #[test] + // Use this approach to run tests sequentially + fn test_end_to_end() { + // Allow configuring waiting times. It avoids having long waiting times + // in development, while making it configurable in the CI + let max_timeout = env::var("E2E_MAX_WAITING_TIME").map_or(DEFAULT_MAX_TIMEOUT, |str| { + str.parse::().ok().unwrap_or(DEFAULT_MAX_TIMEOUT) + }); + + let tests = [ + ( + "rust-basic", + "http://localhost:8080/basic", + "This page was generated by a Wasm module built from Rust", + ), + ("rust-kv", "http://localhost:8080/kv", "Counter: 0"), + ( + "rust-params", + "http://localhost:8080/thisisatest", + "thisisatest", + ), + ( + "js-basic", + "http://localhost:8080", + "This page was generated by a JavaScript file", + ), + ( + "js-async", + "http://localhost:8080", + "This page was generated by a JavaScript (async worker) file", + ), + ( + "js-json", + "http://localhost:8080/handler", + "This message comes from an environment variable", + ), + ( + "js-params", + "http://localhost:8080/thisisatest", + "thisisatest", + ), + ( + "python-basic", + "http://localhost:8080/", + "This page was generated by a Python script", + ), + ( + "python-mount", + "http://localhost:8080/", + "This page was loaded from a mounted file", + ), + ( + "ruby-basic", + "http://localhost:8080/", + "This page was generated by a Ruby script", + ), + ]; + + for (example, url, expected_text) in tests { + run_end_to_end_test(example, max_timeout, url, expected_text); + } + } +} diff --git a/examples/containers/wasm-workers-server/wit/core/http-types.wit b/examples/containers/wasm-workers-server/wit/core/http-types.wit new file mode 100644 index 00000000..05d40413 --- /dev/null +++ b/examples/containers/wasm-workers-server/wit/core/http-types.wit @@ -0,0 +1,60 @@ +// URI +type uri = string + +// HTTP Status +type http-status = u16 + +// Header +type http-header = tuple +type http-headers = list + +// Methods +enum http-method { + get, + post, + put, + patch, + delete, + options, + head +} + +// URL params +type http-param = tuple +type http-params = list + +// The body content +type http-body = list + +// A complete HTTP request +record http-request { + body: option, + headers: http-headers, + method: http-method, + params: http-params, + uri: uri, +} + +// Return information about a failed request +record http-request-error { + error: http-error, + message: string +} + +// A complete HTTP response +record http-response { + body: option, + headers: http-headers, + status: http-status, +} + +// The list of errors +enum http-error { + invalid-request, + invalid-request-body, + invalid-response-body, + not-allowed, + internal-error, + timeout, + redirect-loop, +} diff --git a/examples/containers/wasm-workers-server/wit/core/http.wit b/examples/containers/wasm-workers-server/wit/core/http.wit new file mode 100644 index 00000000..038a3ea3 --- /dev/null +++ b/examples/containers/wasm-workers-server/wit/core/http.wit @@ -0,0 +1,4 @@ +use * from http-types + +// Send a HTTP request from inside the worker. +send-http-request: func(request: http-request) -> expected diff --git a/examples/containers/wasm-workers-server/wit/go-ephemeral/http-types.wit b/examples/containers/wasm-workers-server/wit/go-ephemeral/http-types.wit new file mode 100644 index 00000000..3db3a9af --- /dev/null +++ b/examples/containers/wasm-workers-server/wit/go-ephemeral/http-types.wit @@ -0,0 +1,62 @@ +default interface http-types { + // URI + type uri = string + + // HTTP Status + type http-status = u16 + + // Header + type http-header = tuple + type http-headers = list + + // Methods + enum http-method { + get, + post, + put, + patch, + delete, + options, + head + } + + // URL params + type http-param = tuple + type http-params = list + + // The body content + type http-body = list + + // A complete HTTP request + record http-request { + body: option, + headers: http-headers, + method: http-method, + params: http-params, + uri: uri, + } + + // Return information about a failed request + record http-request-error { + error: http-error, + message: string + } + + // A complete HTTP response + record http-response { + body: option, + headers: http-headers, + status: http-status, + } + + // The list of errors + enum http-error { + invalid-request, + invalid-request-body, + invalid-response-body, + not-allowed, + internal-error, + timeout, + redirect-loop, + } +} diff --git a/examples/containers/wasm-workers-server/wit/go-ephemeral/http.wit b/examples/containers/wasm-workers-server/wit/go-ephemeral/http.wit new file mode 100644 index 00000000..ba8065d8 --- /dev/null +++ b/examples/containers/wasm-workers-server/wit/go-ephemeral/http.wit @@ -0,0 +1,11 @@ +interface http-interface { + use pkg.http-types.{http-request,http-response,http-request-error} + + // Send a HTTP request from inside the worker. + send-http-request: func(request: http-request) -> result +} + +default world bindings { + // Send a HTTP request from inside the worker. + import http: self.http-interface +}

    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�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

  • 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