From 2cda315d72a15919729fbad6dc9cc311fbcba29f Mon Sep 17 00:00:00 2001 From: igor Date: Sat, 17 Aug 2024 14:21:56 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=8D=EF=B8=8F=20Just=20write=20sli?= =?UTF-8?q?des?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd.yaml | 52 + .gitignore | 1 + Cargo.lock | 4559 +++-------------- Cargo.toml | 31 +- Dioxus.toml | 40 +- assets/header.svg | 21 +- .../Rust_programming_language_black_logo.svg | 1 + assets/icons/Rustacean-flat-gesture.svg | 1 + assets/icons/Rustacean-flat-happy.svg | 1 + assets/icons/crate.png | Bin 0 -> 60046 bytes assets/icons/dioxus.png | Bin 0 -> 14861 bytes assets/icons/discord.svg | 1 + assets/icons/duke.png | Bin 0 -> 179200 bytes assets/icons/ferris.svg | 1 + assets/icons/github.svg | 1 + assets/icons/lit.svg | 1 + assets/icons/mdn.svg | 1 + assets/icons/stencil.png | Bin 0 -> 401 bytes assets/icons/voxxr.png | Bin 0 -> 4013 bytes assets/icons/web-components.svg | 1 + assets/icons/y-combinator.svg | 1 + assets/jugsummercamp-footer.png | Bin 0 -> 57741 bytes assets/jugsummercamp-header.png | Bin 0 -> 148525 bytes assets/jugsummercamp-header.png.br | Bin 0 -> 147909 bytes assets/jugsummercamp-logo-144.png | Bin 0 -> 23580 bytes assets/jugsummercamp-logo-144.png.br | Bin 0 -> 23575 bytes assets/jugsummercamp-logo.png | Bin 0 -> 105625 bytes assets/jugsummercamp.css | 344 ++ assets/jugsummercamp.png | Bin 0 -> 233733 bytes assets/jugsummercamp.png.br | Bin 0 -> 231069 bytes assets/livecode.css | 122 + assets/main.css | 268 +- assets/pico.colors.min.css | 4 + assets/pico.min.css | 4 + assets/pico.min.css.br | Bin 0 -> 9953 bytes assets/print.css | 41 + assets/prismjs/prism.css | 418 ++ assets/prismjs/prism.js | 8 + assets/vector8-logo.svg | 1 + assets/vector8.svg | 1 + assets/xtermjs/addon-attach.js | 2 + assets/xtermjs/addon-attach.js.br | Bin 0 -> 649 bytes assets/xtermjs/addon-attach.js.map | 1 + assets/xtermjs/addon-attach.js.map.br | Bin 0 -> 1907 bytes assets/xtermjs/addon-clipboard.js | 2 + assets/xtermjs/addon-clipboard.js.br | Bin 0 -> 2216 bytes assets/xtermjs/addon-clipboard.js.map | 1 + assets/xtermjs/addon-clipboard.js.map.br | Bin 0 -> 7497 bytes assets/xtermjs/addon-fit.js | 2 + assets/xtermjs/addon-fit.js.br | Bin 0 -> 538 bytes assets/xtermjs/addon-fit.js.map | 1 + assets/xtermjs/addon-fit.js.map.br | Bin 0 -> 1729 bytes assets/xtermjs/addon-ligatures.js | 3 + assets/xtermjs/addon-ligatures.js.br | Bin 0 -> 45112 bytes assets/xtermjs/addon-ligatures.js.map | 1 + assets/xtermjs/addon-ligatures.js.map.br | Bin 0 -> 162304 bytes assets/xtermjs/addon-unicode11.js | 2 + assets/xtermjs/addon-unicode11.js.br | Bin 0 -> 3121 bytes assets/xtermjs/addon-unicode11.js.map | 1 + assets/xtermjs/addon-web-links.js | 2 + assets/xtermjs/addon-web-links.js.br | Bin 0 -> 1269 bytes assets/xtermjs/addon-web-links.js.map | 1 + assets/xtermjs/xterm.css | 218 + assets/xtermjs/xterm.js | 2 + assets/xtermjs/xterm.js.br | Bin 0 -> 56339 bytes assets/xtermjs/xterm.js.map | 1 + assets/xtermjs/xterm.js.map.br | Bin 0 -> 225687 bytes src/components.rs | 23 + src/components/browser.rs | 12 + src/components/code_block.rs | 43 + src/components/github_corner.rs | 16 + src/components/github_corner.svg | 1 + src/components/links.rs | 12 + src/components/live_code.rs | 13 + src/components/slide.rs | 77 + src/components/terminal/bridge.rs | 84 + src/components/terminal/catppuccin-latte.json | 1 + .../terminal/catppuccin-macchiato.json | 1 + src/components/terminal/mod.rs | 147 + src/components/terminal/terminal.js | 114 + src/components/window.rs | 20 + src/id.rs | 82 + src/index_print.html | 49 + src/keybindings.rs | 40 + src/lib.rs | 44 + src/main.rs | 62 +- src/pages/live.rs | 16 + src/pages/mod.rs | 60 + src/talk/conclusion.rs | 116 + src/talk/dioxus/dx-1.rs | 23 + src/talk/dioxus/dx-2.rs | 22 + src/talk/dioxus/wc-1.rs | 16 + src/talk/dioxus/wc-2.rs | 18 + src/talk/dioxus_wc.rs | 138 + src/talk/introduction.rs | 64 + src/talk/mod.rs | 44 + src/talk/rust/final-1.rs | 22 + src/talk/rust/final-2.rs | 16 + src/talk/rust/final-3.rs | 19 + src/talk/rust/final-4.rs | 23 + src/talk/rust/final-5.rs | 19 + src/talk/rust/final-6.rs | 30 + src/talk/rust/glue.js | 24 + src/talk/rust_wc.rs | 191 + src/talk/vanilla/final-1.ts | 14 + src/talk/vanilla/final-2.ts | 22 + src/talk/vanilla/final-3.ts | 12 + src/talk/vanilla_wc.rs | 157 + 108 files changed, 4214 insertions(+), 3858 deletions(-) create mode 100644 .github/workflows/cd.yaml create mode 100644 assets/icons/Rust_programming_language_black_logo.svg create mode 100644 assets/icons/Rustacean-flat-gesture.svg create mode 100644 assets/icons/Rustacean-flat-happy.svg create mode 100644 assets/icons/crate.png create mode 100644 assets/icons/dioxus.png create mode 100644 assets/icons/discord.svg create mode 100644 assets/icons/duke.png create mode 100644 assets/icons/ferris.svg create mode 100644 assets/icons/github.svg create mode 100644 assets/icons/lit.svg create mode 100644 assets/icons/mdn.svg create mode 100644 assets/icons/stencil.png create mode 100644 assets/icons/voxxr.png create mode 100644 assets/icons/web-components.svg create mode 100644 assets/icons/y-combinator.svg create mode 100644 assets/jugsummercamp-footer.png create mode 100644 assets/jugsummercamp-header.png create mode 100644 assets/jugsummercamp-header.png.br create mode 100644 assets/jugsummercamp-logo-144.png create mode 100644 assets/jugsummercamp-logo-144.png.br create mode 100644 assets/jugsummercamp-logo.png create mode 100644 assets/jugsummercamp.css create mode 100644 assets/jugsummercamp.png create mode 100644 assets/jugsummercamp.png.br create mode 100644 assets/livecode.css create mode 100644 assets/pico.colors.min.css create mode 100644 assets/pico.min.css create mode 100644 assets/pico.min.css.br create mode 100644 assets/print.css create mode 100644 assets/prismjs/prism.css create mode 100644 assets/prismjs/prism.js create mode 100644 assets/vector8-logo.svg create mode 100644 assets/vector8.svg create mode 100644 assets/xtermjs/addon-attach.js create mode 100644 assets/xtermjs/addon-attach.js.br create mode 100644 assets/xtermjs/addon-attach.js.map create mode 100644 assets/xtermjs/addon-attach.js.map.br create mode 100644 assets/xtermjs/addon-clipboard.js create mode 100644 assets/xtermjs/addon-clipboard.js.br create mode 100644 assets/xtermjs/addon-clipboard.js.map create mode 100644 assets/xtermjs/addon-clipboard.js.map.br create mode 100644 assets/xtermjs/addon-fit.js create mode 100644 assets/xtermjs/addon-fit.js.br create mode 100644 assets/xtermjs/addon-fit.js.map create mode 100644 assets/xtermjs/addon-fit.js.map.br create mode 100644 assets/xtermjs/addon-ligatures.js create mode 100644 assets/xtermjs/addon-ligatures.js.br create mode 100644 assets/xtermjs/addon-ligatures.js.map create mode 100644 assets/xtermjs/addon-ligatures.js.map.br create mode 100644 assets/xtermjs/addon-unicode11.js create mode 100644 assets/xtermjs/addon-unicode11.js.br create mode 100644 assets/xtermjs/addon-unicode11.js.map create mode 100644 assets/xtermjs/addon-web-links.js create mode 100644 assets/xtermjs/addon-web-links.js.br create mode 100644 assets/xtermjs/addon-web-links.js.map create mode 100644 assets/xtermjs/xterm.css create mode 100644 assets/xtermjs/xterm.js create mode 100644 assets/xtermjs/xterm.js.br create mode 100644 assets/xtermjs/xterm.js.map create mode 100644 assets/xtermjs/xterm.js.map.br create mode 100644 src/components.rs create mode 100644 src/components/browser.rs create mode 100644 src/components/code_block.rs create mode 100644 src/components/github_corner.rs create mode 100644 src/components/github_corner.svg create mode 100644 src/components/links.rs create mode 100644 src/components/live_code.rs create mode 100644 src/components/slide.rs create mode 100644 src/components/terminal/bridge.rs create mode 100644 src/components/terminal/catppuccin-latte.json create mode 100644 src/components/terminal/catppuccin-macchiato.json create mode 100644 src/components/terminal/mod.rs create mode 100644 src/components/terminal/terminal.js create mode 100644 src/components/window.rs create mode 100644 src/id.rs create mode 100644 src/index_print.html create mode 100644 src/keybindings.rs create mode 100644 src/pages/live.rs create mode 100644 src/pages/mod.rs create mode 100644 src/talk/conclusion.rs create mode 100644 src/talk/dioxus/dx-1.rs create mode 100644 src/talk/dioxus/dx-2.rs create mode 100644 src/talk/dioxus/wc-1.rs create mode 100644 src/talk/dioxus/wc-2.rs create mode 100644 src/talk/dioxus_wc.rs create mode 100644 src/talk/introduction.rs create mode 100644 src/talk/mod.rs create mode 100644 src/talk/rust/final-1.rs create mode 100644 src/talk/rust/final-2.rs create mode 100644 src/talk/rust/final-3.rs create mode 100644 src/talk/rust/final-4.rs create mode 100644 src/talk/rust/final-5.rs create mode 100644 src/talk/rust/final-6.rs create mode 100644 src/talk/rust/glue.js create mode 100644 src/talk/rust_wc.rs create mode 100644 src/talk/vanilla/final-1.ts create mode 100644 src/talk/vanilla/final-2.ts create mode 100644 src/talk/vanilla/final-3.ts create mode 100644 src/talk/vanilla_wc.rs diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml new file mode 100644 index 0000000..cc72f50 --- /dev/null +++ b/.github/workflows/cd.yaml @@ -0,0 +1,52 @@ +name: CD + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build-deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + targets: x86_64-unknown-linux-gnu,wasm32-unknown-unknown + - uses: Swatinem/rust-cache@v2 + with: + cache-all-crates: "true" + save-if: ${{ github.ref == 'refs/heads/main' }} + - uses: cargo-bins/cargo-binstall@main + - name: Install CLI + run: cargo binstall dioxus-cli -y --force + + - name: ⚙️ Build + run: dx build --release --features print + - name: Custom HTML page + run: cp src/index_print.html dist/index.html + + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: 'dist' + - name: 🚀 Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 5f0b8d2..d7b548a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ # this file will generate by tailwind: /assets/tailwind.css +/assets/**/*.br # These are backup files generated by rustfmt **/*.rs.bk diff --git a/Cargo.lock b/Cargo.lock index 44e64f2..028dccb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -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.8.11" @@ -29,15 +14,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - [[package]] name = "allocator-api2" version = "0.2.18" @@ -45,107 +21,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "ashpd" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" -dependencies = [ - "async-fs", - "async-net", - "enumflags2", - "futures-channel", - "futures-util", - "rand 0.8.5", - "serde", - "serde_repr", - "url", - "zbus", -] - -[[package]] -name = "assert2" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "844ca3172d927ddd9d01f63b6c80f4ebd3e01c3f787c204626635450dfe3edba" -dependencies = [ - "assert2-macros", - "diff", - "is-terminal", - "yansi", -] - -[[package]] -name = "assert2-macros" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ec0e42bd0fe1c8d72c7bde53ac8686764cea0fd86f412b92fcad20fea08b489" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 1.0.109", -] - -[[package]] -name = "async-broadcast" -version = "0.7.1" +name = "anymap2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" -dependencies = [ - "event-listener", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] +checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" [[package]] name = "async-channel" @@ -159,120 +38,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-executor" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-io" -version = "2.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "2.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "async-signal" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.59.0", -] - [[package]] name = "async-task" version = "4.7.1" @@ -287,30 +52,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", -] - -[[package]] -name = "atk" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" -dependencies = [ - "atk-sys", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", + "syn", ] [[package]] @@ -325,21 +67,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - [[package]] name = "base64" version = "0.21.7" @@ -347,16 +74,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bitflags" -version = "1.3.2" +name = "bincode" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] [[package]] name = "bitflags" @@ -367,21 +91,6 @@ dependencies = [ "serde", ] -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[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 = "blocking" version = "1.6.1" @@ -413,31 +122,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -[[package]] -name = "cairo-rs" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" -dependencies = [ - "bitflags 2.6.0", - "cairo-sys-rs", - "glib", - "libc", - "once_cell", - "thiserror", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - [[package]] name = "camino" version = "1.1.8" @@ -470,32 +154,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "cc" -version = "1.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" -dependencies = [ - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfb" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" -dependencies = [ - "byteorder", - "fnv", - "uuid", -] - [[package]] name = "cfg-expr" version = "0.15.8" @@ -503,7 +161,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", - "target-lexicon", ] [[package]] @@ -512,12 +169,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "ciborium" version = "0.2.2" @@ -545,52 +196,6 @@ dependencies = [ "half", ] -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types 0.5.0", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -636,12 +241,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "convert_case" version = "0.6.0" @@ -652,134 +251,30 @@ dependencies = [ ] [[package]] -name = "core-foundation" -version = "0.9.4" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] -name = "core-foundation-sys" -version = "0.8.7" +name = "crunchy" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "core-graphics" -version = "0.23.2" +name = "darling" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types 0.5.0", - "libc", + "darling_core", + "darling_macro", ] [[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[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 = "cssparser" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa 0.4.8", - "matches", - "phf 0.8.0", - "proc-macro2", - "quote", - "smallvec", - "syn 1.0.109", -] - -[[package]] -name = "cssparser-macros" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" -dependencies = [ - "quote", - "syn 2.0.74", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" +name = "darling_core" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ @@ -787,7 +282,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -798,7 +293,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -808,36 +303,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.5", + "hashbrown", "lock_api", "once_cell", "parking_lot_core", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "convert_case 0.4.0", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.74", -] - [[package]] name = "derive_more" version = "1.0.0" @@ -853,29 +324,13 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "convert_case 0.6.0", + "convert_case", "proc-macro2", "quote", - "syn 2.0.74", + "syn", "unicode-xid", ] -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - [[package]] name = "dioxus" version = "0.5.6" @@ -885,13 +340,13 @@ dependencies = [ "dioxus-config-macro", "dioxus-core", "dioxus-core-macro", - "dioxus-desktop", "dioxus-fullstack", "dioxus-hooks", "dioxus-hot-reload", "dioxus-html", "dioxus-router", "dioxus-signals", + "dioxus-web", ] [[package]] @@ -941,12 +396,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d9c0dfe0e6a46626fa716c4aa1d2ccb273441337909cfeacad5bb6fcfb947d2" dependencies = [ "constcat", - "convert_case 0.6.0", + "convert_case", "dioxus-rsx", "prettyplease", "proc-macro2", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -955,45 +410,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ea539174bb236e0e7dc9c12b19b88eae3cb574dedbd0252a2d43ea7e6de13e2" -[[package]] -name = "dioxus-desktop" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e0380cfcf44ed9310c6fd28454a7351293134d47b7e0b7baeaad5c5beded68" -dependencies = [ - "async-trait", - "cocoa", - "core-foundation", - "dioxus-cli-config", - "dioxus-core", - "dioxus-hooks", - "dioxus-hot-reload", - "dioxus-html", - "dioxus-interpreter-js", - "dunce", - "futures-channel", - "futures-util", - "generational-box", - "global-hotkey", - "infer", - "muda", - "objc", - "objc_id", - "rfd", - "rustc-hash", - "serde", - "serde_json", - "signal-hook", - "slab", - "tao", - "thiserror", - "tokio", - "tracing", - "urlencoding", - "webbrowser", - "wry", -] - [[package]] name = "dioxus-fullstack" version = "0.5.6" @@ -1001,12 +417,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b80f0ac18166302341164e681322e0385131c08a11c3cc1c51ee8df799ab0d3d" dependencies = [ "async-trait", - "base64 0.21.7", + "base64", "bytes", "ciborium", - "dioxus-desktop", "dioxus-hot-reload", "dioxus-lib", + "dioxus-web", "dioxus_server_macro", "futures-util", "once_cell", @@ -1014,6 +430,7 @@ dependencies = [ "serde_json", "server_fn", "tracing", + "web-sys", ] [[package]] @@ -1065,8 +482,8 @@ dependencies = [ "serde-value", "serde_json", "serde_repr", - "tokio", "tracing", + "wasm-bindgen", "web-sys", ] @@ -1076,10 +493,10 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b96f35a608d0ab8f4ca6f66ce1828354e4ebd41580b12454f490221a11da93c" dependencies = [ - "convert_case 0.6.0", + "convert_case", "proc-macro2", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -1088,11 +505,13 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "351fad098c657d14f3ac2900362d2b86e83c22c4c620a404839e1ab628f3395b" dependencies = [ - "dioxus-core", - "dioxus-html", + "js-sys", "md5", "sledgehammer_bindgen", "sledgehammer_utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] @@ -1130,9 +549,14 @@ dependencies = [ "dioxus-cli-config", "dioxus-lib", "dioxus-router-macro", + "gloo 0.8.1", + "gloo-utils 0.1.7", + "js-sys", "tracing", "url", "urlencoding", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -1144,7 +568,7 @@ dependencies = [ "proc-macro2", "quote", "slab", - "syn 2.0.74", + "syn", ] [[package]] @@ -1158,7 +582,7 @@ dependencies = [ "krates", "proc-macro2", "quote", - "syn 2.0.74", + "syn", "tracing", ] @@ -1179,102 +603,41 @@ dependencies = [ ] [[package]] -name = "dioxus_server_macro" +name = "dioxus-web" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ef2cad17001c1155f019cb69adbacd620644566d78a77d0778807bb106a337" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "server_fn_macro", - "syn 2.0.74", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dlopen2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "dtoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" - -[[package]] -name = "dtoa-short" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +checksum = "e0855ac81fcc9252a0863930a7a7cbb2504fc1b6efe893489c8d0e23aaeb2cb9" dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "endi" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" - -[[package]] -name = "enumflags2" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" -dependencies = [ - "enumflags2_derive", + "async-trait", + "console_error_panic_hook", + "dioxus-core", + "dioxus-html", + "dioxus-interpreter-js", + "futures-channel", + "futures-util", + "generational-box", + "js-sys", + "rustc-hash", "serde", + "serde-wasm-bindgen 0.5.0", + "serde_json", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "enumflags2_derive" -version = "0.7.10" +name = "dioxus_server_macro" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +checksum = "b5ef2cad17001c1155f019cb69adbacd620644566d78a77d0778807bb106a337" dependencies = [ + "convert_case", "proc-macro2", "quote", - "syn 2.0.74", + "server_fn_macro", + "syn", ] [[package]] @@ -1295,7 +658,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -1304,16 +667,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "euclid" version = "0.22.10" @@ -1351,89 +704,18 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" -[[package]] -name = "fdeflate" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "field-offset" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - [[package]] name = "fixedbitset" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" -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 0.1.1", -] - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared 0.3.1", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1443,16 +725,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "futf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" -dependencies = [ - "mac", - "new_debug_unreachable", -] - [[package]] name = "futures" version = "0.3.30" @@ -1507,10 +779,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand", "futures-core", - "futures-io", - "parking", "pin-project-lite", ] @@ -1522,7 +791,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn", ] [[package]] @@ -1537,12 +806,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.30" @@ -1562,290 +825,326 @@ dependencies = [ ] [[package]] -name = "fxhash" -version = "0.2.1" +name = "generational-box" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +checksum = "557cf2cbacd0504c6bf8c29f52f8071e0de1d9783346713dc6121d7fa1e5d0e0" dependencies = [ - "byteorder", + "parking_lot", ] [[package]] -name = "gdk" -version = "0.18.0" +name = "getrandom" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", + "cfg-if", + "js-sys", "libc", - "pango", + "wasi", + "wasm-bindgen", ] [[package]] -name = "gdk-pixbuf" -version = "0.18.5" +name = "gloo" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +checksum = "28999cda5ef6916ffd33fb4a7b87e1de633c47c0dc6d97905fee1cdaa142b94d" dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", - "once_cell", + "gloo-console 0.2.3", + "gloo-dialogs 0.1.1", + "gloo-events 0.1.2", + "gloo-file 0.2.3", + "gloo-history 0.1.5", + "gloo-net 0.3.1", + "gloo-render 0.1.1", + "gloo-storage 0.2.2", + "gloo-timers 0.2.6", + "gloo-utils 0.1.7", + "gloo-worker 0.2.1", ] [[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" +name = "gloo" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +checksum = "d15282ece24eaf4bd338d73ef580c6714c8615155c4190c781290ee3fa0fd372" dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", + "gloo-console 0.3.0", + "gloo-dialogs 0.2.0", + "gloo-events 0.2.0", + "gloo-file 0.3.0", + "gloo-history 0.2.2", + "gloo-net 0.5.0", + "gloo-render 0.2.0", + "gloo-storage 0.3.0", + "gloo-timers 0.3.0", + "gloo-utils 0.2.0", + "gloo-worker 0.5.0", ] [[package]] -name = "gdk-sys" -version = "0.18.0" +name = "gloo-console" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" +checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f" dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", + "gloo-utils 0.1.7", + "js-sys", + "serde", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gdkwayland-sys" -version = "0.18.0" +name = "gloo-console" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90fbf5c033c65d93792192a49a8efb5bb1e640c419682a58bb96f5ae77f3d4a" +checksum = "2a17868f56b4a24f677b17c8cb69958385102fa879418052d60b50bc1727e261" dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps", + "gloo-utils 0.2.0", + "js-sys", + "serde", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gdkx11" -version = "0.18.0" +name = "gloo-dialogs" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2ea8a4909d530f79921290389cbd7c34cb9d623bfe970eaae65ca5f9cd9cce" +checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6" dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gdkx11-sys" -version = "0.18.0" +name = "gloo-dialogs" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" +checksum = "bf4748e10122b01435750ff530095b1217cf6546173459448b83913ebe7815df" dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps", - "x11", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "generational-box" -version = "0.5.6" +name = "gloo-events" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557cf2cbacd0504c6bf8c29f52f8071e0de1d9783346713dc6121d7fa1e5d0e0" +checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" dependencies = [ - "parking_lot", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "gloo-events" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "27c26fb45f7c385ba980f5fa87ac677e363949e065a083722697ef1b2cc91e41" dependencies = [ - "typenum", - "version_check", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "getrandom" -version = "0.1.16" +name = "gloo-file" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "gloo-events 0.1.2", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "getrandom" -version = "0.2.15" +name = "gloo-file" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "97563d71863fb2824b2e974e754a81d19c4a7ec47b09ced8a0e6656b6d54bd1f" dependencies = [ - "cfg-if", + "gloo-events 0.2.0", "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", + "web-sys", ] [[package]] -name = "gimli" -version = "0.29.0" +name = "gloo-history" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "85725d90bf0ed47063b3930ef28e863658a7905989e9929a8708aab74a1d5e7f" +dependencies = [ + "gloo-events 0.1.2", + "gloo-utils 0.1.7", + "serde", + "serde-wasm-bindgen 0.5.0", + "serde_urlencoded", + "thiserror", + "wasm-bindgen", + "web-sys", +] [[package]] -name = "gio" -version = "0.18.4" +name = "gloo-history" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +checksum = "903f432be5ba34427eac5e16048ef65604a82061fe93789f2212afc73d8617d6" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "once_cell", - "pin-project-lite", - "smallvec", + "getrandom", + "gloo-events 0.2.0", + "gloo-utils 0.2.0", + "serde", + "serde-wasm-bindgen 0.6.5", + "serde_urlencoded", "thiserror", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gio-sys" -version = "0.18.1" +name = "gloo-net" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +checksum = "a66b4e3c7d9ed8d315fd6b97c8b1f74a7c6ecbbc2320e65ae7ed38b7068cc620" dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.1.7", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "glib" -version = "0.18.5" +name = "gloo-net" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" dependencies = [ - "bitflags 2.6.0", "futures-channel", "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "once_cell", - "smallvec", + "futures-sink", + "gloo-utils 0.2.0", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "glib-macros" -version = "0.18.5" +name = "gloo-net" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.74", + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils 0.2.0", + "http 1.1.0", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "glib-sys" -version = "0.18.1" +name = "gloo-render" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764" dependencies = [ - "libc", - "system-deps", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "glob" -version = "0.3.1" +name = "gloo-render" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "56008b6744713a8e8d98ac3dcb7d06543d5662358c9c805b4ce2167ad4649833" +dependencies = [ + "wasm-bindgen", + "web-sys", +] [[package]] -name = "global-hotkey" -version = "0.5.5" +name = "gloo-storage" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b436093d1598b05e3b7fddc097b2bad32763f53a1beb25ab6f9718c6a60acd09" +checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480" dependencies = [ - "bitflags 2.6.0", - "cocoa", - "crossbeam-channel", - "keyboard-types", - "objc", - "once_cell", + "gloo-utils 0.1.7", + "js-sys", + "serde", + "serde_json", "thiserror", - "windows-sys 0.52.0", - "x11-dl", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gloo-net" -version = "0.6.0" +name = "gloo-storage" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" +checksum = "fbc8031e8c92758af912f9bc08fbbadd3c6f3cfcbf6b64cdf3d6a81f0139277a" dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "http 1.1.0", + "gloo-utils 0.2.0", "js-sys", - "pin-project", "serde", "serde_json", "thiserror", "wasm-bindgen", - "wasm-bindgen-futures", "web-sys", ] +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "gloo-utils" -version = "0.2.0" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" dependencies = [ "js-sys", "serde", @@ -1855,85 +1154,64 @@ dependencies = [ ] [[package]] -name = "gobject-sys" -version = "0.18.0" +name = "gloo-utils" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" dependencies = [ - "glib-sys", - "libc", - "system-deps", + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "gtk" -version = "0.18.1" +name = "gloo-worker" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" +checksum = "13471584da78061a28306d1359dd0178d8d6fc1c7c80e5e35d27260346e0516a" dependencies = [ - "atk", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "pango", - "pkg-config", + "anymap2", + "bincode", + "gloo-console 0.2.3", + "gloo-utils 0.1.7", + "js-sys", + "serde", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "gtk-sys" -version = "0.18.0" +name = "gloo-worker" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" +checksum = "085f262d7604911c8150162529cefab3782e91adb20202e8658f7275d2aefe5d" dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", + "bincode", + "futures", + "gloo-utils 0.2.0", + "gloo-worker-macros", + "js-sys", + "pinned", + "serde", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "gtk3-macros" -version = "0.18.0" +name = "gloo-worker-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" +checksum = "956caa58d4857bc9941749d55e4bd3000032d8212762586fa5705632967140e7" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", + "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", -] - -[[package]] -name = "h2" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.1.0", - "indexmap 2.4.0", - "slab", - "tokio", - "tokio-util", - "tracing", + "syn", ] [[package]] @@ -1946,12 +1224,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -1963,191 +1235,36 @@ dependencies = [ ] [[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" +name = "http" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] [[package]] -name = "hermit-abi" -version = "0.3.9" +name = "http" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] [[package]] -name = "hermit-abi" -version = "0.4.0" +name = "ident_case" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "html5ever" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" -dependencies = [ - "log", - "mac", - "markup5ever", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.11", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.11", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http 1.1.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes", - "futures-util", - "http 1.1.0", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "hyper" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2", - "http 1.1.0", - "http-body", - "httparse", - "itoa 1.0.11", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" -dependencies = [ - "futures-util", - "http 1.1.0", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body", - "hyper", - "pin-project-lite", - "socket2", - "tokio", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" +name = "idna" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ @@ -2155,16 +1272,6 @@ dependencies = [ "unicode-normalization", ] -[[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", -] - [[package]] name = "indexmap" version = "2.4.0" @@ -2172,25 +1279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", - "hashbrown 0.14.5", -] - -[[package]] -name = "infer" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6c16b11a665b26aeeb9b1d7f954cdeb034be38dd00adab4f2ae921a8fee804" -dependencies = [ - "cfb", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", + "hashbrown", ] [[package]] @@ -2199,7 +1288,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04e8e537b529b8674e97e9fb82c10ff168a290ac3867a0295f112061ffbca1ef" dependencies = [ - "hashbrown 0.14.5", + "hashbrown", "parking_lot", ] @@ -2229,91 +1318,17 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[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.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "javascriptcore-rs" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" -dependencies = [ - "bitflags 1.3.2", - "glib", - "javascriptcore-rs-sys", -] - -[[package]] -name = "javascriptcore-rs-sys" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2324,7 +1339,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.6.0", + "bitflags", "serde", "unicode-segmentation", ] @@ -2342,19 +1357,6 @@ dependencies = [ "semver", ] -[[package]] -name = "kuchikiki" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" -dependencies = [ - "cssparser", - "html5ever", - "indexmap 1.9.3", - "matches", - "selectors", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -2367,31 +1369,6 @@ version = "0.2.156" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5f43f184355eefb8d17fc948dbecf6c13be3c141f20d834ae842193a448c72a" -[[package]] -name = "libxdo" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00333b8756a3d28e78def82067a377de7fa61b24909000aeaa2b446a948d14db" -dependencies = [ - "libxdo-sys", -] - -[[package]] -name = "libxdo-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23b9e7e2b7831bbd8aac0bbeeeb7b68cbebc162b227e7052e8e55829a09212" -dependencies = [ - "libc", - "x11", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "lock_api" version = "0.4.12" @@ -2420,2505 +1397,884 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ - "hashbrown 0.14.5", + "hashbrown", ] [[package]] -name = "mac" -version = "0.1.1" +name = "md5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] -name = "malloc_buf" -version = "0.0.6" +name = "memchr" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] -name = "markup5ever" -version = "0.11.0" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "log", - "phf 0.10.1", - "phf_codegen 0.10.0", - "string_cache", - "string_cache_codegen", - "tendril", + "overload", + "winapi", ] [[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "md5" -version = "0.7.0" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] [[package]] -name = "memchr" -version = "2.7.4" +name = "once_cell" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] -name = "memoffset" -version = "0.9.1" +name = "ordered-float" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ - "autocfg", + "num-traits", ] [[package]] -name = "mime" -version = "0.3.17" +name = "overload" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] -name = "mime_guess" -version = "2.0.5" +name = "parking" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] -name = "miniz_oxide" -version = "0.7.4" +name = "parking_lot" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ - "adler", - "simd-adler32", + "lock_api", + "parking_lot_core", ] [[package]] -name = "mio" -version = "1.0.2" +name = "parking_lot_core" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ - "hermit-abi 0.3.9", + "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "redox_syscall", + "smallvec", + "windows-targets", ] [[package]] -name = "muda" -version = "0.11.5" +name = "percent-encoding" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c47e7625990fc1af2226ea4f34fb2412b03c12639fcb91868581eb3a6893453" -dependencies = [ - "cocoa", - "crossbeam-channel", - "gtk", - "keyboard-types", - "libxdo", - "objc", - "once_cell", - "png", - "thiserror", - "windows-sys 0.52.0", -] +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] -name = "native-tls" -version = "0.2.12" +name = "petgraph" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", + "fixedbitset", + "indexmap", ] [[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys", - "num_enum", - "raw-window-handle 0.5.2", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" +name = "pin-project" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ - "jni-sys", + "pin-project-internal", ] [[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "nix" -version = "0.27.1" +name = "pin-project-internal" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "libc", - "memoffset", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "nodrop" -version = "0.1.14" +name = "pin-project-lite" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] -name = "normalize-line-endings" -version = "0.3.0" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "pinned" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "a829027bd95e54cfe13e3e258a1ae7b645960553fb82b75ff852c29688ee595b" dependencies = [ - "overload", - "winapi", + "futures", + "rustversion", + "thiserror", ] [[package]] -name = "num-traits" -version = "0.2.19" +name = "piper" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ - "autocfg", + "atomic-waker", + "fastrand", + "futures-io", ] [[package]] -name = "num_enum" -version = "0.5.11" +name = "ppv-lite86" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "num_enum_derive", + "zerocopy", ] [[package]] -name = "num_enum_derive" -version = "0.5.11" +name = "prettyplease" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ - "proc-macro-crate 1.3.1", "proc-macro2", - "quote", - "syn 1.0.109", + "syn", ] [[package]] -name = "objc" -version = "0.2.7" +name = "proc-macro-crate" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "malloc_buf", - "objc_exception", + "once_cell", + "toml_edit", ] [[package]] -name = "objc-foundation" -version = "0.1.1" +name = "proc-macro2" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ - "block", - "objc", - "objc_id", + "unicode-ident", ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "quote" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ - "cc", + "proc-macro2", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "rand" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "objc", + "libc", + "rand_chacha", + "rand_core", ] [[package]] -name = "object" -version = "0.36.3" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "memchr", + "ppv-lite86", + "rand_core", ] [[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "openssl" -version = "0.10.66" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types 0.3.2", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "getrandom", ] [[package]] -name = "openssl-macros" -version = "0.1.1" +name = "redox_syscall" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", + "bitflags", ] [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "openssl-sys" -version = "0.9.103" +name = "rustc_version" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", + "semver", ] [[package]] -name = "ordered-float" -version = "2.10.1" +name = "rustversion" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] -name = "ordered-stream" -version = "0.2.0" +name = "ryu" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", -] +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] -name = "overload" -version = "0.1.1" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "pango" -version = "0.18.3" +name = "semver" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ - "gio", - "glib", - "libc", - "once_cell", - "pango-sys", + "serde", ] [[package]] -name = "pango-sys" -version = "0.18.0" +name = "send_wrapper" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", + "futures-core", ] [[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - -[[package]] -name = "parking_lot" -version = "0.12.3" +name = "serde" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ - "lock_api", - "parking_lot_core", + "serde_derive", ] [[package]] -name = "parking_lot_core" -version = "0.9.10" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", + "ordered-float", + "serde", ] [[package]] -name = "percent-encoding" -version = "2.3.1" +name = "serde-wasm-bindgen" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] [[package]] -name = "petgraph" +name = "serde-wasm-bindgen" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ - "fixedbitset", - "indexmap 2.4.0", + "js-sys", + "serde", + "wasm-bindgen", ] [[package]] -name = "phf" -version = "0.8.0" +name = "serde_derive" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ - "phf_macros", - "phf_shared 0.8.0", - "proc-macro-hack", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "phf" -version = "0.10.1" +name = "serde_json" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ - "phf_shared 0.10.0", + "itoa", + "memchr", + "ryu", + "serde", ] [[package]] -name = "phf_codegen" -version = "0.8.0" +name = "serde_qs" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", + "percent-encoding", + "serde", + "thiserror", ] [[package]] -name = "phf_codegen" -version = "0.10.0" +name = "serde_repr" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "phf_generator" -version = "0.8.0" +name = "serde_urlencoded" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", + "form_urlencoded", + "itoa", + "ryu", + "serde", ] [[package]] -name = "phf_generator" -version = "0.10.0" +name = "server_fn" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +checksum = "024b400db1aca5bd4188714f7bbbf7a2e1962b9a12a80b2a21e937e509086963" dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.5", + "bytes", + "const_format", + "dashmap", + "futures", + "gloo-net 0.6.0", + "http 1.1.0", + "js-sys", + "once_cell", + "send_wrapper", + "serde", + "serde_json", + "serde_qs", + "server_fn_macro_default", + "thiserror", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "xxhash-rust", ] [[package]] -name = "phf_macros" -version = "0.8.0" +name = "server_fn_macro" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +checksum = "9cf0e6f71fc924df36e87f27dfbd447f0bedd092d365db3a5396878256d9f00c" dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", - "proc-macro-hack", + "const_format", + "convert_case", "proc-macro2", "quote", - "syn 1.0.109", + "syn", + "xxhash-rust", ] [[package]] -name = "phf_shared" -version = "0.8.0" +name = "server_fn_macro_default" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +checksum = "556e4fd51eb9ee3e7d9fb0febec6cef486dcbc8f7f427591dfcfebee1abe1ad4" dependencies = [ - "siphasher", + "server_fn_macro", + "syn", ] [[package]] -name = "phf_shared" -version = "0.10.0" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ - "siphasher", + "lazy_static", ] [[package]] -name = "pin-project" -version = "1.1.5" +name = "slab" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "pin-project-internal", + "autocfg", ] [[package]] -name = "pin-project-internal" -version = "1.1.5" +name = "sledgehammer_bindgen" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "fcfaf791ff02f48f3518ce825d32cf419c13a43c1d8b1232f74ac89f339c46d2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", + "sledgehammer_bindgen_macro", + "wasm-bindgen", ] [[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piper" -version = "0.2.4" +name = "sledgehammer_bindgen_macro" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +checksum = "edc90d3e8623d29a664cd8dba5078b600dd203444f00b9739f744e4c6e7aeaf2" dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", + "quote", + "syn", ] [[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "png" -version = "0.17.13" +name = "sledgehammer_utils" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +checksum = "f20798defa0e9d4eff9ca451c7f84774c7378a9c3b5a40112cfa2b3eadb97ae2" dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", + "lru", + "once_cell", + "rustc-hash", ] [[package]] -name = "polling" -version = "3.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +name = "slides-jug-summer-camp-24" +version = "0.1.0" dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi 0.4.0", - "pin-project-lite", - "rustix", - "tracing", - "windows-sys 0.59.0", + "derive_more", + "dioxus", + "dioxus-logger", + "dioxus-web", + "futures", + "gloo 0.11.0", + "serde", + "serde_json", + "ulid", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "pollster" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" - -[[package]] -name = "ppv-lite86" -version = "0.2.20" +name = "slotmap" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ - "zerocopy", + "serde", + "version_check", ] [[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "prettyplease" -version = "0.2.20" +name = "smallvec" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn 2.0.74", -] +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] -name = "proc-macro-crate" -version = "1.3.1" +name = "spinning" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "lock_api", ] [[package]] -name = "proc-macro-crate" -version = "2.0.0" +name = "syn" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ - "toml_edit 0.20.2", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] -name = "proc-macro-crate" -version = "3.1.0" +name = "thiserror" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "toml_edit 0.21.1", + "thiserror-impl", ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "thiserror-impl" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ - "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", - "version_check", + "syn", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "thread_local" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ - "proc-macro2", - "quote", - "version_check", + "cfg-if", + "once_cell", ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.86" +name = "tinyvec" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ - "unicode-ident", + "tinyvec_macros", ] [[package]] -name = "quote" -version = "1.0.36" +name = "tinyvec_macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] -name = "rand" -version = "0.7.3" +name = "to_method" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", - "rand_pcg", -] +checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" [[package]] -name = "rand" -version = "0.8.5" +name = "toml_datetime" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] -name = "rand_chacha" -version = "0.2.2" +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "indexmap", + "toml_datetime", + "winnow", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "tracing" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "pin-project-lite", + "tracing-attributes", + "tracing-core", ] [[package]] -name = "rand_core" -version = "0.5.1" +name = "tracing-attributes" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "getrandom 0.1.16", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "tracing-core" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ - "getrandom 0.2.15", + "once_cell", + "valuable", ] [[package]] -name = "rand_hc" +name = "tracing-log" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "rand_core 0.5.1", + "log", + "once_cell", + "tracing-core", ] [[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "raw-window-handle" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" - -[[package]] -name = "redox_syscall" -version = "0.5.3" +name = "tracing-subscriber" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ - "bitflags 2.6.0", + "nu-ansi-term", + "sharded-slab", + "smallvec", + "thread_local", + "tracing-core", + "tracing-log", ] [[package]] -name = "regex" -version = "1.10.6" +name = "tracing-wasm" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", + "tracing", + "tracing-subscriber", + "wasm-bindgen", ] [[package]] -name = "regex-automata" -version = "0.4.7" +name = "ulid" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "04f903f293d11f31c0c29e4148f6dc0d033a7f80cebc0282bea147611667d289" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "getrandom", + "rand", + "web-time", ] [[package]] -name = "regex-syntax" -version = "0.8.4" +name = "unicode-bidi" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] -name = "relative-path" -version = "1.9.3" +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "reqwest" -version = "0.12.5" +name = "unicode-normalization" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ - "base64 0.22.1", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http 1.1.0", - "http-body", - "http-body-util", - "hyper", - "hyper-rustls", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "mime_guess", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "winreg", -] - -[[package]] -name = "rfd" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" -dependencies = [ - "ashpd", - "block", - "dispatch", - "js-sys", - "log", - "objc", - "objc-foundation", - "objc_id", - "pollster", - "raw-window-handle 0.6.2", - "urlencoding", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rstest" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b423f0e62bdd61734b67cd21ff50871dfaeb9cc74f869dcd6af974fbcb19936" -dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e1711e7d14f74b12a58411c542185ef7fb7f2e7f8ee6e2940a883628522b42" -dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.74", - "unicode-ident", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[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.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.23.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" -dependencies = [ - "base64 0.22.1", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" - -[[package]] -name = "rustls-webpki" -version = "0.102.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[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.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "selectors" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" -dependencies = [ - "bitflags 1.3.2", - "cssparser", - "derive_more 0.99.18", - "fxhash", - "log", - "matches", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", - "thin-slice", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" -dependencies = [ - "futures-core", -] - -[[package]] -name = "serde" -version = "1.0.208" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.208" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "serde_json" -version = "1.0.125" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" -dependencies = [ - "itoa 1.0.11", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" -dependencies = [ - "percent-encoding", - "serde", - "thiserror", -] - -[[package]] -name = "serde_repr" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -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 1.0.11", - "ryu", - "serde", -] - -[[package]] -name = "server_fn" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "024b400db1aca5bd4188714f7bbbf7a2e1962b9a12a80b2a21e937e509086963" -dependencies = [ - "bytes", - "const_format", - "dashmap", - "futures", - "gloo-net", - "http 1.1.0", - "js-sys", - "once_cell", - "reqwest", - "send_wrapper", - "serde", - "serde_json", - "serde_qs", - "server_fn_macro_default", - "thiserror", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf0e6f71fc924df36e87f27dfbd447f0bedd092d365db3a5396878256d9f00c" -dependencies = [ - "const_format", - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 2.0.74", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro_default" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556e4fd51eb9ee3e7d9fb0febec6cef486dcbc8f7f427591dfcfebee1abe1ad4" -dependencies = [ - "server_fn_macro", - "syn 2.0.74", -] - -[[package]] -name = "servo_arc" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "similar" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "sledgehammer_bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcfaf791ff02f48f3518ce825d32cf419c13a43c1d8b1232f74ac89f339c46d2" -dependencies = [ - "sledgehammer_bindgen_macro", -] - -[[package]] -name = "sledgehammer_bindgen_macro" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc90d3e8623d29a664cd8dba5078b600dd203444f00b9739f744e4c6e7aeaf2" -dependencies = [ - "quote", - "syn 2.0.74", -] - -[[package]] -name = "sledgehammer_utils" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f20798defa0e9d4eff9ca451c7f84774c7378a9c3b5a40112cfa2b3eadb97ae2" -dependencies = [ - "lru", - "once_cell", - "rustc-hash", -] - -[[package]] -name = "slides-jug-summer-camp-24" -version = "0.1.0" -dependencies = [ - "assert2", - "derive_more 1.0.0", - "dioxus", - "dioxus-logger", - "futures", - "reqwest", - "rstest", - "serde", - "serde_json", - "snapbox", - "ulid", -] - -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "serde", - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "snapbox" -version = "0.6.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "840b73eb3148bc3cbc10ebe00ec9bc6d96033e658d022c4adcbf3f35596fd64a" -dependencies = [ - "anstream", - "anstyle", - "normalize-line-endings", - "similar", - "snapbox-macros", -] - -[[package]] -name = "snapbox-macros" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16569f53ca23a41bb6f62e0a5084aa1661f4814a67fa33696a79073e03a664af" -dependencies = [ - "anstream", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "soup3" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" -dependencies = [ - "futures-channel", - "gio", - "glib", - "libc", - "soup3-sys", -] - -[[package]] -name = "soup3-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spinning" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" -dependencies = [ - "lock_api", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro2", - "quote", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[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.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck 0.5.0", - "pkg-config", - "toml", - "version-compare", -] - -[[package]] -name = "tao" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ebbccb78deb5a36744c079eea2981b4a48ecbbe6b1b2ffbaa528bea3f5e5db" -dependencies = [ - "bitflags 1.3.2", - "cocoa", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dispatch", - "dlopen2", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "instant", - "jni", - "lazy_static", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc", - "once_cell", - "parking_lot", - "raw-window-handle 0.5.2", - "raw-window-handle 0.6.2", - "scopeguard", - "tao-macros", - "unicode-segmentation", - "url", - "windows 0.54.0", - "windows-version", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tempfile" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "tendril" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" -dependencies = [ - "futf", - "mac", - "utf-8", -] - -[[package]] -name = "thin-slice" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" - -[[package]] -name = "thiserror" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -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 = "to_method" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" - -[[package]] -name = "tokio" -version = "1.39.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[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-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.4.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "tracing-wasm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" -dependencies = [ - "tracing", - "tracing-subscriber", - "wasm-bindgen", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset", - "tempfile", - "winapi", -] - -[[package]] -name = "ulid" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f903f293d11f31c0c29e4148f6dc0d033a7f80cebc0282bea147611667d289" -dependencies = [ - "getrandom 0.2.15", - "rand 0.8.5", - "web-time", -] - -[[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-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[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.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "uuid" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version-compare" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -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.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[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.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.74", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webbrowser" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" -dependencies = [ - "core-foundation", - "home", - "jni", - "log", - "ndk-context", - "objc", - "raw-window-handle 0.5.2", - "url", - "web-sys", -] - -[[package]] -name = "webkit2gtk" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" -dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "gdk", - "gdk-sys", - "gio", - "gio-sys", - "glib", - "glib-sys", - "gobject-sys", - "gtk", - "gtk-sys", - "javascriptcore-rs", - "libc", - "once_cell", - "soup3", - "webkit2gtk-sys", -] - -[[package]] -name = "webkit2gtk-sys" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" -dependencies = [ - "bitflags 1.3.2", - "cairo-sys-rs", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk-sys", - "javascriptcore-rs-sys", - "libc", - "pkg-config", - "soup3-sys", - "system-deps", -] - -[[package]] -name = "webview2-com" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ae9c7e420783826cf769d2c06ac9ba462f450eca5893bb8c6c6529a4e5dd33" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows 0.52.0", - "windows-core 0.52.0", - "windows-implement 0.52.0", - "windows-interface 0.52.0", -] - -[[package]] -name = "webview2-com-macros" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", -] - -[[package]] -name = "webview2-com-sys" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ad85fceee6c42fa3d61239eba5a11401bf38407a849ed5ea1b407df08cca72" -dependencies = [ - "thiserror", - "windows 0.52.0", - "windows-core 0.52.0", -] - -[[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", + "tinyvec", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "unicode-segmentation" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] -name = "winapi-util" -version = "0.1.9" +name = "url" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ - "windows-sys 0.59.0", + "form_urlencoded", + "idna", + "percent-encoding", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "urlencoding" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] -name = "windows" -version = "0.52.0" +name = "valuable" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-implement 0.52.0", - "windows-interface 0.52.0", - "windows-targets 0.52.6", -] +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] -name = "windows" -version = "0.54.0" +name = "version_check" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" -dependencies = [ - "windows-core 0.54.0", - "windows-implement 0.53.0", - "windows-interface 0.53.0", - "windows-targets 0.52.6", -] +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] -name = "windows-core" -version = "0.52.0" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "windows-core" -version = "0.54.0" +name = "wasm-bindgen" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "cfg-if", + "wasm-bindgen-macro", ] [[package]] -name = "windows-implement" -version = "0.52.0" +name = "wasm-bindgen-backend" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ + "bumpalo", + "log", + "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn", + "wasm-bindgen-shared", ] [[package]] -name = "windows-implement" -version = "0.53.0" +name = "wasm-bindgen-futures" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.74", + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "windows-interface" -version = "0.52.0" +name = "wasm-bindgen-macro" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "proc-macro2", "quote", - "syn 2.0.74", + "wasm-bindgen-macro-support", ] [[package]] -name = "windows-interface" -version = "0.53.0" +name = "wasm-bindgen-macro-support" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", ] [[package]] -name = "windows-result" -version = "0.1.2" +name = "wasm-bindgen-shared" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] -name = "windows-sys" -version = "0.45.0" +name = "wasm-streams" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ - "windows-targets 0.42.2", + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "windows-sys" -version = "0.48.0" +name = "web-sys" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ - "windows-targets 0.48.5", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ - "windows-targets 0.52.6", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "windows-sys" -version = "0.59.0" +name = "winapi" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ - "windows-targets 0.52.6", + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", ] [[package]] -name = "windows-targets" -version = "0.42.2" +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -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", -] +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] -name = "windows-targets" -version = "0.48.5" +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-targets" @@ -4926,73 +2282,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-version" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" -dependencies = [ - "windows-targets 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5005,72 +2316,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -5086,168 +2349,12 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wry" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b717040ba9771fd88eb428c6ea6b555f8e734ff8534f02c13e8f10d97f5935e" -dependencies = [ - "base64 0.21.7", - "block", - "cfg_aliases", - "cocoa", - "core-graphics", - "crossbeam-channel", - "dunce", - "gdkx11", - "gtk", - "html5ever", - "http 0.2.12", - "javascriptcore-rs", - "jni", - "kuchikiki", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc", - "objc_id", - "once_cell", - "percent-encoding", - "raw-window-handle 0.6.2", - "serde", - "serde_json", - "sha2", - "soup3", - "tao-macros", - "thiserror", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows 0.52.0", - "windows-implement 0.52.0", - "windows-version", - "x11-dl", -] - -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "xdg-home" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "xxhash-rust" version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - -[[package]] -name = "zbus" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "derivative", - "enumflags2", - "event-listener", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix", - "ordered-stream", - "rand 0.8.5", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "windows-sys 0.52.0", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" -dependencies = [ - "serde", - "static_assertions", - "zvariant", -] - [[package]] name = "zerocopy" version = "0.7.35" @@ -5266,49 +2373,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zvariant" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65" -dependencies = [ - "endi", - "enumflags2", - "serde", - "static_assertions", - "url", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "syn", ] diff --git a/Cargo.toml b/Cargo.toml index 9342d74..2b936a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,22 +4,33 @@ version = "0.1.0" authors = ["igor "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[lib] +crate-type = ["cdylib", "rlib"] -[dependencies] -derive_more = { version = "1.0.0", features = ["full"] } +[features] +default = [] + +print = [] -dioxus = { version = "0.5", features = ["desktop", "router"] } -# Debug +[dependencies] +derive_more = { version = "1.0.0", features = ["full"] } +dioxus = { version = "0.5.6", features = ["web", "router"] } +dioxus-web = "0.5.6" dioxus-logger = "0.5.1" futures = "0.3.30" -reqwest = { version = "0.12.5", features = ["json"] } +gloo = { version = "0.11.0", features = ["events"] } serde = { version = "1.0.208", features = ["derive"] } serde_json = "1.0.125" ulid = "1.1.3" +wasm-bindgen = { version = "=0.2.92" } +web-sys = { version = "0.3.69", features = ["Document", "KeyboardEvent"] } -[dev-dependencies] -assert2 = "0.3.14" -rstest = "0.22.0" -snapbox = "0.6.17" +[profile.release] +opt-level = "z" +debug = false +lto = true +codegen-units = 1 +panic = "abort" +strip = true +incremental = false diff --git a/Dioxus.toml b/Dioxus.toml index 512f6b7..c06e50e 100644 --- a/Dioxus.toml +++ b/Dioxus.toml @@ -5,7 +5,7 @@ name = "slides-jug-summer-camp-24" # Dioxus App Default Platform # web, desktop, fullstack -default_platform = "desktop" +default_platform = "web" # `build` & `serve` dist path out_dir = "dist" @@ -16,7 +16,9 @@ asset_dir = "assets" [web.app] # HTML title tag content -title = "slides-jug-summer-camp-24" +title = "Et si on écrivait nos Web Components en Rust ?" + +base_path = "slides-jug-summer-camp-24" [web.watcher] @@ -31,10 +33,40 @@ watch_path = ["src", "assets"] # CSS style file -style = [] +style = [ + # Fonts + "https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Quicksand:wght@300..700&display=swap", + + # Pico + "/slides-jug-summer-camp-24/pico.min.css", + "/slides-jug-summer-camp-24/pico.colors.min.css", + + # PrismJS + "/slides-jug-summer-camp-24/prismjs/prism.css", + + # XTermJs + "/slides-jug-summer-camp-24/xtermjs/xterm.css", + + # Custom + "/slides-jug-summer-camp-24/main.css", + "/slides-jug-summer-camp-24/livecode.css", + "/slides-jug-summer-camp-24/jugsummercamp.css", + "/slides-jug-summer-camp-24/print.css", +] # Javascript code file -script = [] +script = [ + # PrismJS + "/slides-jug-summer-camp-24/prismjs/prism.js", + # XTermJs + "/slides-jug-summer-camp-24/xtermjs/xterm.js", + "/slides-jug-summer-camp-24/xtermjs/addon-attach.js", + "/slides-jug-summer-camp-24/xtermjs/addon-clipboard.js", + "/slides-jug-summer-camp-24/xtermjs/addon-fit.js", + "/slides-jug-summer-camp-24/xtermjs/addon-ligatures.js", + "/slides-jug-summer-camp-24/xtermjs/addon-unicode11.js", + "/slides-jug-summer-camp-24/xtermjs/addon-web-links.js", +] [web.resource.dev] diff --git a/assets/header.svg b/assets/header.svg index 59c96f2..297f6bd 100644 --- a/assets/header.svg +++ b/assets/header.svg @@ -1,20 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/icons/Rust_programming_language_black_logo.svg b/assets/icons/Rust_programming_language_black_logo.svg new file mode 100644 index 0000000..fb14806 --- /dev/null +++ b/assets/icons/Rust_programming_language_black_logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/Rustacean-flat-gesture.svg b/assets/icons/Rustacean-flat-gesture.svg new file mode 100644 index 0000000..e37665d --- /dev/null +++ b/assets/icons/Rustacean-flat-gesture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/Rustacean-flat-happy.svg b/assets/icons/Rustacean-flat-happy.svg new file mode 100644 index 0000000..997cdbc --- /dev/null +++ b/assets/icons/Rustacean-flat-happy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/crate.png b/assets/icons/crate.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa250e634ca12273d94f1563adeae4f898e28c2 GIT binary patch literal 60046 zcmV)mK%T#eP)00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;Ry~3DIYl6U=08OAOJ~3 zK~#9!?7excZCh5}_ZxH0)$P4ccbj+bd-pZf(N!Y5Fct~O2y7g15`u#hgd1E*Y(;5I zq*xA$VnrsAqDc8Cmj8+pDGF6Z69U432_gneSCm6z;eslvsG_P~f8V>!>2|x;nsbi) zG3Q!q-&Zd(u2(=6_bjP&?>n{6x%;d=#~NdN-#5M?TwPzZ*MndDFP@6N{Yx7A?}%zX zZfy0xyQ2DaAY9#@FTP72{?gyRx(i=Smo2O4+pmlL_PxaRTZr9>5K#mb7sXV+iml)0 z%H|&e_pWZ(7gI2P@Vl?>!WY36V|=IYH{T(#{i_nYe}&jX^n@6QF@Ok0EY3NQk|^Z^ zDXJecw*FpQH2?2aw)`Rp#?ue|H&=Jz3-k)X9}wDa*06hT^zAol=w@h73_USMoDq!4 zuZ@aE#TbK%!5D|J1uBJ#t$tlx{Q=|Z9|2ywy0cfA@#^~hWI&7%x<9F*{c93;->$KH zF8U7ddxVG)MS!U3PgT(Ty~cou5Tg=e`nz)uF%B^WQHnE6{o}5zzgKMa!K-Zfg%*sz z@?T%wg)fXOctc|Q7bSM@)zE%T@NE%84;nxt0*HXB<^W7t&wR;Q%(H=arOTNyn6Ksd;tXGy{>A8b zH-`W;5)l+t#fKDV#t23veJ!TU2!fH61w~TeX%0d$AP7-){5KWB7z>~V zarOH!#V-N<)hF{ubRO>i@>MYYVPE%(uX*mU`^djvcQ5?4zHh%W`VK1rArfK=LKJee zp_;Oy5r_&gf}j{XWyTQG>unBLaw)5teozYJ^xCMY$27)Ztw~wa&TxyTe)HoO@A$3X ze!lxBt6lgB;QZ>-`a=xH|M~C#gR8snhj9J*ule$(2`~Qn+3ut7HQnpqtf4;;0o0>0 zLe7E$7-K*{bKq#sY{sOZLZJ^4n1XM}ejMx__;2bitqA?%{>J}6SPg5K` zgKe%;xPo=7JpcOcmEZd0>5shc2Y>SWfZw?K1pg3%@f*J3&tBbyKfvqX`*Ux9_j~`% zxBr#R>8Jj(cFT9Aq@{%5a~T>@1#1N>1{DZ7%|%t55k!O#b+5e5WoRxPJ( z6vV^pQpN<0kr)GFYfSS5#lh3q<_0Pb4IRWD1dJ^ZThnXJPUrrkpFaDiKlwAi`u<=3 z&~N-WaR2I4{R0ZdKlN3A`syxxp06gncKmIB?w#NAm%r&t-doD{>tkq3LGj)vPEbKL zrV>#EA0tL2WhzoRDn{@=rc9U1R%g@yA7e&SMX-|k#zgy1<*73!1!_#?Z^U4$lN5mS z+u&wM^hCc+L8y@sBAo{x4YsUkngz}LfO2*M)eT-d4G%u}pYf{-d^^^?dZT^C4AgW^AjPl?~+~R3Wb&~ixt`_*l`mGydq_de%2#qI^o)VJj_5+Q_? z0gaKdWK|t#j9h05I3r^T>VskgtTnkD)l`OR#MlBiyGe2IG*aJ0OhpVG5_X_Hs)1eW zX*-VsrL$C3fpZ07E5y|xCA;04_36v39zIWOAJUXU)6_IgLtQuY>Nb6F{|~nMUSsQ@ z1vXbF;w=Q@!w+8ZjQ_G%??V~G?i(!qdkMRLEA;INcnCeJF{7SSj~8MpDP0b>p_I%a znt&K<5i|#xj7X~F#?O1jTA990p6#wD z#PqZ3vY;#r#5gcD;wrrNtS|1deE2-w`gKa_nAHVURbY)lNe==+Fg6PcY>BbuC)L(J zh^f9G_{7yI`5c1r!7u-vtGn>~ykd-BqJH-s(eM6B4DGu`lRh-YkTPJV4#?zu>gj}_ zjA&_$OhJ_(ocvmYF;f{EqY^YBs>ACC)HJFRe87rg%NpC@%xFvsOw~j?q?px=h<^6>48clP(nM9PXo70QVyhEm_7uh9NyN<%^=Q~3 z+7rB|_bC8FR7z(lONX@%Oo1yJ#Fq5!j^)`aTt0XKzj;Vi1da|GN@qtdazt`j7k z^{F4fx(oR#j^1(e@+1G-zw6ueUyq^v8V#KjJcfwIhz}9XnX0go4`iYuMzQvYmQGpD z2qOv_v%GDfDkQ_H!gS!%_rw(RQb2W`^5AKT#Vy2EDfs*ji3yBpJ5TQ;QBxKy3P({m zjH|G=LB+D&uDE>g5}UJ^pg(6;2~AT$4l2ni9g#IDCR~^(oikS2eGFh0OWO(W4 zi~v-^iirru7FbuJxEIQ6@BX3kiLd%T;J2?%-Ci(mU;g>4ENGgyZD0Jyf45)0^lj=l zH_$|Yhv3ny0o9!QB$tyz&m;(iO@PZ-+GWDs*?n0WW8jV=Qb|3el3%O23{{{w#LS;AWT`%QI-zpD#TS_DtzCwJb#_#gXihi_m~x)SzS;RZu;E^ z@ql6M4UMFXJ_yr?_h<}{aG3+pYe>APj{GO6%2>9ihtp6AByLr#>C1z+{X%i$PkwKC z^Q(T6E8Y_6&wlqYzXP_s`)mK;f9kf&|Ddq(q;O!=6Z{U19xFQag;CLbs9b6o2|3Fp zQ8ptz;X@otHZ$;xdwk&_`cC6eA)%wDqMYBNJbVVJu7lWIhVD{Ns3`#3K5>YJOT3_S zVBAeH1sJ`A3g+EZW7>cUGVH zp^t9c?r66@r{7*+O{A$SoV94|&^$>oOi={Q^h3@PDXV2!S}yH$ufNiarkXK0g%|^> z0TG95u2CF3gPGsP*cy#Jp-;*fBPjrPT_A*rF~Y1aDa!&(lC4E4=-M6Y^H*7)zKGvG zq$wk_x=1}^&T=Wk={VJ~FGM$cw2NfHIe_;`oG=96&>O}W^Y1u)J%kk8<8%pAdFvy| ziJ&Nx9Iu=arBE@2L}jV%#VI1qa|Gm1Pr%lX|Pvhp9$FNb|f>%&88Z z%F3AIRN{p#5<5f_61wYpf=@tBT{)_tWIB~UEam9WmY-LvY;$% z4!}Io!7#ls;k3PvV=rrSzc^F?L+@yE5D#VSG(jRckS87N5X{b*TpeWo)HpCDrf5`b zjbcTJ^xYN>9flrJpPKoJHrV#beH0c>MMuzTXjC32w&0 z{2KGcbM)S`x_HRx`6bRk)6B3%oeoay^4wuk*bMYT>bVSs8%n-N41q|*x{B)H7H07b zroMrg5{(_PTOxQQ_@s=g zqCriKno^@ik*k9s%P#p9ZsHrHLYn)uW4(3TV>q|DvQ{rkxT~{>CEM)`V5~BwRxN($8 z2_X`rN5oLnC)mXu%bd(LmSt>~=nvc!s7fC|m)?rIN15%9zu;T-<*l zDPv5};jE-w%#t!D2Vfr~E>kMJp)VA2xtXaJ9|pOeNqiv?NK{J7o`SOwWgz`QCDS&U z{0})T20%=b)Y+oaAT`F-s2B;pN4u41Xc5gp7z2IqpfS@wslqU#_}CNGqp?R!`!>XV zH>UjC##O(9sXidK`U(CRPLDV-_6k#0&=3#_gt#NNJs}GC6_Jv%Iie{KnB9I3?*r@Q zDQ6cK7y`4|jH+4?qbK$)A+$IXu*D3Sy&W@u23ucC61KR5{t^udsqH$S<`P9HOGjBG zd6}^#rf5(#35mpwjykfD?BKaS$P7E;I=ZB0fxm%Faxg zF@%Ahku)8mgUdh$Y>bRRjAm?Evn0+K3#KHRT5%1gtO(vq$b$4Vp5+ns#F!B35L1cl zOhTwLhDFRRK+^L@G;{>*Fs5}Hw_h)|_<9ZHeX;eAiK#w-t^XFvT2G9B_1W1Se0h-K^QIPg$9Md_i&eEXBdI*!h!SD%5X~ zup;&wLg?uGp04YO0gA#fYpQIoSfl{91%12a{I$<;e(!l=d&<00ZZ0YcHy_L4p;s+( ze>MP1LqHBaozKnzsV_8-^m&>+IwY&sMUv#L>y^Ug{&$bi??W2ifmkKMcJ1MIDS9{bQaLb<6^~C+<$tv~&PM9|=J){TgG>iMxlGazRravUuWY zx<0U3J|tfI8r+RPfh{af*M#;QRgd?PwvF_CLS(D5z#5Bn1+GlxT<;^xi~F44d!F6$ zE|qCHo)wgf3L}OPmDWcJYerR1)FdEJyx@e0hNwhQOfEHzNl%>=m?^v2Y}qlCv8ax& z0md;>77W?a8Ng(K#o(%AEs8^;-=P|%->s0?Lg+E-F(g0N7?T*m2;+kz3?hL+Cb(Bp zYn*^EgAnqAGK?^_W<_rx#LghwuN33HQe6E###KL!ZQj2uzWnEa?H64zuFEfZtYdLL z;>wI!BSfY5N*@A+OB3>FB=&*Ow>Y=Ow@d8q6jRKRV!_ejg6i5W*1qN5!-ojUtaezL zC5*6yc~zw2Y%Ru?D2DBJ$;Hc`W^?uuCR{SBgyWL}ky(B~Bvw72*PJmlgD1mqG2@|4 z@;up__K2uT&PGEpq(B?SxCR!`Y0wNT+|dxnz0&B~}kVL)hG-v^~dl zNm0~^Y#+GDOr(d9xW1vs8^f|9O!LHhh`V$A@@3-sRZM@0XtIZlI_X=5=^+tw zMjm-e17^tfkx`ykW~6!$QH-WrCg;Zxv$i*4OhkhxhTWIc{e%B@W`6s-V{!b8>+;Lr zzqZf*6ma$h9gI<`$Gu8TrBu{p5Nx390}n2GVuW26nKw3P5*-h)H9!mqEz!4xAoSaZ zm|~9aR#ZhveNYih&3Y@GZ-lmOS-39z@oOq)pND;r_?T<6EnMQ6pL@y zw3{mau+}e)SUl<`f}ftwS`=LXu>6 z&dHwOJY~ih$^9{CRt|N3df*IYun(ErHQB&f28B~3`hc+p#9%Z&S%#1Ot#bQ`|5W@( zfBjc~=fU^=FF)|X9|i7yp`1kdcfS6ek98>i&=0)tsrw)Lo{x6B^J6CoY!PF*`*6pD z3(w)q@Q$bEV@U{mwiu*dCdPV`*Lzfz(iy68 zZqkCO5>IL*J)~AI)308oZug%s1EVI^Wbh_Tc+E5qY8bV#l6Aderk*!B5b%gV zeSfMXDj4GsW0*G$_3Ys6!@qa_fB(au|MUkw@RJ|?MWFp74aVo5JbbK!@ngU7Q)4h% zdO}D&-rf6KB8HQNp(tFo(=bz?lS?dTP4+#FRCm6SVs-<+ehtHpu5BsH8r+<6af^$! zXZ!LmaB_TrxK?O68JjsMd z86)^?`cx=#Ht5o@I9Q6jif8 z@Myn7=m_4^wmoeh5P_=9QzX_Br2tc5Y=y>-u)R-Qy-c^ckMCQYwODHjaR7EE57>QM z%4zyV$8j(AW<_O>9)Xk{_p1QSrF;UI48~gOx@I<;bN96WomU=oKkyardh&;W-}@se zQ-AA6|C7hOXUqzfnB3UX#6sRvAyAhlgC+Ti%bp+UNPzEsJwKYGPvxs>Kto3iE$Tb8 zzaVV3sJS3)6L(q7PN<%EiVzL!6YHJ9rdAVY85wAwKYbJM8A`6a|&UXG`IQZ2OUh6leoKX8Y)$~{({|u-{islk5bHU zF*|;i`rsx-F~{1LSQ>bcW~Vbzj}qZxl3p- zQt;!liSwj=4MDLs13+V+nflKm3+@9_|W z{7(5lw5$7n7gPTeQ&jI4TmLkFh`Lzkqj{`@(J@Tl5C2QuTFiV_j1e8|GIR>yL|y|K zfDkiG1{*{SDw23P&A>!1IYZwQ`Uuh!*&^*F+FgLDam^72iv#Sn8*DdQwySft7t2)s z)iqT$gV^KyHaAi_+V&5yzlvh5#X5uH5L>9&MolqS#EEJ!zFXnj4Nj7M2+20TF+*;p|B>6 zeAyjp3&fNZ$6tyZzYD*6h;CjXZtfBMh8P6JCZyO-J4VuENXnptKaZ-?g*c+D`|Aw` zesY*E9mVj0Y@L})_kKs;w}6=$yZsho^)0ya1x)=TnCkm6)j!`mAb(J2@iCXf$<%Wp zI`WJMjRCPKyO_bTJKJqMVyUlr_XVgVj~SJusKEqO(vlgB8C5SSm_wpTv?p{uFPI_fN3hu2`;4G3u$ylB!-{jna2X7n?GK!8%Fho?65;YKwWaMNNp& z_`Qe zWp;drsy@Ml9x+?$I{EUny=S#)5fRFwqbggB-GVK#^$F5EfgbPh>(>bDSD-s1_#VZg zgA0K%IGGHx2GS{23o<^C9vN>N!L1ya=Fu6=gr+ATNhCt-=-UqI-E(3#f5*7$zZ6@3 z$k_V*(NsUdAJ9f@aqld|O>b zarhj?(c94Wf_C{bx_J!=>y*7!P%#r~suRfbs7t|~pnwT%lRaUFj$n@&XH_)<5-|v9 zkJUizI~#lZb-@&0C${<@T~Ysp*!lx%t6$;ssEc*RKHl2Y9F3y@dN4v8_E+o&p&3V! zCcuC!FH28aOV@6(C4`q*zx)#C=78$pX%5CRHsJggLWj=|cH6E8 zdP>(*6dl%X!8lAYqrUO4Li{qq_CEdcC3O2BJy^sL)r`SrL`E~Om@O`4&tc(_;cuDD zz|ce;4IJkvp3k3ox(|vqF|BP6?ai*={7tdN-*B$}uqo>AN8AqsFTCYol(4&!-jF65 z%or+305GzBI+a8zXfsfvjJ>8}xqR^#kg#KM=U=Bf`BJ+6K6Nw4C`hpY(~f1;=oC(- zNn%osO&VFBXO}{rA~8sRNt6;-9nv(%%;ry%HK9f9BkEg;Aq^)RgkWs?K27}gz>f}g z7y~_EM`e%hxxh_aUf7$muqLT`2C>1uouiC`1Hrn2g922ybnB0CcK!)sb%W;kSr*5) zshb0A>~Q@SVwX&{dQazDtm!G7r6@WOi*Y5z{1(Oh4xwM+*LU&Dm!UsTwkTpps}m)G zHjljbpyPnI>;XNg1<4sx2C3cj`%L>VGuNx28ZgFV#f$p>Jt21Q5jX!HQ=R-|_0*sF z?|{$Q$HrC9eA8pEz!}K8X@Wx^Rp#tXxeo?Rh)&jo!_#F?6*R#ad1 zEl^$uTVu-k9#}MG*r<|~EINv_$KFz7GN9^v3>|7`NZAm&ExKEwu?GzzqKL5wMGo#3 zVxVv(A{CnX%MktOy)*PpKIllDxIIC`kU3HiP7@!~;Bp$I9+g9b6i<_CC}wSKQI?dY z;{83^`>*lf{tP>RlKIKAG>a2lCDg@^I<&;#*|r_q*0bwUP?kl9^}7T}xr*}mos>uK zAhu_;moL$;Uqj+1w*fYrgH7+f7=fET@%y+)NJnwS_;?(4S>{O?RHi;tQ)#YPj46p2 zcH8ZuUGDxuvHqFuov-_Q|JmotSGwx<*F4t2xV`t`Ol0k&s#70128HNY(z53%IviRH zh;>Q!<+s@FtB4P5Ui>+BzMwg{hFt&JjJ8fcKb2BCXsIW-8>~VI9lmRcF{UhHQyI#hbGYP5km+GFAj~;1 zB@51VFzI4McD+xQ9{V~{A!W;%%W9+c(`;UTo~1jcJbZ@P(UUZ@6AC=G*kwgh&$jJZ zu3C)ksY*+w9WiVY1yUSP-+T|%^_IB3M}PSu{pJ*BdW?11D`a|r42}dMsWea7ZV;yn zI&!$#%{_YqS)1%8BNkg!s5tuGv%Xm3gP~{+nID`Sm(9Uq8zZRh@XCe_FgsBxq-A{IpH*RNw@!1s6Yn~JTtH+GgC4xBSN3ko3$A|=L^grKa}8@9U^u{HJl z1}BF{5LzTI3EQ1l-FLtJmqt_LRWRsb5gd8m5CgVBOu%T5W}0Mhc^k6YNNacyduZAXksU0Uj@ zN3=z=O^G}Da@^s&2)l>G^(*x2*9m?{GUQ5bc|p>%)5r9XbtcVwiAkdNh)pKYSh}ub zeQ`=qL)jd0c=IWmx+HWC2gFk9gnrQGKJFG3hl!&pItPo0#aGhqDLW_~)7pqyd5@WN)=-ueRjGuqWqa{4PR~Axt*_IZJjeX#Hm;asZO6>*XsVvR z_q1Kl<+{a6M>zy$+@Mlms_WRzxOt7Rc?G{a#rJ`LNycG?$q!J0XuuX&TN0zP zT5s94Eygu8M|Y@ab1a^Ab4J&$iQN)3wE=1hpn1yzl*c<5Bg8NXkoSXhLOl0f0CY4( z9mcALX#VS0(5+DkX>va!dA-*W zqIbrO4}^U>VVvIA$+7|_xIX=yIQD$WL<&?rUF%b3HG(S_u(*Rgcn&cY{qhBL^BTTe z67Zuf$1rs`%tQ*{Oag$0;p~tDUq~K3`{eu3DH|(qXbEKGEn`f9PnO_SWr@Z}+r7Z$ zi_dfJj%bdaVR7wgs`?sekGLIG)e(cI_ks1cN42LaJyjJj(Ic+LG&gaF&rxc?ukR67 zFVU^_#XRUocg`^ z2$IPoW$N_zL6~irkhe*NGl&NE%G9A0v<1cdCgtn~rdXu%F|-*K%^c@2<(@OzXkEcH z6f7nY)B8ikM)JDxyhtZx^Qd97@xJ4^AHFUjnL^nGX7&{J;8|>a0;WidS7$c}{fhST zE_U-WVf!F0+|fAxj>GPeBofdpoy((5I=PH1`q`XaWF+fNHm4c_Q}X*B0=M^h*-%k% ztrB8fvAy_h?%n@5rn$-D+H*8VPf#`oXxQOGOBH&$J|y?Nt;ab-Sx1}+H~~{$Bb0aO zW`BZc#7I%Kw? zCv$d^rfIfK?DMSRfLJE0iu8Up+5fg|M(A-KccC(wwpEY)b?P-?v zS%MZsJHs4)39}ntLEN3vU3>=Jyo`hmU7r@khHP?`GO;`&OJm?NGxFN`IEv86ayIwd zgZN-v2pjiRPmB_`WRz?vOG{NL8eeDo`duzxn^9!J`h0OrSs6^fOVkfSpdgrrpbhJ_ zvfSLq`#>{0pk5r&_!`sQr`=p&b%*b_2m#b1I_=(c*0A38RFcfW82Wgbe2T7u@hvCE zsVt4bWbQC$BjphXxy%DISWb-J9}^-f#!}92q#YXdK`P6%OO1XES%qsw3D&hz0!9uguf3Dmt@p4zeTn4@KSyC7V4PxOLSchOWaw3y#>@s=NF&3>=4=U> z=Pbv`31iaKe$Kp6Q?@sf{V|6Ac#yqCC8{9CF`vOKcJ%G4Z>0CMv_Q5H{Di^N@M^o_V_ZLrW#`Kh;_JXL49x=S0AS(q3R)Sh{5BN zcf_b>(LFUwTF)V=FEl!m?}NLVLq>&2;`4@Sgvqks=V^Fn)2<78kM9HGYO2LER0q#s zn;S$m#IVEf&J*t#LXx5N+4QP#ESd^eRM?_IiW(o3vsZtQ%ln_9zkHcR?U^qsP{D^X z9o*PqB_J^pvT_Mhuj__&b0LoEqsh}I_u83X+Fv1%deAImvjVvy7+vO=w5MY7j*;4e zv}~836Otf^)Mt+bm-A+>bXiIdwV?u*BnzX zp2p3e0yj&Wjk^tK@-^*y&$dnb9j!HaZ)1UEH*>Ky+g;1qs~=~5`Wa03fJGHJswn%xUjq2GlZmHn_+9cw+GEvNZ;pRtn7Lbux)EX}@Do!^Qa-=MO$YSieFg zTdp^ja$bN`If&B6*C^KBijYQ- zjBRKRpI~1!i(|kJ;Ktr8 z;ULydKhpn&YRL&F84!qWweq^(FmojVzue zP@w$>*vQYf4qN4As!L%0gY&jXe^Jo+ZZ zO$ad|qEV@4CmbB!qMTjB*dp!X=$0T6mrL4l5os=?oJ&*ZKIq6D4npcUC}^@iGOb|C z<=F5r7)^gu;QFX&$U-dxrl=DldiV^kzLt2du!HUbVo&FLy1ZajL?{Z!qAYSIt1#sZ z@0IiOhn&9t8T{rhi=yS$qQcsG9M1JVjEG@jC;O4kXIb8$0wNIl4I#8?0c=rXT!okh zadlpPlL9lz?o#PqHQMU7})oPxNgzD35QN@ggX_p}`&t8A^{oK2NV&hR5Wa}|uA zpFoTQ7bXde3929kv*X(|2T$OtMe-%}J3_m~nqlo*LO5gQ(VUokcw+j@WzS?czdp)D zV+?M?LslHD?WeWeiH~zO9d=_ZQeMX_p2p2@rxo0Iv|r;xI^^C5y1d`9aF!-7)=7uC zK~2eev*GO3PqIFJfl4npZlJzaV(dIWK*)y96Q@ZAw}zgUtnG|3+m(#eL?p(RzU|R& zN8wTsX;Bel4Yo&O3QX_&afN!~8~3L7B^fGPS7J?p_kq=FlY|h}g2S7)afQRg7T>;3 zx7yIRt5gldE`2I7B+y4AlYPx#pOBh%mW>}kf`Ci}>@ICOEP zz{$(aV(=InDQ71vPVV696Uw4YJX6@Dz9NKl_y&jTti6mO&%K#p)tW(N5>XEm0#z|h zrVnLt@~xTHtqog-ZQ5L#vaOk6=eH>jpTX8ADSP%?!tONpf`PUV^nEfgE}Ugv7C2WT zuEMyQu8-V%@PLc^pFy{;GcQ`6IxMla9uZBG<#xm28W*b$b`=ASF!1VZ1*k6c%%=M5m1A}c|ln^ z`k<7>B$1RWYUA@#qjGrj?JSOOV_lsBFt*^A^u0$+%78{lyC{YO8M9aKpgI}s8isz+ z4(r3yhZyqQ~dOt7x(h#G8nKDtn*4{_R;XeJ-fLDM-LV4url4S<_b9^aundnN83O#RB7~51yoMW>|WB zdycUfcg%sO(xRDj z#L06xNrVtmX+HGxaZjIhl^Nf{6=US!`r9zRVs-u+?Rtqdf%&Y)*@hT;yl=4sa3blT z`j9w5XAGsAEaZpLCfS>E4>3u>hV8=6$T$cbLj+S$E^gxvpTRb_KngUpXnUFESd;&# z0)?|2%p0srPkV7SY6_Oi6&DXaMz?&4QZG5G4ds!;m}Wef!w$q@`aaJkj{#@~u)++b zX%uH6y8E>!Wbk98p*$v`fPJ z6=GNu`%NmxyEgHQ(dS+-4Fac${dCivHTV#TI;;cGR4J5;)Rz`>wwpDsIbi$nGwfdb z6ZyHCxP^T*{6cdGlfyLsF2WJr`-$qX@Y2AUSIHS)pEXrjMm>JyFjGd%lRjGhu=ITv@4?DVI-iTPm?tvV2vAtTr$uy`uXe)%naGz7{L@XqSOQ< z>{j>Kz5Me83M#Xuc8ZnD5m6j5OMSgW zB+0V|>VYB44XeO?M9kz0023M*;$TWOIUD#aKo|m6$Q)|cp<0tx(+$0H0;tj+3zwbU z)Ktm4#}+B?woCfmif((E_IlVE*aB2l`b*;OG`Xe|b4eVr);{7GFz(i1KzMap!617( zM~tEK!tPT)P1s!^aYt=dgb;A1#K*LY68s*OF*04~-sst0H0CmYTI(RXuVcLm#)D>Qm~@98>EAJf!(QJk@_%MMik`0OzpE>n-ZtTM*A6b*r!r*_Cc0DGG z5i17k3REh@HkfjjC4e1aa}Nn=>$7Nwc01G>Bs;DXJQ{XrY!O1{B8SO{egE3eZtwp8 zSOseg?aMzy*}qC-6KE!`%mx=SQ5kRYz5D;pFdUu$t9&o^K)a}VrNH^TfH)B}1T?e> zpb0HvR`mS^;$}#(U@^N!Gk*tt*Rj5Qz~=m%qHxr8Ls2z(xlP&_Wr!3Kz*foj;ow=^ z>;@th4LhR0%;a~#hd|q>qfj`@LG5s^z_QF zF2EFo&=dL<{pLKa81I(}S?zY2UhqIMu2_)0sFJ-jGYBbOJKZsF3a%ZxF+EMH9Y$Nt zH1R?9Q1#5?U4lvPG3c8ww3s{{-uz0vqK+Z}lZT-9%i_1XisOp(&;4E;gyI@8u_uN; z35dH5VlUA4oM>vw=7i&GPayUVtIIRit5a61CG**gs+ti)hZG06#j})$&m^x@zaw@l zqF)kY+B?zpNu=$pP!*1Hy`I1bzNk*)Rs;7L^XVI=><14W?RDfnWv^Tvd&tCBBwI>x;A)Cu2DT=u;KL5- zF6cI?EcD$PLquaow1yCpjBmf>+Yg9Qk~kO(<^J>jdCS?d<9Km6BH3eqI593`P!0W^ zCe&wq|I-4aN83Y@H+vsUr7@F6^^ri$GM=lR@$(drlR!MLzAmh zsAk8^n*$Dy-^FgTWxc#dyR{s@>)U9K?j+ak_MEUgOEYqzqwhVtwj+c{Sr`uHC1qKH zO~ia3gtN0#mJdIIU%g5t8*a@DtSg97@Pj{T?ga<_FYSs*nQl0^gWdg5YK38qnoMe! z!LDQ2?Bq<6yv2+{#xSk-cGe_$gbFG)D|%7@swoN46WdGhnSzKNzTIF@h&^I$veC~O z8A-}CHE)ugMpSchDqn3qyIsJ?$b<8a+t=NjWH*`CE@`DY)t(qTY)p2FK5p<@P|Xf;Zo%~% zw_)}y9KMs&^9P7}ni5JgqsP7c3Pbas<_-Ly?0L4{JKfQT$jL!TS(s_M zf=AKQeX@QiUzIlwJnvOSZ_;-r)H?|WjD7QbH@tQ#<*$Z|KM$n;@Ci&i8m&qE;|s6t zc;;4?njpNB1HHY(xYe!|GWCjbAT+Zqn=9px!-yBx=4Fd5u1AwA_c3|sX zv?qj|y`@JyA~d){Q{Q?tPQvUgr7)tLtpl&0b(|a&oMgaYBJ+nG7=h@wsj&}hC=T(f zyF|aCw3h3O3O}#dc5t?iIM-m~hRyklY)+rY_V<`qf#%p^q{(~dmEfl-e`BU`syHtG z%(IS~f;Qy!0^^+HK-Opf8)FiRI#d85gE@neNcYyNA%by5@>jKql1Mg&ifE7DJVfG# z(5^t!6owGfz_e!n#l7q_5aMslLgSSF8$gt?Z5T$X^7P8nw`RO>H)(^1<*mlbUg?=9 zV9X@Z8|+N>v*)xggK>w-egFlOrD^&^}!_`bvUX?0tYlTA@^ zYOlL@-=6Ln&SFzsBmyFAQlbP=1_cYCK`*kTksk;{reMHN`XlUD`^m832f;E#$s}ac zux!{A0WX4Ramb-Wa%R-*>FxI2YCT(?%#8RxKg60@)nl^nm`x75fo5~=t*UdXDkI{H z-|F5}Z&OZ;(kX++_|Gc~PQYC|iOg%eRTl`hb@oI@9tvqYH{`sNBGJHH5>u~>Ny zFx~G`BAiC!&s=9lh`Rg$c@108FM(lj}3}afW!R?=Y;4w0?SA2;EN$(;lYzx>1hFx1Q=>q-w39Pi3 zO^&d4@OkW-2F>~s>&t7@rN(qRMO{rH?3$uPye2jX3bLxUK+1>g7;8E66}s`(GP`~a zf1)U@!5$HXszBu&WjTeQaDK?$CCF@Gc1sl0gS!SGz;rECsgXyKke9v%|6fQ67k|=` z??Y50h$G$&DNVH!FJNg@jFHKnj=6I*fl?aA+Bimr(>NwIsC3thBdAA1Z}5mDgE2Pe z4KVX@g=CZL^a)qRtp@T-bHWkVz*u6dgYMV$z+1*WFG_rYdRQf zT)>q=Yzr0%juGcB(K?ae0`^F(8(GOW{enuUaspi~09E;x-v->CL;5vLzk&A72&D;P zdr(otdbkLJG9rJ;ky4N}>LKsDOfLGc2$ipt3z$n_Ym$UmNlP|^}e}zx}UijzXfv?LP zW#FWdRR%CQ5&O#Qn|V1giQL~;I06Hqhr>l0O1}o17FHVcd=BX@AbN)R^cb`Gn=sa3 zbA67B%WG7n#&kA8RZh_x=aBEMf%c=S@?J}}>2!})C=i$kL>gu3%37(I!HNRG!n9Z5 zeg!fc7hJ_XY}Y}R1hEF9ikoo$=+2iD;xvL{gcFjQKh#jo9*@!PpiddyZz%0-R!HR zs*qv9O^Cp7=2-y?qwv~K7sxbJ@wg{ar+?!NM571U5#ekAHUcXhST3Q=HAGENPLFVS zatfAv0Hr`$zu0Y8SgtNW(qlTQQP&GECbo6}03ZNKL_t)j!h*PmwS7EV!kx)lSL_LL zHE?Ayb%ewm&!O*oY?f!(T&++R3iH_%^>peReme))C=FHkc3m|EiYbbs zg6Vfaf9-;cZ3FH%5OFneR z6{^sgX0}X-L4yN(M{B8+?EA!L@u4OKAbohdS%#>9OwZMyPkPr zDBFR%HDFedrb1CWP3+O}33{%aHEVYU?pLs_&&%m|9{Ds7r88cS1{NjdtH-r+fR9Le zu*1K4^uH;_Qw*tr8w7eJ;D-;b4iB{dugZ!2!8j~&Y|J;V$j$qrRiy~V=3vh)R;;km zN=mvLZY+7hEMn=aJ9+c>mAs+rMVMhV2<4ja8!ysGd ze6T3AhG|z=zw=A5rUe~-9_sO5K)X4^-o3j3v=2y5(k&i6fMHWm@yTM}Tm^7%!LoHG zT|Rf((DE3CG_c!eV6%g@9dw}}VxXvqoZ!dtXp$X!aam|?@3Zvw0#8mXC50DJy9HX+xR5+3rjNBYtkT+xkH|Z6M88(Sh8A|YEV0Q}28XG2& z5jROAt!cb>j(3Ydk$kooU;UrG#nkk{7#PPbj^!)?x~8!BJol(GBvvw>k-Vxykg22l z6-p&ozxzL9YF%LqTLx#%R$*+FEcn=E)d0KJqAXI5O?ZD@Yfz~cqB=nIjT0vT8-raO zL6I_aQaITeGGx_#07>?_~d_1;b$06DFj;wuZxkWJh^J}04P6+ zFk&&RlieklG;B6uEKV-{lwTtM)vxYX>3I>Ap0Y_{#gsvtNrsYe(`U8{{Q%A zZ~u5_&2thy3VOqIf22t8=S@T*l7dB0M76&=U6r^8h5T3vkbC$PK}-Y13~>(CcuGZq zK(2XZ0cjVB@$F{~-nchKRnS0mV6DIyaam50;q!XTZ1bl4vCdpZENK+ZPs)!4ab%>J zK`MDAp|}Ww`z1W2;e?mWxsQ)QA;Ue5kkD->2T1qPs56z}_ZhxIKJv=ohmclHjsh!6 z<7YUn)AveIS%mx<7+I+JyD+Q%v0IG4{ty1v9Cr5?NV>n#Z(sf!f93~I=GV*XcHLy9 zGvGlgH8Vgebu|jcD5xW+-9 z_-b(Waxy^?L8qZ6Gw^Up36#myBpG7I1bI$j1a(Q?L7_Ea)iAo=;ApSJi^~po4yzbj z5=_j4Xne}3#ythNCww_99w00 zIwQMpA{&jv_Yh9tuxTjeq>w6%*PmIa{=fhEwV(eFzh9&KtGqk=_t>^?iS1pzb_>9A z%@Wl85)~ogm&wiq7#|o4>Kr7Wq0*roG>HHtVu`^;FPV;Y=(tyupKbzIKFoM}-U0+% ztvVddUGxRBxOBnn?m9eC(&EW$*79Rb29W*mo-`hDgAw_iXFHrM6h1iX(Ho1+PVnTc z#iY`Bdfwsjy&Cg^yjXqcYKc4`r3L2tJ<^HB)_Rvkb}uC#s!U1oly4lNzi|Mh(1;hM zTr7~p24O0pAi>KB|KRr&PTOnvUShhq%FM--Uh9)D#_wSZ)z|;~pF4(a|FY?KU$wil zAG6%oVtXjEP+9$(XAgWJm20W>|0nT?nHJTuKyf-L!-H=#&>@_jq(e4K-hS*JEUnXt z=-eV{Ob+45Cwm3Dp0R2yw%*DmJ~(R#$|olU32sE)hXoc!JB5@#!;%(dyf6Cisp%N2 zohw@X=&Z%r70~tW-n!YffC#?%L4(dP?i`kQe%0XqQGvx&`^~{`3h?2gx5&%FNkj0- zbUvQj=PJjHR}qy|Jw7K#Ddk50Os!)r#XB7$l1v$Gk>bB8A8(bXb%=bhmv2aBFZ+vB zOnM)&{(u20KI0jO3-A~IV=cD*(_(jj-85(amhId7Y+cilB7qg_tJx?^rcTx2N!T66 zx%^Tu@q|NM3}YlTj6gwv9z2H``sWund)kB6)#K&0g(ByJY+ClwjBaf)1BNZMBE0>ifl`Er z$0d3zBgo&6?*3%g1!DSo7#Rb%=b|HrUHiW(l1&!Y`i}CCK;BP(>+y0Dc&c4c~{Zk|zDKSuNT||aB&0~;6saOUogXnsQ zKoujYn+qlMRo60z@nc4;l8*OBpSTu|A=f;d?vr5@4FFDjoN}d)FAwdF8!eCKJ}}t$ zCS!k^s4NH7wOCOGQ24uzPX69qkwXDC;rV3`r36=Ni{1#z0{F_~Io^BTplJnF zp&=l&J^LhYLT3e2t?=!qJ5*JHx9(R_u@chNm5%^-n*;gqFO|^C{0jQI4DsEbM&=s?J)Vf>U36=)NozjI~)FrVMJV!~KsluqEgK0+j(tcgMIpD@o+C zN_`y6f8;dVLu0YBMYYANIF%rxx zBYRRj-Bdy|owqTIw75m(k~{rx(32y;C~Qb!f>3&lB1=q?!@%7i-$i_1MTRRN6OaF~ zI~jlZAO06#nzrx!6|;H&uR!`Qlk|X($PZwMqR^P+FWp%+na(;Jf{I3j6QUPRx{;+O zLiF%eXC#qWCLp_mx?h$=`og;$bV4)pe~t0t0mVKGRmD3dk)YCuZjTU}lq0YRb#-3k z9Qp()(}a$rAp)pG+0TLqSnU{{@rob+&7U5Y*fa+J{GB!K9u_z~C}50*)*7=~;b>9d z=|zwCpYME2mcpvB*nMR1`n}mOy5dGa)J^I{GQ>0#S=@GJ1T1WT*yhYbq%+hooi021 zgk3Va`}quG;{wmhnQt?3sYxi|kn%r9r2jwqAO73@N%ziAO}h8~gL?VD{sg$6_J$$i z`u+k?pjB$#wf@hYINE2!SWZQzibgkxq=i)8KNogKp#+DAG14tCiC|0gxv8v54M0&4 za%)z;;Efe%&AzjOy=Xg~&=A4BBb_~)AJp+t>EEtBsI|+j`!|ICpDNEAH3`!0z5l!ae7doE(u+q z-t9R2H@?G>Whst?l!Q$@PMFJ3phVZC`y*%S9hIGAV@^;-ew1VAmH29N&bd+y6UO5k z4}Y${htbqu`X7HuP5a;dlau!Czc#)8`~S9Z_nNf^JIheyw)*kT8u}3dp!7MQmKhd= zLc2c;ltM@`OQ4M>)0tCLgHloQ7HA9CckhkCoMbQVL<~mb(0iZqIwRP_oFSqN@~wzz z{0zWD*Z|0Ll4;wBT2()$MKxQDCmb!p?7_1bMkNv@Z(?tJx1lC{-)l3Rdh_+keu0No zf!?#z?K7HX`)dyJjLTV`MpZ||D%8Scka#FZ~gRi z_48jX&H0b^z0o^sU1gg%Fhvo;N=VrD5O)TV78Z``kO@3?|B1|XNUb9vF>*+q-hmSKzqNI@Xj>=@tw zxf!;d#bTwYyr9cje*seu%6XjW!U<1CvLm6-nySX_Ro9VLv% zJGoHY3@j3elebTW$f_JY9U`%6-~geV7p9>*cciPMyKuO{iWN`T?n`yWynb4NtzgwyT&{aOJKv!*uJWKLvXPj8?T)c(7|X52-NOoX z2|PJB5D^^h6$3TP_+AKPS98J*SAW_BGlfldQs$u5;J=d8GIrn!32o9NL{=dc`_N7E zu^OeKr<0y;h|2%SF2;ZQcYpS+-~62q|D7M2{_$y+JPmB6gZVFNzK`y!)Z0 zGEexp3*`w~#4$)9%9%)c(5>M9M>s77V*o+oh{#MR3U^S2`fXozA346Lw&8U4gs&kP z7{KC+NI4>=!x#^jc;-&UC@k=s!qDO1h3cGz>iCC^Y4Ark?pHLhL;3fh6zWQ$(2k}! zToibCQsc!{hqGmi%T)`@$}d9gBN7QLexu>EnXR`L%dM+Mw^lHpXv`URH6Wifv3=l`Pxq5DbOHD5LD#b5l5g=F6n0cdKqA6oWq*fs z8Ze)8>Q{_Y_3$7Zm-KDMq2c>PF1*XE`uPb>G(NG#)rP}?HZLx_IPMpk@XZglxLWt| zxQ#K3;wB75fc1YzaOJMEiNeE^3fEhUi=}Hj-tHLRcz=s8KB{B2xX#VKOs>9rKnV_G z86ypnjj;pZ#gCeymoeXTAbIvGhCa!07*$yOx9D}P0E%UB01WQ3dFjp{mBsjLfA431 z!1lX;zu%tyy9(V~;2y*V&DMH&KHb4Wm340&$Ps=zL693`6v_1$x!8!z_=`}9?M$-l z$Hp)dDOk7Q)dHf8GZANtF5UAuOQZHWO_Q2y!$JyUV?gUvmc1Gt2#L;qxzYER-|vDz z06q*DBpIqFnNLqfzz2auffNs9V}K*p-JOa)0Z?jjs|1j`m8-Cj}N$!GqHYzV*QdAHM7X0uC1i>PltOv2dEw%>Wqz z#{IwU`;dVNn1coDmi~?#AWn8yRullf;nE5Bd&$Vm%u}9RFOs~E!+YsXZubx6V*J|Q z|C=W;?O(R0`5XQA>|Y0Wl@bf*jIdD>rW8ftt+lD-Gbl>}sqWMm?gv^r=+g0iHe{;! z2ap|zLy)W}2C&w^vWA+TV!Ho2ioMs-J^2klemk8=l(!j0Mnadu!S-3hg>G!l}wZiJbc!qq+u}5FmAB6q)TR#3owft9yZw>tVR#YvmT1TAD%0 zOz64*oQ3KBX@!R;1?IC7!i=XE#w&~zCbh!rck77S8Y}UAPHKfmrxS;KV^}~M-jAkX zWaIeG8}8Ia0jC_w;uy!x#RIM~;{@ZlFGG68O%N8$Nmm#4INtXgChJom^rvSQt;$ zjq%TMk5RSb{f*@90LsTRB17ODy6W$j{+DbcFCOeaGHgmBN2#Py%khqU!_go&79Sx` z5OA;E_mXP2v%kwXSXIS{iWBhY1dN6VAi=@unUPRfrL>Wz<4@PS_zwz>~{@B=7b{%;W9{TEZ@ zgfftAoTZbpl57y+t3O1G@$KLImDktr{qH~1o&Sr!PLLla=@fizHv7AlB8pYcA+0;L z@j5MLKrOXWt})l2e#VQB!`&vp+}499DPWi&?0OW1YE1SXpxk>MG&zMpyQ=SQ2}tkt zh34iDS|oNf03YLF%obwm!tm}7Bq}0|)>;8w@5WSjZ-Wnd0`kg$ct@qYRoRucQtXGw z0USR*=Yr{vQMrUavn=@S_qMoPo4B((z(wJFX<)LCz1|v}U0Ymj7|qVbi3E}N<*LV% zmpi<1e*y@w+FBTYC(T9bIY@>KjTE_A$!%|lut#IzNE>`3hbF%_=BF_;l=N<@*#8m8 z>>ehI2LN~Io?B>DAaBZYA?JQWpkxJe{h6s?m+jzQOP|_eeD~YGyWc$hCx51W{2oIbp{R8g2gv>En5L3iHq*5>E55@HA!qyD?1f{fQwQ>hawgopoY^ zyN3nNuFU{u{^+bj+Zj})j!G8G!Lvv>UmCo2*G(#$osIE^_l_#Od4J;iMn)rL)P~3L z4<9QQ4`kqNu9VxFqae9<7*Jp+7}(+-y2%|VrE&1^hfq~DSXEe`znd82V4n-IEB^f{ z!Y$c6x#(Pw!McC&i}CH>`hV23fAXLHZR#)owj!=U1=#LDVo)d^9qB%=vT!i4wf+v| z(YXNF7#m7kXb@Ipvq0RCXKB6Ujg1=%%X$Gly9b&*g07GJOxFVD8YBkR80^~KxA+n! zRe^dk#nq-vpo7OFN74e_0|L`xp-KjmW|RRw?5q0auRBNe#QH zS&1mWE6H&8z9qge(26X8mfJO*bxAnfE3s`E4^Jz6c-EpfesuJFt{(Ahh`vIK&mX~w z!{2+p!*XNMv^Jj10kzg6phJL25v2>paI;9}-dvYTgOfgwyCAylzUYS9hK|8#F}?R= zIGP;*b_40oVQd8y3s?9W%4yl@p={P#MYoi_O2$vRw7+DD`&1TVclPz4V%z^G%?<*) zLtPN+dg>h8wgbVqMp-X0b3Q`H`zRI4E<@a*@3hcKu-kigeX{;|8o;nez!*hQK~0X` z0-WB5Dr<=80K0VozQ&+!4LajmZ|kbSVpc(E4bl}62*SK`6x1eF$i@Uq9n(ng}*3h?Bti+A-f<}WuE zZ7-NlXaH{Ih#A{4AV+rF>D6qFBFYl}0Z$S{(d(T~(`3ycp}M`oxP-xL?!-?^TC~F#R4j zt4nOJRwxU?q^_Wg34{&Uwjct^!hfT_kQ6~FGq9(mIEZ*J^!`AC#CBg*?m^EVqF6kF zs`mYFV+VAXu%?GK7F}=A8%I{xb&0aj&_xBMCqPld8jIz{Gi;VGos2CiaAZ)Rnnq@E zp;38b)d2X(M@Nhhim-DI!KxrkcK@N6x8u-T@}qc?+=Y`caNUBu2Hi&xW)u);pl6Qg z>XVl(+MXTR-wD3*#uST*#%617?EbHv)_CnsiK=wnh}+IJI%5Pl=iJ?Vs`2=4jrl~m zYCM(4FiNfx^d85I=OfDM=TggXNEr{*hyz#v5|{q1GPl1&cO6AjX+~KHc(;bwjcb** z0wD$1&V@w#10sYqM-f2e5na502yQM4g@y}!bX{Q8?%TcNN9J>He(noD{gXfV7Jy&- zM2qpKfAR-E`C>F1w5tz6q*2rh931Wg>J;0}3aj-cNE%Eh6{>3Pf_O~}h=o=XPdX>= zwhq46zWmeoD}>WTc}W~p4b%>dDQBl3T>{*J`;|jQtwq~ebiDzAP?j2diwcGBx=_^& zfWmftg{zm}!usL^l-NKKgQ0vnn+zlPkOdfd^vrO|lo5Z24S*DAc$ecWH#8+?r$r+e zX8_9J*v$Da8f1Yc<}gvT5zW!W(TpYr!xS>6%_o4NhuM1NLmKN2IT{QghI@{^CLY&)3UC14HuZ2?`)P)_zSt@g3F{}^rCp>39ERx6a6 zP}Mc6Qo9~N(?MY4Hwk~YQn5dsT^O$@pgu&gc!YBC5LC~7;DiR>+UB? zVLGW$mIZWCLlqN1Rp`1MR?ptU>ij*}<_vXVaWX40oz8K!+{Wm{;D}IJlC((ToS1L+ zF^0t#AbV>iTCPL@&g36?evM%0^cR+qs%CgUM6P{BhPq~1o@1eO0Jj429KKf9C&^u0 zFry%+fOwu=_jqz<04RLr@dUGplhC!jd-C3L=+4wytoiN zUsblnUVnIS%x^uI>BG625U-RrOYn9NVt1b$z!AIqs6;28bhF}k+Jc5{iQ*`TgVROK9{VzB98ZSPJ$B_O!Fo#+|#{2{9S*P$mzZing{ z*xjW=#yoY=^$umM$^!FgiLxx+0@O8(6|9#RSf0IycKHzsG?-5`>cbL>s)RIV))~pd znb>37Y9t6}|67+_ag)br&~X2bu^gF^7ulc10AzJrZeWsuNEU)+Z92tCN!0I#u{5*- zBi?(`;@mWhx1VgI8YQ5GY6Omig@3U&=sJUgMFj{jtrbr9OI)liju#ro`z5p@{L3e9 zQ=3l|9-LGt3mRCP2*U(5rG|#!F(Mko9YG8c0+?gCR-PChw8^=sTjl2~XOo0-I#{iJ zxRlB$7x7mr7q+r&2p?S%R{gx!)qy#>cYx!As+^Zbi@74*H!!;;SOGG%kc=k#{V&E> z_~Ze11PfscbjATNb_+oX=`SHPK|MV|eS8lB!ghUy-DZta0h39EYBGUo*RY~cEgoUA z|0eY8zN=8P4Q#goNe5wrzBlN41GbE!C@`N^D2fuQr~owqbcx+|jpg~bu(^02%3Px^ z1t*IVg`VD2*^9(+(D)}fPzlOEnE`3FEGV)CL!(9K=$c#&;!$J(Hp>8wspM*CiVc~p z`O_IY<(tP0*GPz9duDcO#e#0#^O~zS>g`Ou8zzTtLz2Oh8rkp zVMIatC75c|vm?ysdr$|*Xm>koHdjz>hlAJuEGEZaKsnii?HcsW6<}8&-hpk8w(HRM zJqYd;oGeOcT>-j=Pz_@Z))&vQzIY$q`Z)@;*qauZEGj6!MdoJQa7q+fMXOYJz>N7dag%$LflW#)ieqQo&Eo50{hx5I#EVFsYRvXB{EX z86Hp>3Gf>)ysU{B!wo1>8>V4VWc6%<=2r9h;iiV0LTgDxA8 zR#@*8o?a0ynyI03zrTC$2uJ%>IVrlj;3Z7A1lt`kdWJU|IuZIYG}YcDoj) z1InVneqBNr8iE3lO-+R78YZ#?g*maC;>p-;dnn6i4trYGaO>j6T9PZUH#zbdHXWaMl)`Ka& z{j@=$3Hx)6s#GbbXWXzA-plWyVmwCet6@^Wz*tXoYbrnzTL7Q}q-&6#c9C(Kj`+<7dwO2Wq*6N~a|v!Xu(kpB?m7nBgS2)vahb0`eX4;} zIRTwXyk1`Q*q;N_GR5VK7_hPaPPlT!E1jdLW+tVXpzgYxc#&Ty345rC>tk)#g~X;C;`YhD!| zeupe67&oeC;&|v5U7iZZ*@7GkofV~@&p_QTsi2idLh_uK6Y-J$p3jg>1R+@}-I&B2 z3)aKO8!MRC8fIQ#xwXD;Fl{hexl{1&VU2^i!eUm!^ma(9dmgyy7;k^L#mnm+4^Aq) z^J!_ z1|PlsO?mO`i7g8;$M?R3)1zroQCk;S!nRAWZ2;RqY!858jd8J(6z!K8ij7aV_$Jmd z`-dw0GS99VA{NtQ6{7}ISB1+l<(^@MAZ7!$EzJ5ElrFGW3ij&4?baRPY(NplzN^NI&yPX^Cx9dU|@U=VO*bo zG{HCCXI!ogio!j>g(jRFRX9GVpq1dx;RM$9Zt?pKDCFfdt>D8KEp{EFX`Rxh&~EJS z%rG4423;W|u{ULD3pe+V(YH2^6S--l3f9sfFVy7>_52jgW{LMd`T$Qpc#k)$OLMq4 z;WuA9Qu~Xl(!5ccUqJdLgj8FTe2{Fwg!^ z9Pbsldo;(So`X#fV|pLXB&bV@#WHzwZISioMOTO-l%9l+Y70pZcS2evGaAb<#?hN? ztsN2hBSAUEW+chfJu*nA9yaZUJk|v01T~E!$-tOlpChRukQ*rlMl7`moA_#L@$#y3 zcV>?@PHTm`MA zS1f8&++9O;4f@>@Ag5n;2@^K{{KCi{kXnwh95UDxK6MLKdO)2Cw=4*glF)RF&CV$w z^4q(F$}|;rdH`%;O$)_4aJNJU=Nqi1*U*zA>>XA(Jt#4meh!L&zTKkVwy4VzWnDX! zkLjHILb5UwpZMIfMG>MoGD(wVaigDajG|1OF7Z_K@~+(G74L>=LrNM|$pU!209;|v zyBIn)NZnNC_y&nvtWX5D3GfJ>%ZS)&f(?-qDydM20+FBo4(uNKHy=!KwYE50_Rt>4 z`PPRGj`tks)fvHb=2m{837r8xI&1Ob%Ana<6orCe!Gn_;4^Aq7_okFB8btg|G4g^X zaW$0H(Ph<&9z4rBE^)JMD)c{UKjMlPz!u(m*IR|>D~0FR1vk(BZ!?`}dHwD}?avq0 zM73nQGoWc;niUjT*sg^t2y9J;xDJuzK>HXYC`%dT;C|;5{r8Bbe)3OVF0b4j>#k zaA#kkX@SF{h$dmn>>>}dJ5m5H6o;|S!mX{ zbjnY|IDQg=vsI_H@?&Du%%#)-oicL@O;DuK^a{_f2OcAxKI^AR;>*F|<>u%&pHt z@pN?Pts3+&BL5nr-!6@mH=&@1MFtlq8d;1mBG~h~?XXaHtqWXz?M{ssS3N8XdMkMM zd5dLZv2KB9=N3w7^v0klbbLUyCVcVH42A`JGaY|cLC2Xtr2}OQTryiO=nhHal%0$` z`q_u(u2@OnQv!-Yp|^sUD~0FRS~g~3rt?F7^mtG0O;MH95SeR8vj*E1w%bCKKs+K! zVBchw^>t+XXgK8q56J`5bBIZy?3s9lJ0rc)oiPC++TW?PgsN?J-}H@!rVL5+zX{S3 zdl)41^9dMW3lRh19=6{=qld9uSSi5m1ynglSs$QW>_KE7rf<=<8z>0sVv4d57}G&) z?-0_^N$7uw(FO$!+KKb{4B@Qz8e_|j#OOx{8&VXRV_>Ta9gY}`tL&XD18_qPDHIv- znJUT#2YtKag_s2;-Jlly`zi~+o_e}!0sRHeJMgENp{VyzPY+Pl z$FMBeHCw>!P^b!3U4vj@`VJ!2xkd;mv`)l)2H?cS<~cXb3B}CQ;sPQIVUVibC?-4i zJ^0KPmA4*;uaRv^>Gks0K=w05yavQjrmQ@MGS$g#zt4cG=7%Xs@|PM5JUFSam=^fP z`)f?=0>;q5nX)%g*tCMXrzP$lO|WZSLV)4K|0!g>6u>R5$eD#ovf@%2h@oQ4N{*5$ zFHr+&T&#h!O(ECqzMU?P_}*)CbvW0h<_#%+0okn~b_ecv5H>OLla#s^^8C%rF;mMwG3!v2I~>Z|dL5xLAx$&)=Nur-EJRiRUYJBCuK0-lCIpCt80KQ zR6!6b9C4IgsAKpqJI^Fr0DTA08q!~b+Y3O?P|Xf8na&}!hpua}H4PMclv<C(;m`*f|?NF3O9BGVAenrZ3 ztpfpg1c4j^jZDNW5(MZ;$`{7lTU`#BXYdB%M+r>ZpSd!dvulIHd4bpOP4Uh5H@JIL zVZC)?jW0Z`@$AyzWUs)i)|eDGBR<@`tm4(gjBIGRXf0oSIW}{fNI)qO-a%0m5GtTZ13vyR1~6ls1Cz__GASHV zYqDUNE^tGFG9IHded~ZWU>EdU7Vi65Of|mr`V3`R;Qn!i&pnvp?2=Gc1!fb4w;q&W zw(<3YTP$RjiqOE*7(gXs{XWLYhc<6+c4iDB_h$Y>3Ga=sCS_s9qx9paw_&nbuW@mD<( zzdLd`Nm-uY*b9;VZpbS#2Q`lPj|)4b#pQed6iT+(d-Nkvg7g$Z8Z7LU zFG&%@S>J+E3~&#T9#(p%*s&Whm5|9kq?lteJ%Yv5bz_LZZ+-jadVO^@s}z*Y(ypD& zDP7#7d@V@gXtXgvAl!r7D@eH99Qw?q5kuQ<0h5iCuiw8G)TAB3O))%ze-WctuF zvIe+0*DFS)4_nyY(*)drQ2^~Fpr@!7$58blzW&?q%qFD z^-&p)_QLYM-JoyI!F`LmB+MUuKUB4krrAOFFR)u*ps?2ie#&yTs5#xaLP#^)pa4l^ zb142{AJB{u*b!7enuZUSCcx5dU<1Wkgd8c(O|~+I`v_^fl>%pQ2qm2&BfVobeNXr?uOPfv`%h;5HrYm7%v?EMoNP~*gX4H zAH7hanjN6oY;f}W54(gnaCBHmXrn^n`6NpPQ_3NyEY>-@d#5)w(!z=c>>6s);I$J? z^LmbIa)AEgUBE1T2O?sCFtRi^1&+=N86ko!46!@dZUfUb?*7s)QPdkeeCto4T-?X+ z{9k_uMRy(*Nh|^_qx@BotY~%U{Gf=&x?I*GJDm{fx_vwa>pZ3c@$cdQr_#epd7F|@ z%puA?I)+hcMX=(6o0ud!wX>c`KNh>6P1a4321REoCk?{|Ci4?Cosx2@&6{@$U8%NI zb_La~Vf!r>DhMz=P!uuZGlZA1j{!xNLZGwNAJPRvg*k#SLMez(C(LWl!}qRL zP$j4IgeaoOQWcb@S328@SNY^To_^qZmtnD}8#jH72J=9*6A31`*_^!TlTC-!+y4`~ zZiljcA1wEwNcn}R@*8VxdqM^e1d}g0KG(l53pPD$zk?wGP+?v(PL7W-x$`HmD_+C$ z+1n`k=cuqksfTWq{D`2;K@m;I)|;jK7Tj;arUk14%z}zEO0y5)en2RTk8pF~fDEAZ zaWS?FxKi=ti;zgn$?*#_EQ(Qu0FUbIj-prRpM$<2HhH0uQ86@nbC5xlFY32%1W(QkPWK7Ndz9VB9K~WS`{)b+Y=Gt& zs&0cj^$Z91XV{*8AI_JLv07e0nx~lI3=`V85f(B?WJ|fH{vi(uaR}3i*aCCAHub&=bJ`vb<32Iib#!VHB24WhBHSvw))~&Iq;kFG1 zBllIXTUiD^c-i9NoeAE3w!^e8p@?z46_gJuJiF}h_)dwUP&aB0hK6Pt7@}2XLHpDI zoTI%Nj9Cq&U@1do2)Yc|dS%kwQRl*(aDe=u!NiE4ZA^ z>$SzYVHDcnU|zVK7|$~I#>Zzw`;&$3*09YP&=*itW4}7U>~Mnq=q@f+cd%SUqh*2W3Az2}o>E-|ti%V30eDCm+FUD8-vm?QVLTZY;Z%(=}}hM6+_J=Gf0CS&CVT z?d>*g-5uUB}!eSyk8!$Ms^X$@7*po=L`cAi@` z(7FQY0w4tz@)j~0pr;|3&Dc!v9kM)C7J;9|dtgBR`)r?E+`M^xcUX8tH@mWfa6SYu z=L<5RqJxuB0pmdR9EuN<`%V1))ExQ$(PqX2*A3rXga}M3BL6D6dzqU3s_wddgE&)GKExG5Z-y( zVp1!-^dA4+rhFzIay(j8hd;DxHF$(-F+SxtH*eG`3y}{;iy-r7pE}V#p5b#poHV0*q+l-8-er}wGk`TS<1N0pgW2KAp`wj1m-|2ReM{A7ljv_#*UA~dU z6dzq!JiF*%^dSz9@8C;s9bsA;Xx_rM&tRGz`rQTu;|#mttWKOT1R-T)!%8Dyf%LqD z_a7<(*-PAll133>*D>CGx^oqQzJ2;&USK{^(2DStH)dE&OSHW~+Y_E$>~OVq7(&}K zR$GfNJeoxSjj{sOusg90?vwN#bp0pq+bCY;lXERzcz^~`5F@8XkaNWepR(BeEZc>A zjkp?U{rrO(#<>6{1W+dNvRSbye59k(dFCJzbEv|c8pk$2- zHBPGqj_%B{J$i_XHSk+s|5eQQk8yf(i1~bq01*7mYQwPIY5aGZ7@~o-S>U7XJzS~p1K|P>9xrkCWDhWF zkbMDOFTv-!MdLP{LSfTby!~W{*X~r9*6HUOHo<7; z8iX{ziZ+#A1x`(QF9@R9h&f9Xbr0`)=?*yb0j490N1%^8rM%c2sksS}v&_t_K+L9L zpWPyyT80PF_`=DD7AKvoD+9@E7?cB_j&#|4=Sngin!}rdh zs{WTw zL0Q5DIg#sfBt=kAxLkEO+N&J$Dj6T@fBs52voMXu)4Z-Aai$b4-Akcz+A) zLF=+0ym^0$ll=nEFAa8`!GqHp%oYS^sMZBgmI{yWxiFv)&N?syFRpqV%nQ_&9uWLM z5*dh4CZ?cN)zt>`6bTJ4{><{hE^4GZ8;hAq_kjK(k7?cGbYJ6muX1^^mp!%~ygAw{eA;^&sfU$w9}g=1 zz853E(!rQT4`!-_c-mnI<}kaMjeP9P9SKRr5jqgq>pmqC>VZd$fRJU7(on<>>4O6W zh=57qR3c(WF&RO+7E{^spYllPDZ_v%!4SnHuSpedVa1@g8#@ynj7KfAp_m|KJp#f4#=(J}@f{h_8U%HH?~q+iOs_29-4+7Q#9z zS0W)UfG!B@b&u`N;-j+$hkK(mBQV_5>GFBe01Jny|ehzYqJ=+ z!MAjh&`sRz587PpPe+^LC}i~TMldJSt%@YDMMgOjK^~SzDaNl6KvND2)1$5w7AU23 zH%2x-JNkopk4EyKkE#Jg9n{$Ux)+@cPYX&`+Ix=YGt zaHUkNkGtLqp1d@;?n>zT5svOZ!ox3q87FgwGMC`)5_Y|XWp;Ic<)QbKT9B3ja+^0) z1%C7Fx&;6%*F83k#bQ=~tYktnuU)3Go-IEO#cOJZ7O~~l;u{|{@ikw+H^IZx3T-dS zpYK@!03ZNKL_t(oHx}pDEiN~VO=F_DxhPVu&34CFH3sX(;$*+X;aua%SqEbU2lE8kToG()FCB(_6W%BP}DjbjB|Zy_lRByfR#$mwXx9=4Du7X`|r0-EF)_l8~vrzS@M zl9DH#)Z{t4QPMXLtx9Ud(~T3uS&{&|Kt#WZn0c5VlizbgJR)abODkurw!Zt%?s_m2 z>ggOORgL560-L=FuDj3U{Q5OKSzlmcpW(2)f|jkXsPpBBx4u*lcRM?woSRSg8!gU3n64S_w zc0MIPV=5-WfLBzCM<=3WrrH!~7+QK`3UmghjLpP3S)RTgCx~1!&mY_g%juMreIY5S%tYo%Lf^?22DR{`M1;M#&}}RwjH-ICVptlw>j# zVR3~gmIsE_TaL;9 z1x&jFqX)VzgxG;o-1|^4&Qi^@g|0A!ZZnTx0G;Z}hgb5bK3s-me!lSt9Ef7=&G9$9 zMsEe*_ z8-xEEgE7cpgAKx14PxxECB_W$iiJFkdS;~Qp4N0%byrnaRo8a+C6|+V_U&6D!apM7 z`y#%~TV35fxP9Sv_RTtZGV`2xBi?x4XL-KCYGeI%n8tWfR){Ats`Qralw;6|aJZ9T zw#f19qNuu{VMn0T;^-uVh!2* z&dE($(z>%-(Ar~&RA`@q(o_K=q34UPUCxw*EVcl)0Bykd5e`45cER zTq>N+C6=;}{$L+(e5Hp$OCqK4F+Py7)%p^i3m(Y z&^!vvo~{Kj0()1Dy+MLj!UGq8%6vJv`_}I7oD(=v1?&(RVY6l?aoGjjYNai|$I8#F zV?7aJuOFeEaLkuEUR-YR>^!Rk!`+rS70H?*kER7qE_3U#3p^iX)}qogP-bL4E61$iYtX~x`Ub|!8+bmSA<0MR^AU!zIoX-9Nyl;{@oXetffoCI)*KZ0CBP=$h2~iTvSbi3DFRi^U4%ht5KQ}#NZJ%g7aNG;) z9LxfJAAIL+1i>&>=7z`msK6c%cBYE1;( zzma0P$T8?}q%p(Uq_CikdEB$}%#!pKM8xZvp$3@JxR@2Ve{9y(a&4j^l+x&=9ACTB zLK2ZRkG8r^Z|+RqiTLxg-SCRS0SKJc$+F~G3o47nQ#Hqf9P>R{@ODa@n4-f8^Og40a6H2d!~mqyA!z|Y%U*+3zB;7d0BUKNo2@o2 z4z-O4SITf=IVnIc5zz)aTwrIXi*-N6raXjV9h|LG^bQ8N+Y@N>4FoQsizT2kpvL z(ke#EQq{wJO&+tTDc|y~73)pDlp3v=W6%}QTH(%Nisia6YJIQZefK-E`d14P1Vj66 zuJH0Q$9hwk%u1`!;0(dl!xt25yCV?(e~>~|vutY7o0EmQLJ_Ri4JtohqPi10+9%a{ zh46C<4TDCiI^R%LMOZIt@@h`O{5QsGyX{)_5awb8JX>$h7<{f#sQ$m}Ss)CPm}-j= z61;}t8|lQbu)KQ>v>y~&-<~R@SxRY&(sF%;-lC-ix@i|l|1NsNF4Xn{C|A(g0!o#} z(jH#C8F{=@OW*O;{b74(`J{2z*lI?7EH6IA_VjJ&cn4AT7^&WZO94sTGZ?EqRQ(g5 zth2h$wqgvBlCI>7R2!;I5;GJ>RLRN)Cm@_ma*XE%l+yUolNCw@+}=-cxhQ-URwYvI zwK;~J7@byxM<**}g$`QI$0tTMC#;nw08Ez><3)*EDZf_K?5-Y6{hW(2q{Zng$fuuS zP2LHklr}z;x*nj`?04VHs%FFZv2&dJtx!lbcLl{N(#==c+ zo7#~M`s%&X!SQs(tIy6iRecw(HlxZoDs0=`z+0-To;y{mElV>5ms@C*K+y*;1?1)w zT4vBHvtB@|Vv01)mQ;g~;c_y3Uoo&4g#@M#e-DUyz~WP+Y7D(S1LqM+Eue@SE~*X( z_!av~*ZCVh8^_%*8S|}}y;-iN;PDORC8W}LKFTVu)1p-P>YWzaEr!d*RjcwlhY9W; zw!lb(3y%3J!;8x@K$*yk40P|st^EjleG#N3I}yB*{^`IE_GdXF8FT|Q{0aY7cLR-} z&Gb(=<=GEv_ywdYj-_g(Qw5_D<=+;CG(D52gR=PGSiv;1`QEG_xa z-4@6F8z~}DpOi}1n})NxR0!9?Py3hsEMMGA=yi8MGoy$GDz!pBe}kkh>Qwi&ePPvK69YDOARuDwM!Un^vV#&j+5?4m?bn!$Q0 zYjfgik$F+s+J0{zfv)6G-s@C*vNlu;m34+?!#KWbHN5i{BO{!RHx=07?rlvYVjEX) zH%*2VW2D<3f%6zb#CD9K1MrSjGgt2fqdFVXHx#H1okBZ}DhQ|X+|(eGR2h@@`(?SR zT=Xj6A8N?Q?Bg%z1wMGP!o$-ov;}4aC(ozWkOKN0QN7RW%mn_1q(cODAkHaID*f|s zQ+0E(QW)%_19<=HspqT}!+yjn`Mvp^MreE-_;}hv<(xb)2;oUvQ9t|>`g$>O<@)9U zQt(c5g2rmAz?jBzqcJ|0Xs3kBxk6DejF$ihLoPL1vBtr$Hf|Czm5>T5BQ;6vKHvUp7JULy1F^0pPBuL@?T$tRBHkx-NM;C0$hja~&*C%{~k_Ycv z!L6rGMHsPz{n|dC0@XjO5}6s68-*w58MslJSCl*En<%5cBcF~9xYJEd5>+eZ7O-7-!`L6&VSFql@S&4}&s}2OteCAer5SoD(CW06v5`#~t}F%Y9%mQhTdDeP3O`*j{tRDSFHmnR z!O%$l)m~z8Jpy6P$2Cs}UC-ux`$tEmt2vOq0N0H}jES-%3j|6MXY*K{)>IAY18*6s zl^EJu7%)3SeST3Qwu!mhmCu{C5pqP3g+d$wi;cp^&ojtU;?4U45w~xgM3rvr7l!k( z(Hfp9S5snH>oCcCovD$l;o95L)P$erg~BG2=yiAXPCq>bXRyivao}6tBF@piqWofvhj68w6d3+=Y zolb;hCj2b?|II}+HXa@;6H?p+hki%pP5so-#Xp6 zhs^pe-%TEecEAUCAl-3y!oZ^xrfuD18slZ@Y4*&={XWCdkfWV4t1{ z^S(HKs$<8vJKwM?a4?L~Z80Q~vG4R_v5p`Eb6WxyxFhhq%SjzdWt z9vu<@{HK5W4}W4VfcV?L^WhhI;B-1o7-KB}k=d~rK%k~Lw+U4{_}lRpwb!Or$G&oR zN>q_?UZ4!7o(Fh40{5MF_cAVMGIayDg!3V z0_#lSvlkmEP1qZl_Sb1$on^n<3`L`@udi6<6J;q00N!}x4XoGepQs?k&6_tr_W>V% z_+d;$Eyh?x<`0O7j4MA;W85F8I9w}5)+w$Iweedta>>(IXm;9)XPHuUT(@_DZf*c> zUZxbl$$6{7JLy8}4Ie~N&MMzs#8qtv;TsL_bQzXwiPE;@j0k5FiSa^Vr^~U|XXvFG z5eM!Z2+WomH}@l~x4_ep@p!$Mm6$FyZtO(Z@7IAVjFcVy>S}|kepZjy>ozgpXiEhk zjBbn)%sq>|_E9zGn-${`^c6vq*_2MGOd|jg3;)sOyOsy=qWOFwjpKSpc_cvjM z$^Iy+)>?+D4EM9TNJ3)utP%i9vzt=o#wEpIG4fro#-x;8fKWc;glcXP##xa1Dt-1@Uzh zz->C%{cD>J^SQ_8CDyr#-R`#;W-IIOYSGov%uuI>U4er>VbJAhMaDv~lMudqQ{dz0 z66;)Jz18ToHTHwTs|oK_2BZhZIIm7A!}k5ULAypsIlQsgLK1Ov+6wY)HA4hcdiS!* zxQbDAw{`PAWn=dI5lI+ELzQCR$=qf2xsV|B7IJtOJs{wj0dxUX1A?$F?v( z|9oYv8l3||sWj}qU}aXoDwB9}vccuTh`fnu><9u2Iz3_~=Qd|UbDAkYb>;@DUCkeO>1&GKv0q$}rk^|;O2Rxa zM{7g^ST8kF0lao3@aU{SRvK%-%0O5FmkWvUTw&PL*zEwjeN!|^M0ouu!l$PatJ07K zHaU<)sE7c5acS>T>3gO6QQf}k+|S5xP6e(7-|5Ac^`a_-vpMu{a#O?kYdB|gG3NeV z&R?k2-Q4rJdDUsi>=;Lu+9X`t@KT>17y>5*r3nZ97zaa+cRndBkVDwy3I_v$H*U4@ z{^OM)eG@}oXyj#q%UOo$QenL<5yzt9miAf#`-2GEytG=#tK3?p$O9Y6izKg4O=bCu zwiuON<2s5Wx_9rM9*st?Y+XgW-39l3v(BP_NO zN&~w+f%(d){ga59e2q-u(a9Eq=a5PvFU?qsGiI(Y1RU)|P}+<N;lpL)*W zOe&W=e09!=3UCXF2+VJz5uj-?T5GmT*sRjsnK+i+i_bjaF4t@#PKweYPs?PkGk zo0I)MvrEHzqbj8c|0p&d;OqmCT# z$UVWe0JcLcN+pO$5E1u$h!m@09TawVclD!3kFFG?0MK@zoTD1Kw$%Q0tt#W@k6?_k z()d?!rTn(jyiz8-rlE4LhW0g5sgy|(PI!vrKl3;7@H^i?!nTmQtlh^vUTSqxDOG6| z-J4Xw`VHZ-i3YI!ywskfxdlB4p`jBqpETC{ss<|CMwB;w0Fw`fG zfPO?+Y=BIf_Lcz5RtkBc@U@8Jc$Z_omRM{&*^o!ruGQ`4G;qN^ws8+cBQ8}wg=Te#bVJj9Wl!>upX8PpG0nNSKA=wU~aq1h^O!)F% z&VZK>zKiA4KeQJ5IxrNj4T`;aB2i^7<=-P~=V?3cXsG^$ z|8sh~x>5?7vkC{2S|cKj+xuo*k(ZW#>p}inX=thisrL>zO2zTwQe(LRWNG5e4X3ii z8#ftl>@X}g5~HcaYO8Q(pQGF29+;!SxvK6cZWIzkqU(^nfToN~H*6*?#Y{=6=!5Pa z%|I2Q!ZZ2~jHuyRYMSuddIsu70Kqr{HF(oZ8`hQpP@S62mA;Yi6XZlfUvcp+mB!&P z!kzsHFUJMam|?dU;dGLtlQNUT$QW+!C3t+g#nEnzoh}&^Rm*_L;GVncJnRmpuP9zz zt8C)rv^E<9V-ThxAa1T)G91sExNW3qsz3VZqhS9MxVo9b79erXO`wSVxBCbp#u&tR zKUx3D*KXh+zcz^ff}l0?&8K|J1)q-QRR5f@APOK`P0;QPAj=JIy!IS++;67=eDHK|hx($w7B6+EJ_PgJk{r!LT!T2N2h`YkmTANV>K-&BRd7gtYhMk?A zYgHRpley}fDtV_QE2WZ*vHW)45Fci;m(7r%B&I3}jQXv7mKIH0I zqt+U#TqDa%6x%sC(>T2QONiS;WGcq`><569DA!Nx1p@EI(^M5wc{cyL-`e*o-uf!!WMzXeRzb;X>|B=!d! zdp(BLRw5EWJE0)hrHa<83Z%9=5>^BP)SShO_}fT{ZA-XFvu7!#>4 z-)fHRBO zufKgU&t5R1Sa2d;d827FqnA=^tGV`0maMKC3J0G^?pyg^>woDnX_!N0p>gk!LpuBcMD>QEl4zGqe_oX;e*ML-R3 z1%Ly2p|RK~bW_5%G*mmK39lXU8Y|J)mlbDJ1rF&(oSk1Jm15qpi*$WY^8pBI6sSXT z$-9FyZyHWs$ABws9V*nao+VNxdE*UX^L67Df38VYM4oO$cq4FP&^7_PGF7%_Wxn^A zZtPV4&*@ITT0?1&XTb<@M952y$L9hcJYhJUwh%=v?DPbB?HG|@V4Pu_ODtBK!$@ua z%5szc*Fcp5;4ldt$1#Wq`OWEBLhBN;%uMDx7)uw-WCw}tk?-f%NmZZ#$=ZOQ7uc%`w}8sa#i z*7wB%*y}MYHo$5NWB2G=`$41MA{3>$Uw-vggp)~$(M+M&a!|fc*$Zc-q{Hx6qEKts zypuVg0q_>A)AmV&o;It4SWOMQQgqi0?wfgqa`eRN{&MhEfgeWGIitzDEjvqaXa6XG6c#K;I z9YhgB#5jcD$cqA}7c-2;GiK4_phd(=TW6Yxv=PB`T@(cti^b;`qeBykNGqi@ z)$~)%ITshR&0A-)_J8#YcLx92<$Q}zpPr(fCOF#dVQ;64b{Zp&B+`T!$$3P*CI>N0lH&eT{%K#F1d8u)+uxuFnJ0I?F91cv& zlSIIHA(04klExG0bt`(25Y%ky}LI#mF{^3GpHf1G2*Q~LQSWkEYu$W zG}ToEdghHHs~F;K-Qa(C65 z2=6u?!3YuO$Rx)Hj|m?>>nJ_$Zy|NQ$;!#`UJw0F8`ISW zvt@>d&oA(DG{wPg4~IK_bkZ1UtkH@~6rCRCs}|lq*~i1l9JhNXxIJ7V5}CE-vr#xq zfH48aI7)k)ug!}a?rhd!F3fkN+UdKxhBu-o9|(0brS1LL22N@X@UC(CTCt&Lh9P? zvF84U?gY-dL$g=sKxjA%MpSe!?IDPM0r_6EX3?uE>FYXbitl-)RXE=83DkZ8`T~I~ z<4aFi3~yrzUHd|WSqE8}bS)O(IJxArJy2VIFd{57j*p%*eDYjizDY3bw(#0<3eE{h zWF`#jZI01+j?38+MIq5`r?`83fSZT=81!0rdOpkkOgbDh){u6J!{|0nyd*t+{Kc;BM(?dQxkwb9)+V0~D0fp(na3lE>#7 z({+iX0dUY4IK2dydo8p94MiI!u)lscpUa@KUE z^VS!I8;zg5%o?QU5V52yZNEQ&SIsHEH&}F$aN%oOYZtYuXS2FWr}l^FO+!ZW_|m$5 zYfoEQsX(BEIjke2`x}8X%&rI__8W3e*80;R%kvG#hfgDX_Aj&M}%UvD0ng_+Wr; zJ4GBvkflVgEwEU(@bP$v2jeO3?X7Sp-a#jAL6=+P1TZc@ECLe=7>|svcq6M(N`1|2 zQ3pm&l_`?a0i#DLKr1pc0`Fp9n_W?DVQz*O@Us@Fq$i@Gv7i|;e1LE47hs; zq%pAAngvo63d;?llbYO*R!nHe#*J*Z%W%BItW}A#st8-TYCCcMv+z^|p5KcO463M7 zgZNZ8pgEUB<(3`dS~Z#8wc_M?vNBGA^*>Z!?WP#--M_CjY z_B*(Bw2!0xU8G4A%y1*Yu#wilx|FKqrDpc@c=+()E0r6sbceI|MR!5gQc6-vm8w*% zEK4C6$9l5{XS`bANgN@L1llpjIx8_-Wf)BtxSXx9({JNwua9A`jYx1rf??1Rn6F|y z80Yv0|Mz=%^Xqr<`t4(M(>Aj8+^((&ENa13O~tO!p$TuL0#~{=FZNEydgyIgJ-%bP z4tHi(On?iqsS7rWfG^!(IGX`yQ;GRnqu(an+-2D0z~x+FTh!@TPEiqYA6NobnYM+g zFl!rC0ifq}m-RS929fDMMj_bXm{xO1GVTW@ z1D=mL-uaB-*+mL2Qta=fXvG|@Btj%ON~tiOEiszRvECNYTH|1MfEx$9*y(qX#E~^Q zvm}-(1c{-OCK>?Nn+>vTi!96V<8+OmYt^W=R$6Or-&A{sC?=JXj5D;-)Gk`8S^)wf zi3D0{f_^8#Vx3^N%rIT7FlS zU%7t^!?s3QmJmtTBq3>d%6~g5kk(t(yAzNgfB7cIcnMt2OKgfdo6@{*szU5mTZL_I3h-p2OkO-0CxEA;61^4= zc(c?%cC~f7i?|Mk`p)qhc2=evBy4!?VW2|Lub4kpYLCWj&(mAhPITm{Fq#B(9fbV& zB=qK8((kevnJ^>gPfF0?u%50`=K}X~?_qI7$a0QH=N#{RCU8D$p`E6F}=9gzB&Mw9T0JGVYl$6>cr~32V z;jYdZ{g##4wv|~bkAThRrb@@fAf-ZC7Pgx({SsN|y%jNZ_q*8SB_{JN7V8WjKRQFN zGsDqd5BobkgTM-oP9c%ybA0blF7e*`eZ2YRm+;Sh{Wf+7M@U*NY+ftVa|}J zz7L9z!h58TR0bA`o-)NpGOw3L`FBzZG?IS%>n}am!8mdOH32D)pkA3S`&ZcJeUX4T zCaks`A3PO!?-60LOwsGKal9X)*N!bR%1{&~P9_Uegr$k0U$56VJw3zTu#cnNU-ks= zc|OC9{XX`0dg!!bq=`T)DUlZ$-v9o) z_|bll3k+I!49uo4BY=kw?Nr1`HY!pNqt4v|B(YD2@0jXh^ zgAq`u5bkZpC-^DO(AP0mywi;QvBuSL2J`rqL3}zISsC6%kF>sWV*7xQZdif%Ny66| zDNEf@cwAHHgsUfO(>>g6N=eMH+!EgVjN#n}giLnO@3ip7ofLv|MBJDZZ?Xa>(C#z>P0X%ZvLws`lCf8Wr_$~SR;XN1@GmJobXom5o>n;mJmU>D`t zJ2EdaPAY{6p_x*Biq?hh#L0|8vb$0mt(f8Fj(MHWrV8uK+;57~NTytt1fk9sxw*?w zNJ3WBl1cKF7X)lG(rHSpoSrtb%hUXAz66B5`2<+tyio!TM7)q+^n;H4ho8&V2W_OWO(}l$4Acu z3e`rh9pkVap`939g9un}a-2^Vn6Ea_Ajq=BWHP~YHbs%=cFi(C5jZ!fYAFpa!94Qp z6$IMcaebRK^^=~A`kHoCdyioNasb69FWAGEQ}nwj4u_q3D{}S(QX+|CWLXX&j8CWW zo*@u12oa&%j?rtyxO33M>12(Qi-jGF%(2r;aeT0YUOPo3IN~@$Q7WvmTX--(z^9jE z+#8PY+U^XkXlsLL9D~=~BY6-fZs&{Mu3Np~q$`v$*on!{Nz{QUvl}YA^-@R;xi!ys zGFG^M#H#ELe^B2}2wytlSZoRBQ-!S+C3C7B@CF@*$O(464MmnZ@Z_oP&EBc#Gkgf_ z>f&vrLtRlrxRD7b=(6@u^pQ|PXzTCiYWlYRz}36st0-{Ztua7EwGM^G{_0d3fn&Vj z#KTdxS8PQUKgk1C0<-Ca5i3IJl|m0YvXu-fPObc8Uw9VW6&0uts*>L?BL04 zf!njY4$1)PQ{M`RMw`tOMeV z*Q>H19jobX)`KRAIm(jo{F3nDlLSvkF}P^qXfHu45lCZR5ymHrH7+JgEZ19bVWRA| z>m?@B8RpA1h#1Pse^Ym=?N5^~JUjq@%Hxkd` zbtB`rtc_A%S=GL_28G8vDUOD1TrRdaxm;kfSYtd}VbE>iXn%m+ejBYMLL6}nIuX`c zij&m<(k}J23<|gZiSBI3Le&IbS2U zpp23Qvh@th*%W|6!hqdgiftjW$x38-4rq;5yJg2u=2WcEe67H_up8u+4!FpK*NuQ-<*(MVh3zebhp?6+>_{p2!M`lhF*9vlX)3 z;1^mJSTAPCwrj&d72I047^lEA7HB6imYXf+%Qdvph?59;mVH0&(7!n%ahZ|553yK&r*!=r!hy~5tuByc`q3Eo zcSg85SR#qaDyg^1`LGUfus};CezsC58=mWlqxCgog_;)EN`SkE3=9g-$ENjDTH|uA zFkO|1g+>~c*cJ+LL^$jd=4*{<4lrS;Zc+iqJErwBNV%o*S!Z!Sl+`zm(x?gHM73+U z(#8h{6pEy)A-wb2v}bpvTCktzoS>vdBV?`oa0F|Ah)2XgWXRK6`Cfkh43`@8x6pxH zN@XaArHkUD$|Nj_8D?wXqlX;tKIE7zW9$t&xObeO(~8Y~O)zXSqn;SgS13zU+Oo`$ zt(PeBEuc(HxZgi>&Z}0rl>lkdK_`u|%_Z`puxP44kr!3K?PR{di_;5C7b^gSb`k?x ztzV4h|J(2W$!Gs9fVY42c*JduePIBHK2I6r0Xc;&$kP5h1`unF;_2D!_n(jE|MdRx z&R_iMoxQ)YKWx95l@iZKOLS6!-ClyOZDHalGN@EpR)gHl#_;{7s|<=b;v~Uhon5~3 z>Dll8@X_e^$Mel;BzXJwLGPdc+P#Cnyvyj9U!3Lq;e1}DvJ|<}#=Y4~qc6YmMX|nhBFJ||tFs1oyXGEsIs@{e z4uw%#W0NW5lA$b()7*nog`%uq`rR&}C>7QjLo96OM;%w;os?lpwBOo!I9lB~dLmZG zWT{3Y-kaMT4-jhr2&BVEa;?E^Pz`zDj*n_;k7npjI_5X9?jCAqi)Eoumh~t}a0ATD z)*9b`$ne2qfpwl>XVAeLwL;@lL$)b)o0Hye*0VRJ^63m z`Q+py04gtKWQ*_%orF9fv&~C4dY-2LLIh^}`qAZ$3Ghe&_!2@X!Ck zYlr{Nu#YtRt}$KZ*zdQ{PR*T>Kv-@HTuj$kY%&Ngkfv=+mz%SDl}TH}`vA|H_@+zkIyg{ngQA9$(Cs81~z^u{S`s9RnJO z1;@4}uqoR3@Nx$qosV&E=Mt~)FA(vviX89_dg~A$s^@wLLqDCbXaJ|%6I8;SM0-8L zux)%rPsYX{#+^URUQ{pU3Xx!lgh6BbEkdu&>X*mP`wCgck99<;K%~MF@i`+z zf?+f#eDIX;>2nTH2fKq5hkFs)tr#s!MO&=57)|Dw&es44LNKUei}iAbvM9hTGw2!v z0uTeZ-E~~+Ss9Yq4X=|5q{#rCb{p?~{0QUO0z`x~;wYtFzVpe;-}%n_&;I-OAD+E! zpEvazE9{=x>a!!Xx`NnLR1p=Lfb(rBrJ1;Klg=d~!Pd*6TNSe*J6r4*q(- zlf1rI=UA*W><>Czv)P9)M)MyX4BKD&>b?EHbaSu!FHYy{_IS3$POpQby*_%K6j8*HmI~d3<8l$< z$#Ngh<_jFP&+yv8+7ygZ*k*wi0ZJ(d!75#yQs!QyywDjZL{_?vwuTL;+3%TEw#f;j zsVUCsvbGJ>FsP|iz(F4um+XmH7tC$pU4OR|&>aniGvP5m>bN z@;KE{`_wMx4DD_YtxgY&3ydx&=(JL7^J4b!eDT}wes=obee(SBxcgmIkT1xBUa=!V&!TYO1UnO+guvs>Y2Sfvi-}ns7KU>Wy1_W-i7ExOKph zMrasOv1*Z+j~q&?3g`kcn{X_UbcPrXhET=QpvR@Ei^-WxH9#FpP&14v3-UN>qq8Rj zncuxOK9qz$BM0;=>+slu^wl6>|Hb4k>qX_d{KD$VIDb}b?B8^U`h4XoY zA3Z7YY$WjAkAO|y!@;nRqrEozodoSP1_+qU*LZq*iHqq9d07HVV!fDRGoNC!T0qG% zDczbp4fXV z2T-K37=HQA-d}m+*6wfIIT{{qv*M%g{pk7s{^8@%x3WU6EhxmVF~(xv#^63jjyDT{ zDXk?mGuvP2XMtTrWb$uVdt zoXr?Ii9)w6u*nqKiM2&^CyG*L#w8WvSQuuL5O(nxHWM)pXax}^=pVj@dw1`lSe=4F zp)AcJQ(8lChtAqjf%mgB#!-|dA|arZ`Caqe{Jcs@a3U0Wjsg+H(XWA+fQZ{@bp~Ke zK(aRGPrnU5dkZ3N8ytXfXeGgg0X!JzmiA*e70+8XO$8Pk!pXdk_a6zIPZZKb80usq zOlK2ED5b=7vBJe5xOa$WCu8<+{u{qq{>eL!^N$~$ zws(h}@^Z2)y)jsDCI8bXMtF-J-n>zGr>gRL<|e*=N$ulgubtdH+UUzj0hIStZXdl3nu{=6#+_h_5a?t$6nrzjXBLzxev$U!AWq06@2$V1L-f?x2G> z;wVam(uTm4QenMSD2g?Xx?|kwpJTtXMp5Jd2}o(sw9>XbN}8Qk+sh;Kj%=+o7-uL; ziO3d^DI~Mll`6rwKv76U5jPYC%>sqJ;r#OIV_BAnqR4_?26^T}09t}rg5lBYxOeX! z^5rQ=OLKw}uTCi65dbg+T9)Q_P*PSumk_4#852;dK*wV$Ar_+6^EQ1kM>IE8xLNj7O&_=Gz$kc7kp@0<$9r z&Ww6uJX>NsUm?p1BykL=0^9Wx+w~H#zhBe6zV0UKFqu&l001BWNklB zKQT8IpFmbY!^G}CGPKxaNOTiR{&>Ry>xlNUsBA-W861(o^xeVx-R*{`-aKegM}K zuiZ)Iomy^2sl9eJx4)RS|6h7z64p3{ulur8= zg_?Li6`tw?pLi?ibt7XI=p=?dh0%r>6stCKiz;uLahhM`HJf@ZO2(PEe(_ z)^QveYd&S#rEV+1CMz&mY_QnmIJ=zTd@{#w-yyIqL>!2PM4AXl8DqKW;QOb$`1E3e z*Y`%aJzRl{tjdO{St-iccxYW)R=~I6sM`yN#QGxG+7gi}eWh;1{8n>Cs#Ok*YF|>$ z37iO0n){AaRH+)=Ojn~;I#597t_%w+yF|tS(m9|DK<0odK-z*=q`l{=T?RNa)`miG za85Xzas1#R!?RHW##*?smm-agyILeTwANTGH@KJ@&S)tWk~qTtpo`;!9Sr*&aK?~l z8M5u>8p637J=OYCAw&g!RqA^p5Etn5hG=!V6+uC8V7A&me*2@B-}vTR4}N<*U!U5p zF7ej&+VAeXgGl0w`9sPnYCGM|;m84z{l(n>cO#LOeQaSrUwDu(vtJYa zn6V44DNZjhgemiepb`o*Mrg$Xt^FQWn;g^S7OQQ6i^&4x*%CYb4i0yF81_5HIa(^j z5ktQlVZLhN-LpM>b~(kp;Ti7jE+LRvkDSm5s!}reN_(ma13|mWbS1-49$kgJ`CgOU z4c{%D{7l5Apf|MTz;&WxgfgViI9Wq$38>PL{*|mx=89?;E)l`aSo-OR@b04s&qgsi ztqzX&Q^bNH5(0uVNF^~{tc|bCY6}n$M*_Ex4{+;f58YN;N1|6m16I9$hRPNa-u>|1 z+7F2#PFv{ohKQ0BAVMTK1S3oq+lSx%@afei z8Rq}g1^7jZQGbC#(2f4Mi5>}CVE&v^dq}K%+|vHC3tNPl*A_cE5&I$q88VYywt5L| zkuoVQ@Bvu%21hOxX3H&>+Y*=4B_@kCdhG;9dwuK;x=4h8(AuDX5g{*+@bP#TPo^{6 z?w{lC&J+pHQIyW^UkBS$MW552K-k~GJl|7i_vpB^y0X_WM#xHO8-|KTRKly&_Bsf) zaWhc|6j8%!zbUD53bTqxUsXB>k$|c!qKyfYR00o98Qyyo;ps?V*z4i`%>;=xcH*2+ zloF%K0+-VTa;Z=j1=_6y$A^2ku|Gt+l~gC1Q_M3P$tJi!Bt*kWJd|rWG?j=DCn-Ap zA)+`1=Nxfli20Mn=Hu^v`0N|M_uWtb-eR3!*r`C*!#x}bL*D7=W`?=frv9lE;g1{o z(~l|6>k|6pH8eVSr=4#-PZ#T*AaUF;9LNMpl+m8C+rC9vAY_;fPBv&9m(`)9a2 zn4lHqD5VRhvBFxavob*SeTty3szG#Zgv=e2GbDFbt*_H?@@v%f!D(1Md1$HcsB`Mt zB}JY*%PA{3h?{1GcmnVkBx2(SLmVGIC%pSG#>Ff~r`5viH&e7*MtZ~B5C=Owq)B9qpaes&EwJ3gcrfYV*?ff??K9ll9h=Y}&$AUA zLDnPr(PGlG(NIPLW%x!q;F{JbXLzi-I67a^FRiG!)?Iq3!q?nzw7%ZI#*7C!pd%2E zt)7s9i58M}AEg-J{g)BmeoJ7wX<^uH;q}{X2u4U^0l^6CZGo4Q2_}oRH9*!V@(i>2 z9Ovif_}c5Y(d)F#Y?KIG@Tx^uN}`l*W~yr6)n*}Du|eAIpxx~wN!w-?t2NrK7$>9Y z55D!@lW+X951#!WhGK~XfXicBd055PL-<)^fUo|vPr~bpF}Hu+4-|VK3caFb{c&xq z^8S0#VDX@V%901zY`v4z73#uc__)*4#h$B8jFX zDB27|4ul|1U?7MQBVQ6A4&c8aKoBGd;7BnfLa-s*Fk(2CY&Z&Jl0%9V7jcHOku#j7 zdwP0bYp;6yy*D53dsVlKO`4J@Zt4pZIPC7}s(DrC{kHQvr-0k592c*?g7v!_$XU}k zQMF(hI!uE~Rc=4PPJ4jfAV8cXAR0j!dT6!U=ytoi=Bh*ycjB43Xj+@ zr4clZz%UFj&cPH$i^}Yif>ktSHwaAE@|Y^S*lhK&-ty4thgjKcW2@Pd9oT9Cg`5o- z8Vtr@83bLAV$CaItv`hcS2}S`6hg$Yd@fn{Dccu3ql%59R3=VLv@BIkd9YjnR3&g{ zYIeIzWmT?{kljnVyYKDVkT!>Lk*bUlL@iK4VGtW(tl_mq53gRkft~d=xO#%abr+^- z!l1Iw>-0S|Is`k@RT|{vrP8_O-H|}nt z??uLaC#DlWi~|THTdh92g8%@;LuU`+mmLjvfiZo;y?_)0h%eq)83(4mN4+TCB6SqX zT_$_mqp`d^`@Wg}*Gr#^C^@{X>{E*L>vW7~JFF>V#<8%`!9+QSS}CP!X|iUdra2TF z%G{nrCaFNU+!D8J+3e9c4owy@Q!Aj+4Y1zqW2fz5W2cMlmb5XLs1#5tI8uj&5|nZr zUZA5L74X8+1ZvJUPSzTjECw)*1Y7_K6GM*|Lsq+4#?T$CDZ0r)A z+HF(0XTh<{fHb`c=(+~eEg@k9*XK8I@#1wf)>n}?I1bkGFm=gh;#{EJ^RUzIq3?ym z;d-~zMyJz7x7!6{30&8eGr?3Z#t#B8>5VWVlV^>Xl=MKd*z_P$*SUC{i+klwCBsK2~>nX!Qc@bfh#$A!lQ4Ckq2B9Q;vvRb zsY7dmamfo{%o}s0`-8D2kepXiYNT|1@50d;j!)%eB-AD4uh|)3v(bSc z#?aHTMHF~wHXGP(w4v)#Rn0KyP=W=izOGJnaKXSCL!2ba>ykCTq3hs80}%u}jSd!9 z)?qj$REq|5N;86kSlVnq^W^#4-@H1v@pKroL9LXdwyB#!2wpGcdR`FW=uCwaTw7e7 zTQ@l8EazC_W2a`4qX#OY?}eCK-oe9X4~lmifV;q0FXw*Nzmt69^Y4iaPq z|BI2slE~JUvZ%_%Q1X9#0a;*ottmjUyshEVyou$857Yd66ik7`^&HH!qZ}m+8#^8B zw0ekAQo5m2M8N?5po=65p+jJzoP!r7h!PIY*igQL>T&}`XxYN{$VgJxbW4Vdyh;&<2E=YD+Y&j0-BwdJ22s26*A*S7z~XYM5nYfT)SC?<0& z4Zhy!>c9TcBhl<+8Ml_U>Ee0|6XhKL?Z@tCKYZbJ4H`twHN_V`aS9vF9^T8N|AH?d zIeEC2oIG6fk4#tS)33~%FTJ*Cc|l}GF{5uIO72N{Q<^xMQe3O^9Zz9H5CEMNgjvMZ zyI#2b(zWGp-Fs~6w@W$eP{KG`T_4?kfO5e>wP3@w^i*4v51n~=s_&|4sdF+HL&CML z%Xt|g+E78-&<(hbjf5pgk_2HGV_|h0>pPvHG>BZ|;;>DI*rjOoOq^dWUj^~%Q&*7^n4Vn?RR`uW$F&4UvqW*?}D3)h#8=PxhdUw!G}=#l$o@xPzA zj92H@asSDg_cRi|VMOtt|J|40@n1SSRo0%pbjN(=;=HxA(Xzsr8E-Mq)W&uvF}5W_ zmGm_`YA4lFnm$k(IvfBq4QiY?SpDLe+1fXXIeR8aIASKZ>`ShNYQX~41mc7tm&-|_ zau_0K8oW^ZApR`{rE8Ks!XcKu|v zC^@i}36ZAHoC|aYG5UT0hqQ6Lx{ZUSE=(FrX?eM;oo-Ob&5t;dn;$Gm(k&7OLQT|W zPT}N<(}=wd=pMJ;hWf|~8j=S3w7jAN_w@g%u1x%D}=#;><u8Rz)=S3Zx~1JhEV z3_z#b$MX6XTAe=PL~hF%QmH;(+-U#bbFa*Q`_=i)=Mu)FY!Tt$M2XbPIlbBSl7efI zPuw>f+or)ylaf}~7gN!0L7ntw9LJ zI2_A>(12!VuzKz8*3&l^w=V`^+%M*x$}K&uGt`k&)-Hd0qNu~Y*=RT&S6C)R-zT`SAR}RW zV4+;d;lx1`dDnzx=nz6+;D=~*257c>AgNt;5{DRgefVAvJnc%$t&+3`<}$O`#g0iA zu`7if@(zO+#_$p$n>T5rrq%9Zb+ds+y9+J=L)Vda4KOak+bfN~`_WHt{mG5Ro#%xR zUiulzZoYBP3$$Y1PVPB6#m*j`;D7VXYvk*Xek94+CY!9}apuT`ct3*g4e!uj|Cir= zSD*0OolWEESLW;s*O#3^5F0{>y(oEPELy6|&87l4U5SEF!0IaCc9jhh?pVgmse_d- zo;+OpO5U~0al*j3fMrnBiZ;r5TP}I#Y!n?GoD1}V7+akH9WRn|t#sdRZM(g6ZDH%l z+siwbqL}#_V1W=S`y0?T*%i*b?6lMg zh7iCsDSAF|eG#~_prPy8sFic56>T`CT;>(27h$6_K(FtoQXvE^ju7}ggx(x`R z)J#+{n`I88qo&F`j%4r?CK*qk`P8q05Q>fMrX(xqIxL-n3*p~d+Wwm-UY>jW=F;|+ zgmF#jCxpsOia&7rAbI58!|~PIYdAeSk@WqDOjYy3was^JM);0^@jw2~qwm?1mvXl8 z)P>vDt8?p4tLN`UcN|X zB}@{-b%Lo%9)~7MuuL86%>kO-08DULh5#tjm0W@_ ziUDM4D@7bLP{TrP<}}WnIgMnn0iuo4R3W4+p{{G_cp9!Q0Ix4m^aBgkqJvW2gkwpC zHO4u*sUhgVlOqHTK=e{MEbe-Swt}H*RgHfK&mhlF3zdu0$cF8%h^; zR|;HktwZ-5nfT442g;u}b?QpOH&D!3uuKy%W0C@wFl;vaH?PdCKQX`3yvjI_6nfq+ zbp%aQ6iPLXaJeO%7>4f5PL@7$@3F~8>t*)@XB<(&kaJ8-*Gs6E^PuS#z8}RHcnNwz z0+IA^ps<7EwI<3=1kPeW(~%?$RJTx_IfXN4&qy$WgCz{6se=%p*(bPoo8i`~ftWj} zmmHJ}7EGPOwhTmZGTfdB!Z;Og(h&I`e6NQj4tMz~inO-NKsXX|61y$jF-os9_a>rg z&`lfpVhNV*4l!(+I^u-)F5h1JKhIuT_}2Vt^O{2T$QpWVjHWi+DLi?ou6^#2Q#|jO z{Pyw=`d)|+5(tMM@W&oL`M!Hmzw=KYB+p!&x1YOwC%3-SbK-=V3T19QQj)PIkfAVr z426)OD@62+TIXb=l~Ue1bkC8Ae|GFZ^|P7=ixLg>auHkzvAo&7e)-nwKiu7Dzs9*p z6c7S$lnB{%^Uy}&AzgqFF{Q*hG*LW#X14y>nR?+K!37DU7`dD+n?04HoZ~TuC}s!~ zfkr0)Px_cCv~aAlg^5DyS)y5}Or6HrvuBWa8!)MC)@-&3F3oY=T%pj2i|JYpm4c+K zQ9=+Ua!aMr?jwrjGA^Y=Hf6jXk|>m5r*ybBMJY{*_L-8p+-;=Of1_zjkVN;uGCLbnBHHt3O)YXx$KE7YMaIMl#x)bcwTIsg2TC0RV|cG%{T+ zoVe#m{WH_m`~w0YLI~KV?Bq_?ikV0*62>v`6ZE_U1FwUbLJP;M+n6XOs7{^4>9c2% zcw5+LFuZgl!Th=oU3W2AaZxSWL*?}#Owj1`(dtUsdtIl{gh1f;5e#~Wqi~nFlkB{T z6m%403Jb{O7qdt>v|mr@YldYbSCEk~8(&z44ljsXSLQap_vHE8f3dpVy*|dW%2Xk^ z^8Tu{Nj63v`M?5jui4%Q;(Y(V{%h^!YfIL-SLSjTZ>;3wggHumI9_8yiISQ^=Tq;p znN>lS_QU`zO@k=9_JKhV^%KUE^ykdCh=6-tOYN=F*X%I4U>X$lat_nA5**uvfItu?2osLZAcp7lF_CNIQ}>r~;`mX#cxfARYk;oXI6NuM zXHA2GY8nPXgsnygJud`@fKCWl5+e$H1YQp;iBs}}YDPLz-p=BCM%2zkpE89tjgYKJ z1~kBSa#CBy8r6iBLE#0_)}>o(e}3+jJAbya)w!85uD$DIIdb_;n<=T`; zg|=j56P%}dt#ag}c14Au@4c$)cppj-ekj1Go$HS(^!*s^et;lMZFai505KsYj3CpIZFVIz{wTh=8G^)xv4L>)O-!XWaYw* zmGAxd(!!svY;{)D8%UjyfTfByY{|9%Xhojx)W zc?oje%2A>uQ<^_nl=GE0J5<0HU_`ykfE_AL23`3Oz1<`B0ISd`6_#az8eHn65{g>U zKq+UVI|$JALU>_}yX#FXZMHB~$>Z#?X&jlZ!ZLMOoFa@9v^srkxBKvd2!adfIzch- z;NVmp6V);t*Fj^aq1+Kt8epm+o2h)OhbvKVB>F2^L~gzaCtrl)<{(n_anqpa_M^pT zF5UUl7hYZZtIcMAMImQoHK7*AEE`W4>DSfzZ@d=#(1P$o2gdP81IbtIU}Qm10#Jq| z0Z{A~n^omMwDf~vDmBVpME2~1lto(uyQM|m4k$-yYbrCrS?Y>JX*x(3sFqyhY#n~g z(CYdKV~&lTE;buo)GGy?IWmc2&caTsk1%0UM3`upsFg7@SwpRyPgTP?k|;u)#6yQG zqK%S=agPse+}#J67Ab+7FCkYbgBnK4;bpK59X&ssfBx#?cb>U)=Wn-KgS+Wm5ZJ9V zn%xW|R-zrK9scR!OKefyw4FaZVq?_^@O0EUh)Zqm&+C3i;6WDG^hv$2bO@nFx)ihMA zB^;QnqEakCKp>7|#Bn5*&*cLK?riGwhSSXGG|Z% zY5>h{aQmqXcOHN7wWYt>X%E)YYmq5!L+NZM%4d&a_lCU~d*6Pgj{Yn5?-h`mCj$U$ zY5H1G(pgJMV>9VUYb*+8z{?h$sq#IRg5QP&YybcW$4Nv%R8z;^q=mOUvO^g|*JXf} z4U<&!Q_ohtIP#8xLe7RC#AtN-;2H(hfQf1mhh`>FDHcWpc$K^jZMY(qbxoxe_Q?J_ z8&RlKHbM5`imO$A`Wi z+y~=74ook7tfinU1E{6|&AO_-67jMH=P>HX#Vt(k`Wd>*%nIA^;8dpFM`jdIcIZ#Br=RWyxj=GS(W~y?87mu{P#Sn2G@# z#;`Gy$>dWa1&TKt{nvhSpZ# z0AM41SScv8I@45AEp@jtQKF)oMqD=qxJpphv3nl+##~y+bW-Zl5F|;0AP8Vt78r}9 z%p{>hR!rudAp}Q0=b~0Freg>wteF&WoTXh+f+PvxdA^c@?k050)Yy`pQOkjDn5kin z^upL`4K6=*VeZ>6Utj)#7sP#~wpKMpvl*dKnqww*5ADZG1MGuw|6q@iL!B}dRY4>CjB0{N?_Iy(5h{a$~Du?8jIgDJ=Lr|7gBUNuX`^#!V z+qQ-hk;8&iNY#RjQ!3>y=rD~P61s(eZd%d^#?6DKZc>@h)K+V7;n^#T-~8#dr5_Fa zXppA(Zu-(AjKrr^3kP4Rq2oR3zxs7Dl4CbpTTs2`p>M9bYJ^ zSw`nF)1OV08p>4D)@IKqwW5tuA&(?UWIjxFXc|vd(PR^crKx3B+fgc0Tf;D=T^yKV z9WH@u82T^`)pZ?y5GWl}z%XrCZXT{%7_w{(N@400%bTsAzVPbO|9I)z@;N_@v+;zT z-h5PIMS|Tt;LMRsRRP=w;650CZcwT~%OXGkspYz?G=S=9)O4}iI+`j?oeYFo>N>zk zqZWgJiN&oRih~$sSBGU#7^#Y#bX77&LQSTLIF5H)UlRfiA{DmMhUsSp+EHoB)9A@z z*)H{zaRYpfC zzd;C*G9cOPFiE7bt6}W2N@I)--I%1;gn=lIvE68)GBE?k%@1wF4V{1xB38CK=bk!0 z_xSl6tLGTwp=nT|Q({%}Mn8Fo(7P%7xBKIXs$`&Sd@7o6J0OH zv8nt%2!9qZe)LFr|0?`!hrhbm*7g8s2w(}oU5t!WW))!S3IMYdc1RTHdBJ+E>>f1? z0?suwdJ)=#CaOgnwW0$;v|*<;t0PsQsjL`vYa;U>jN%BJ+YPL5x6t)WcWfcnstXlSGn(*Q67U=kzJ zLFRE10k9|~=CPT|uibN`{?$^>I+QsYa{(AcL#=3`l(#`35XA{>+a6kW>y+TpPkao9 zPGzJcB&{I@qA12rtBtkICI)^u+{`ejh9qIh!g~9MKfb*1$CqxdUF1TvEuE0r$()(D z4W2L_bq0~f1&9z3$7k|J3mV3Z&r}_D`am(czSP#L1!Et8zbF{L@UhALtMCh+ zC$DU&btM@~XS42N4kK%VskA#=!$`E50bqtsizg0NKXqod{^e5Mo?=``rE>rV1!@Hw zj-kPI9GI4cFbrW^CLa6bgD?zz=+cz11RL8;tgLUN-5bc^z7ViY9U7t0jk{Y_|FvVGRDuO(g4b(KifBTI&*rq{>hVvt6$8S z`lLXrEG{@4Q%AjMqg-&oIYU0@;*$^F16`+JjG@`-V{Nm6?!X6x-1Z>SRVui#wEg!_ zU6_CT#^UzN0D6u|r^-2Vz=en=iWXUG`PT8tobTGY=y?gbwbrxlJ(TawPPpR6+JNM3 zogb(=B8-{1x!T+Bj=qy%JTaZ$zY6c*ncwJ-uT+gQa58>o#@rDY&Fm&pVAj%3YhqhQ z`Sju1XHOlfec82*a>Dpf^1?PW)JrZ7OjhujM?Q*nw~yuZ9ke>Vw82BAi7DgWt8?o= zIQPn(Kbc!?zAS{G^@17f^dfV%?$VAIhpt6Q(KUlg&M+L4#MOe$w>lwN*%@GV!sU!Z zYxX0t-txtPioKtb{xZOL-{Io^Rrn>IYs+2wCLi2v)|gSmvJruc5y4;ra;BGaEMw-( zZ0)g=hiZ>GmQhSniAe!qs*=aYP9H+g^PoXmtQiJH!nk*Hap$jp^wV2^Jipq!B8156 zln_cuk~2x9Q%$o?8oHLDC0rw>L1V_49)z*z_z8|q<`|&yYQYu&`0`F~KPCNTg7MVB zeK5Wo=k{uMm)u5rve8l&DJcL#34x&#!Z`OG%W(UCROMVu1IXnZ3PJaH#bon=2 z%W&g_LkNxs&m4klOPP& z{LGPhytLVYPKkEvU?s6_3zdS)e(>xya%i&1_W}4Wf$@_co!!3*@6vhk)up}kbHo@h zb=Nj9S;_I$?Vf8IG>Bqm#tF+nJO#imxYoz+Ia>e5>}2T+@}m+QefIA5WGyJ0gq|4FcMI z$0y@<-vCWTJo1L4QrV-1acD>;}`qoUX=>NmZx6Q{MIv!6}^Q`ZM8i3^PMw?7k_veJ~2^c^3@e})3 z;XOL%F3gWNd$OHKIF_8om-05EI1xdV*cvn{gdlzt#|jtRgY3d)gj0 zvGlOj_05@DfdPn`Js<%Ls=4w*g)dBU6&SF z!s}cKL)+^?b91bBBBR* zQ_H+BQ^_#tTmIQGtysLkRw#_wvAKh%K^B63LyN0r;36&I^69Jw`k}xeZ2!xb(f+wy8Icdh^6qI|B*p_zG1?M*O6>1=D0W*i)4Y1F_jge5yvt*@Ju;_%J` z$MEQ;_oGo7D=ovUUiy}~xzf1P9R=%774*Sjb~_w3aoEP3BRZ0Oc)4w=@YeeC@O=8;wmRq zd?}wV0=HO{At)EhL^^{te3L!hZ$dxXAh8uUt`Ms0JTEApn{%o3f`Q9N?6a`nD2@I3 zbZ@LSrJEkE3EclaxqL><$|oU-&Gg{yAhXQb4Pp?JK*9ENQZ@MGirA*VBY&UQZJmxA zMXSbu$fZC$Dzfx}DsK16&nPI$VG2V)jtI+FO7bF{MLonFZ&VR}B221%^@@0dV|*1` zi=Rt{%qd6+n`y`#oKaHnE;wh%vxqFhxKk_=%rn2pLd%F$a>ef^rEWHpW`0c2=@omM z>v_mPUPOH@c|sBsmkg7-HMFlbwOchb%F1xc=bRRa2ju{pbGWtZ>JtW*Q)o_PGrZ=Z0&zWJS~-AI zCGLLHoA-xPZNA}B@kBSn>7!%G4rx_K3%CHi^f}G%nonm)UMUKn}c7~MN+|?@KiopDpZQR z%)FZQdtGnuo>CqLW-O_kT|MjG5!zX8o|WPG#0kD~z715o zVtUTsmdx`B=Iu)_vPjR;$c1t(+o>Gaj+7&-`LvU&bd}{58d8ay z!48)f-$0cbkZxC5z$Au%qVzA%mF^GVG)DB8#wQethf~#aKtxdY)%(J*1ECiV#e@i) zNbpM+&sHkQyY;M?rzyyP4tbHOaj5V}ZII(bWNGH}DQDE>E9<|}(Qyedse;T@1WlY% z5`nZWaQERW!}V`zumq<7m?Hd{773hK%>u3cZqXmaFj;&d$3iA%Lw`Be^71cmezwn- z#Xo*O?M;QbCpwHD-kdFNgY%VD;{V8ImCs;iDQ@(ud{N2&O)6l&4Xm5zlV<=4qcM=% zPy{>r{v=-;(#=lNi32>s3wWirnE8W-{kU@^r8z5nV!=J~+S#HbA5JXc^ecF(H?vS? zY!(Q|I$sI$vSzl_-mclL4jeu`_E=~A#5oD(PC|2g*M5bHtEH_RbQl9gfBv|29S7J4 z-*Zzp1+WtNWUpR2U1#?jU4|S>y2oUpw5$E`3-0<$mTV(+1(u(}MtR#pbvd-T1D$Z4 z{41d!tYVALdNeH~z$ziP><}{#_g|1zo+j{bDe{goLv>L++>`bzCh6rMa7dl z&*X)BHp$XpZ*gd_f2>hRnwgh5{W+8(-3aBU|69k!GW>7R*~e;v&ZunWWiBCCS!^3~ zcIYR?6ap#R->n`(A%?&z4E;M$Mcf9-uw4m$v>&a94JC{4jEY3DXUOx5j=wBRyejvG zED$-~WJ9svg2-3Xc>7%r5@zUStWEynRH-+v&?CN;e?`!;Z=l_DcWVh3l`@^YzeK{B z@{j!R?{)j@74MJo7I4M^D)OSAQ`}29^NR$kG_15Nvj$jJ(cbEoQ6R$-@*uCZ_*TA6*4v11l&GGVl%rsHBG0$sTN4EQk88P5WqhD zPu~Oktf108_x+I3sUH{85@fX$r)cXIj$a;J#bcv{_|LGfl^2gtP8RFbUqRkFi@8Vs~&$y>yeRYA-6YuimT9ZwoB0 z<(to+hQ#3AVB!xXj;usY7Lk3*GNU&)_mh@!#%mz|WIyX3*=V-Oa_xjU)U9wXjKp&( z75=u&wQ)pjlH6+1Gsh6vRm11*XJ*3vd8Ai@7(bm2tTs8Lj(c^TN&Z@%VFH_H3ZF*9(UX^^>*F7Q)hqX+=@N-%yghxL=}R0(z-2Q z6!*z#b17+LB^6!cLdy6<@qrH|7@iZ@N-liMK-(jfsq>Ea&xH_@a^mRL-{CY|n%Y=G zgQ7(j+>!L;MHJk=PSsF!-H)72Xw4X*%~hCP2WLFt)gik#Ns3#*Ij0m6pO1iS^6y?n`>^?5TcMPU3$qo+T`-%9&L>o4;6sF*l0L6Sh+o|e12>dY?Ek!HXkZZ_hxP<$q^^YLGy;mbMa8AUYj~JMuPpDT&mnPC ze^n@>ai;PN+BP$WR{uIVHt;$!5@}5{#S`s}wcA#akuJ2q24^hUCYS3zLP6hh`zPyJ z{rS(tWhN_a$jEr(owo!}Hf4$J%hKr6=W#bk+WGodFCjRdUGEm1EwyCE)X!|$tA0PV zV&de6wI1uJ;M2?6lp*e}G6nKC?hGvrQlUimTdMrUjlI^Q-cD0M(fNXsS2Db-J{W*d z#l)gnwoTiW4O{~AH@U({kv}zab$i?&GnW!aq{X9)Q+$j)k|Gzb%?Ido*l2rI<=^ti zHML{1_rrjdF)K**G+5f}wM){nXMR+^YEY8j;@F-l+sJBYtiwW7MW8GTs7TIK?R^Pp zvj}^|ORGA)z)TySSUx=UPtt}p2%gMNTd3@0c0fJ;tk6Sa)WZByy7!SGkvjSw>6r|L zDGV)N@(FFY(LW~-OpdH8rGB@apmwEIWiFMD5}#{EBsNKA#Rb=D+m%8;1I0DemUT$y zB=^az)G(T7_4NIOmgbkeiMi#33v!q!b5}MNh<*tsFyEMst)$Axww8u$J&yBRDAh)BM3H-8y*z z;|tp|C}|@tT}Jexzv||&DqNH8{c1zhm$rF+R^wq^Rh_JixEPrLb?c8SH^5dWtIh-gb` z1k!`RYV%>58x7nYNiat1>2<0qOloi)OM!jG`EC^6RrB3A>>e)jI1?6{dH*gh(9%dO zuxo%u5DM&njlEHTptAr+ubh%g>yk6eEq+XC_%3zDvcOV<1W#j!G|6H7d)m`PbTlx; ztMyM5zTp>9gVZ} z8!5vM)ENT^;rqHpxMm4WyIU6{OO7#+cK%n@ubL37=D66Pu)Jm@_TeEn9v%5+;M$zP zGjnSMgU6AdT?6%K_vS*ykXQ^ab##Fxl&`~NGN9))^;Al76`O+0T~NP5yGP~q#<(9MUY`Y+U!@DngY**3I<#m=lx8Lcal2(zz-{+M2U=d#LV7* z$*h(udhtVqRUk2Si~e3_6THFiH0Jq{Y*1=Hw$S;v7U{yvCD3HG$s$i>{fPh-2-e^V zwt(HKV7-OP?TaR}87Cwgd^PZ@=lk-@vMz!PwprJfB+|@Ak;N8o);zm-I zm9X&#=~-=d{fRwCpDa3gr9W|Pi+s!+r&S|eUyNkX9nLXxQ{#V&J6B!vHU&y*kNYIU zx>o+g{}m+q3H7~f#dUj0^wLpnU4qH9epN(9b@HNYC1)S;uajr$>0bcPW|xi1IdD5z zUP9gE&6dSDo9wl@^HTn0gM3_o3G}i1CqwFq$;X37?RX5@5Ew~~hY}x82OVdskb=DX zJhRL+r}76_O{)qd7H73{^|0h31WNE43s+!M_?xSoOK9ZIC&$8kwkHu?JvN>+CM^dS-EE0H6U1}(UFS#YZE)Af*-oIt$kx`WnxYtjW6qDB~o(6~WKMHt$Si#0mXQiJrglXdYd9QOHIA^9_ z`muMGsdN7y4_BN^ezW3#=JsC6)(KyhSi!WyM4YjirpY7HTNdWEWzz`fES#kP{O>^`iy_pPj%*SUl}dzMc)k_21Nr zPF=Rtlw8cV>2#;zwv-@1CTQ!0Sf$~ssCo^F%Hwh>&v@^@!IMVtmPb8}vR4c5hLAd* zF7*^47axSG3c(9Hp zQ_^?*95Xf3&-saI@H1~?(oyBBJ_OenjpAl(R{Ut@<;)wJQmv(o%BWWg~qP4)>I3l`41>$w>%w?_Xq3IY2LwQ+p zC;kbz4I?F6+uFk(K7A~nWVlJ6^!1ymnlVZTMw*o%F*TS76&VxMs=T+6Zz7(^bS$r| zcJZQOD_d)P(x(=Z>_wzb&~mA~b(wC^Zu(x1-6;##OcoNcogye%;77xW+`Ri$3_|*gr!bvPIQ=)DkoNoDPh68yT#Q|S)y~Sx0{|?A)Of@IVRGFI zGpU}aB=1MM!0cG=s>4jJ15a!wJ>m)d)K|iNi%Tx3*2Il&1<0vVUVQEWh+g^qT z)0U&5#I<~XvDqCj23y)ggs6@E#HSyR6xj4dSd_)TerX^MHvZ!t>Y4&ueMqh3hDfRm z^oj9;ig35({qV`LMyA)p>s&1KUq5qKO7%0D^qA*!{|>uFYu0Rew6FdGz_ypLmc;{8EZG6By#Gf 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 UF*ZCk;13i \ No newline at end of file diff --git a/assets/icons/duke.png b/assets/icons/duke.png new file mode 100644 index 0000000000000000000000000000000000000000..9176a6e254e3811de04c5171ec3eb3fe14d4904e GIT binary patch literal 179200 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