From 16e06b2ffe88d3e1bcaff0f67ed3c805e451a504 Mon Sep 17 00:00:00 2001 From: Roman Priesol Date: Tue, 25 Aug 2026 01:24:12 +0200 Subject: [PATCH] Remove Tauri desktop shell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not going to be used — drop src-tauri/ and all references to it in the docs. MapTool stays a plain Sinatra web app for now. --- .gitignore | 3 - README.adoc | 8 +- docs/architecture.adoc | 54 +- docs/development.adoc | 65 - src-tauri/Cargo.lock | 4495 -------------------------------- src-tauri/Cargo.toml | 22 - src-tauri/build.rs | 3 - src-tauri/icons/128x128.png | Bin 5226 -> 0 bytes src-tauri/icons/128x128@2x.png | Bin 10446 -> 0 bytes src-tauri/icons/32x32.png | Bin 1209 -> 0 bytes src-tauri/icons/64x64.png | Bin 2453 -> 0 bytes src-tauri/icons/icon.icns | Bin 81893 -> 0 bytes src-tauri/icons/icon.ico | Bin 18797 -> 0 bytes src-tauri/icons/icon.png | Bin 19966 -> 0 bytes src-tauri/src/lib.rs | 59 - src-tauri/src/main.rs | 6 - src-tauri/tauri.conf.json | 46 - 17 files changed, 5 insertions(+), 4756 deletions(-) delete mode 100644 src-tauri/Cargo.lock delete mode 100644 src-tauri/Cargo.toml delete mode 100644 src-tauri/build.rs delete mode 100644 src-tauri/icons/128x128.png delete mode 100644 src-tauri/icons/128x128@2x.png delete mode 100644 src-tauri/icons/32x32.png delete mode 100644 src-tauri/icons/64x64.png delete mode 100644 src-tauri/icons/icon.icns delete mode 100644 src-tauri/icons/icon.ico delete mode 100644 src-tauri/icons/icon.png delete mode 100644 src-tauri/src/lib.rs delete mode 100644 src-tauri/src/main.rs delete mode 100644 src-tauri/tauri.conf.json diff --git a/.gitignore b/.gitignore index 04c3d1d..6afbe0f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,6 @@ /log/ /tmp/ -# Rust / Tauri -/src-tauri/target/ - # Offline map tile data (large binary; obtained/generated locally, # see docs/development.adoc) /data/*.pmtiles diff --git a/README.adoc b/README.adoc index 28cbbfd..f1ad4b5 100644 --- a/README.adoc +++ b/README.adoc @@ -3,8 +3,7 @@ :toclevels: 2 :source-highlighter: rouge -A mapping application backend written in Ruby with Sinatra, optionally -wrapped as a native desktop app with Tauri. +A mapping application written in Ruby with Sinatra. The project's shape is still open — this is the initial scaffold. @@ -12,14 +11,11 @@ The project's shape is still open — this is the initial scaffold. Early scaffold. The web application serves a vector map (MapLibre GL JS), with an online style and an optional offline style backed by a -local PMTiles file; the desktop shell boots the same server inside a -native window. +local PMTiles file, plus an animated RainViewer radar overlay. == Requirements * Ruby (see `.ruby-version`) and Bundler -* Rust and the Tauri CLI, only if you want to build the desktop shell - (see `docs/development.adoc`) == Getting started diff --git a/docs/architecture.adoc b/docs/architecture.adoc index 2d47fa6..f810b54 100644 --- a/docs/architecture.adoc +++ b/docs/architecture.adoc @@ -4,27 +4,8 @@ == Overview -MapTool is a Sinatra web application. The desktop build does not -reimplement anything natively — it wraps the same Sinatra app in a -https://tauri.app[Tauri] window, which is the standard way to ship a -non-JavaScript backend as a desktop app with Tauri: the Rust shell owns -the native window and starts the web server as a local process; the -window then simply loads `http://127.0.0.1:4567` as if it were a -regular page. - -[source] ----- -+----------------------------+ -| Tauri window (WebView) | -| loads http://127.0.0.1:PORT -+--------------+-------------+ - | - v -+----------------------------+ -| Sinatra app (Puma) | -| app.rb / config.ru | -+----------------------------+ ----- +MapTool is a Sinatra web application, served locally by Puma and +opened in a browser. == Directory layout @@ -51,38 +32,10 @@ regular page. | `data/` | Local, gitignored data files, e.g. `offline.pmtiles`. -| `src-tauri/` -| The Tauri (Rust) desktop shell. - | `docs/` | Project documentation, in AsciiDoc. |=== -== Desktop shell (Tauri) - -In *development*, `src-tauri/tauri.conf.json` sets `beforeDevCommand` -to start Puma, and `devUrl` points the window at it. Running the dev -build (see `docs/development.adoc`) starts both together. - -In a *packaged build* there is no `beforeDevCommand` hook, so -`src-tauri/src/lib.rs` starts the server itself (`bundle exec puma`) -next to the bundled resources when the app launches, and stops it when -the window closes. - -=== Known limitation: production packaging - -The packaged-build server spawn currently assumes a Ruby + Bundler -installation already present on the machine running the app. That is -fine for internal or developer builds, but not for a distributable, -self-contained desktop app. - -Shipping a real self-contained build would mean embedding a Ruby -runtime as a Tauri https://tauri.app/develop/sidecar/[sidecar] binary -(for example, produced with https://github.com/tebako/tebako[tebako]), -instead of relying on the system Ruby. That decision — and the -resulting sidecar build step — is not implemented yet and should be -revisited before any real distribution build. - == Offline maps Map data is vector, not raster: the app ships @@ -160,5 +113,4 @@ terms, the API is free for personal/non-commercial use. == Networking The Sinatra server only binds to `127.0.0.1`. It is not meant to be -reachable from other machines; the Tauri window talks to it over -loopback only. +reachable from other machines. diff --git a/docs/development.adoc b/docs/development.adoc index 8bc236c..c039903 100644 --- a/docs/development.adoc +++ b/docs/development.adoc @@ -42,68 +42,3 @@ build one locally: Once the file is in place, `GET /api/offline-tiles` reports `available: true` and the map defaults to the offline style. - -This is picked up automatically for `cargo tauri dev` (it just runs -the Sinatra app from the project root). To ship it inside a *packaged* -build, add it to `bundle.resources` in `src-tauri/tauri.conf.json`: -`"../data/offline.pmtiles": "data/offline.pmtiles"`. Not added by -default, since these files can be large and are picked per -deployment. - -== Desktop shell (Tauri) - -=== Prerequisites - -* Rust (stable) and the Tauri CLI: `cargo install tauri-cli --version "^2"` -* Ruby + Bundler, with gems installed (`bundle install` in the project - root) -* Platform build tools required by Tauri itself: -** *Linux*: WebKitGTK and GTK development packages, e.g. on - Debian/Ubuntu: -+ -[source,shell] ----- -sudo apt install libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev \ - libgtk-3-dev libsoup-3.0-dev build-essential ----- -** *macOS*: Xcode command line tools. -** *Windows*: the WebView2 runtime (preinstalled on current Windows) and - the MSVC build tools. - -See the upstream https://tauri.app/start/prerequisites/[Tauri -prerequisites] page for the current package names on your platform. - -=== Running in development - -[source,shell] ----- -cd src-tauri -cargo tauri dev ----- - -This runs `beforeDevCommand` (starts Puma on `127.0.0.1:4567`) and -opens a native window pointed at it, per `src-tauri/tauri.conf.json`. - -=== Building - -[source,shell] ----- -cd src-tauri -cargo tauri build ----- - -Requires `Gemfile.lock` to exist (`bundle install` beforehand), since -the Ruby app files are embedded into the bundle as resources. See -`docs/architecture.adoc` for the current limitation around this build -still depending on a system Ruby installation on the target machine. - -=== Regenerating icons - -Desktop icons live in `src-tauri/icons/`. To regenerate them from a -new source image (at least 1024x1024 PNG): - -[source,shell] ----- -cd src-tauri -cargo tauri icon path/to/source.png ----- diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock deleted file mode 100644 index d8e186a..0000000 --- a/src-tauri/Cargo.lock +++ /dev/null @@ -1,4495 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aho-corasick" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "android_system_properties" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" - -[[package]] -name = "atk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" -dependencies = [ - "atk-sys", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" - -[[package]] -name = "base64" -version = "0.21.7" -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 = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" -dependencies = [ - "serde_core", -] - -[[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 = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - -[[package]] -name = "brotli" -version = "8.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "bumpalo" -version = "3.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" - -[[package]] -name = "bytemuck" -version = "1.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" -dependencies = [ - "serde", -] - -[[package]] -name = "cairo-rs" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" -dependencies = [ - "bitflags 2.13.1", - "cairo-sys-rs", - "glib", - "libc", - "once_cell", - "thiserror 1.0.69", -] - -[[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.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 2.0.20", -] - -[[package]] -name = "cargo_toml" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" -dependencies = [ - "serde", - "toml 0.9.12+spec-1.1.0", -] - -[[package]] -name = "cc" -version = "1.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" -dependencies = [ - "find-msvc-tools", - "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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "chrono" -version = "0.4.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" -dependencies = [ - "iana-time-zone", - "num-traits", - "serde", - "windows-link 0.2.1", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "cookie" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a373e3602691c3cdea496d2f0ee5935151e6168fe87739483c463db1b2f2f87" -dependencies = [ - "time", - "version_check", -] - -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core-graphics" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" -dependencies = [ - "bitflags 2.13.1", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.13.1", - "core-foundation", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa", - "phf", - "smallvec", -] - -[[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.119", -] - -[[package]] -name = "ctor" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" -dependencies = [ - "ctor-proc-macro", - "dtor", -] - -[[package]] -name = "ctor-proc-macro" -version = "0.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" - -[[package]] -name = "darling" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" -dependencies = [ - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.119", -] - -[[package]] -name = "darling_macro" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "dbus" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab69f03cc8c4340c9c8e315114e1658e6775a9b16a04357973aa21cec22b32e" -dependencies = [ - "libc", - "libdbus-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "defmt" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" -dependencies = [ - "bitflags 1.3.2", - "defmt-macros", -] - -[[package]] -name = "defmt-macros" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" -dependencies = [ - "defmt-parser", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "defmt-parser" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" -dependencies = [ - "thiserror 2.0.20", -] - -[[package]] -name = "deranged" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" -dependencies = [ - "serde_core", -] - -[[package]] -name = "derive_more" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.119", -] - -[[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 = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.61.2", -] - -[[package]] -name = "dispatch2" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" -dependencies = [ - "bitflags 2.13.1", - "block2", - "libc", - "objc2", -] - -[[package]] -name = "displaydoc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "dlopen2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "dom_query" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" -dependencies = [ - "bit-set", - "cssparser", - "foldhash", - "html5ever", - "precomputed-hash", - "selectors", - "tendril", -] - -[[package]] -name = "dpi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" -dependencies = [ - "serde", -] - -[[package]] -name = "dtoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" - -[[package]] -name = "dtoa-short" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dtor" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "embed-resource" -version = "3.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbfdaacccebec3b28e4866b8973543c7647797db5ada1bdab552e48fe665fbbd" -dependencies = [ - "cc", - "memchr", - "rustc_version", - "toml 1.1.4+spec-1.1.0", - "vswhom", - "winreg", -] - -[[package]] -name = "embed_plist" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "fastrand" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" - -[[package]] -name = "fdeflate" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" -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 = "find-msvc-tools" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" - -[[package]] -name = "flate2" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" -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 = "foldhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" - -[[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", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" - -[[package]] -name = "futures-executor" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" - -[[package]] -name = "futures-macro" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "futures-sink" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" - -[[package]] -name = "futures-task" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" - -[[package]] -name = "futures-util" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" -dependencies = [ - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "slab", -] - -[[package]] -name = "gdk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" -dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" -dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", - "once_cell", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkwayland-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" -dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkx11" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" -dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", -] - -[[package]] -name = "gdkx11-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" -dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps", - "x11", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi 5.3.0", - "wasip2", -] - -[[package]] -name = "getrandom" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" -dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", -] - -[[package]] -name = "gio" -version = "0.18.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "once_cell", - "pin-project-lite", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "gio-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] - -[[package]] -name = "glib" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" -dependencies = [ - "bitflags 2.13.1", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "once_cell", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "glib-macros" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" -dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.2", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "glib-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "glob" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" - -[[package]] -name = "gobject-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gtk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" -dependencies = [ - "atk", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "pango", - "pkg-config", -] - -[[package]] -name = "gtk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "gtk3-macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" - -[[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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "html5ever" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" -dependencies = [ - "log", - "markup5ever", -] - -[[package]] -name = "http" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" -dependencies = [ - "bytes", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "hyper" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" -dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-util" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "ipnet", - "libc", - "percent-encoding", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.62.2", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ico" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" -dependencies = [ - "byteorder", - "png 0.17.16", -] - -[[package]] -name = "icu_collections" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" -dependencies = [ - "displaydoc", - "potential_utf", - "utf8_iter", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" -dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" - -[[package]] -name = "icu_properties" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" - -[[package]] -name = "icu_provider" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" -dependencies = [ - "equivalent", - "hashbrown 0.17.1", - "serde", - "serde_core", -] - -[[package]] -name = "infer" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" -dependencies = [ - "cfb", -] - -[[package]] -name = "ipnet" -version = "2.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78" - -[[package]] -name = "itoa" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" - -[[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 = "jiff" -version = "0.2.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc" -dependencies = [ - "defmt", - "jiff-core", - "jiff-static", - "jiff-tzdb-platform", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", - "windows-link 0.2.1", -] - -[[package]] -name = "jiff-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" -dependencies = [ - "defmt", -] - -[[package]] -name = "jiff-static" -version = "0.2.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204" -dependencies = [ - "jiff-core", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" -dependencies = [ - "jiff-tzdb", -] - -[[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 0.3.1", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" -dependencies = [ - "jni-sys 0.4.1", -] - -[[package]] -name = "jni-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] - -[[package]] -name = "jni-sys-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" -dependencies = [ - "quote", - "syn 2.0.119", -] - -[[package]] -name = "js-sys" -version = "0.3.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" -dependencies = [ - "cfg-if", - "futures-util", - "wasm-bindgen", -] - -[[package]] -name = "json-patch" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" -dependencies = [ - "jsonptr", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "jsonptr" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "keyboard-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" -dependencies = [ - "bitflags 2.13.1", - "serde", - "unicode-segmentation", -] - -[[package]] -name = "libappindicator" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" -dependencies = [ - "glib", - "gtk", - "gtk-sys", - "libappindicator-sys", - "log", -] - -[[package]] -name = "libappindicator-sys" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" -dependencies = [ - "gtk-sys", - "libloading", - "once_cell", -] - -[[package]] -name = "libc" -version = "0.2.189" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" - -[[package]] -name = "libdbus-sys" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" -dependencies = [ - "pkg-config", -] - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libredox" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a" -dependencies = [ - "libc", -] - -[[package]] -name = "litemap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" - -[[package]] -name = "maptool" -version = "0.1.0" -dependencies = [ - "serde", - "serde_json", - "tauri", - "tauri-build", -] - -[[package]] -name = "markup5ever" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" -dependencies = [ - "log", - "tendril", - "web_atoms", -] - -[[package]] -name = "memchr" -version = "2.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.61.2", -] - -[[package]] -name = "muda" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" -dependencies = [ - "crossbeam-channel", - "dpi", - "gtk", - "keyboard-types", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "once_cell", - "png 0.18.1", - "serde", - "thiserror 2.0.20", - "windows-sys 0.61.2", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.13.1", - "jni-sys 0.3.1", - "log", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror 1.0.69", -] - -[[package]] -name = "ndk-sys" -version = "0.6.0+11769913" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" -dependencies = [ - "jni-sys 0.3.1", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "num-conv" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" -dependencies = [ - "proc-macro-crate 3.5.0", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "objc2" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" -dependencies = [ - "objc2-encode", - "objc2-exception-helper", -] - -[[package]] -name = "objc2-app-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" -dependencies = [ - "bitflags 2.13.1", - "block2", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-cloud-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" -dependencies = [ - "bitflags 2.13.1", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-data" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags 2.13.1", - "dispatch2", - "objc2", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.13.1", - "dispatch2", - "objc2", - "objc2-core-foundation", - "objc2-io-surface", -] - -[[package]] -name = "objc2-core-image" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-location" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-text" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" -dependencies = [ - "bitflags 2.13.1", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "objc2-exception-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" -dependencies = [ - "cc", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" -dependencies = [ - "bitflags 2.13.1", - "block2", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-io-surface" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" -dependencies = [ - "bitflags 2.13.1", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" -dependencies = [ - "bitflags 2.13.1", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" -dependencies = [ - "bitflags 2.13.1", - "block2", - "objc2", - "objc2-cloud-kit", - "objc2-core-data", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-core-image", - "objc2-core-location", - "objc2-core-text", - "objc2-foundation", - "objc2-quartz-core", - "objc2-user-notifications", -] - -[[package]] -name = "objc2-user-notifications" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-web-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" -dependencies = [ - "bitflags 2.13.1", - "block2", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "once_cell" -version = "1.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "pango" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" -dependencies = [ - "gio", - "glib", - "libc", - "once_cell", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "parking_lot" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link 0.2.1", -] - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "phf" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" -dependencies = [ - "phf_macros", - "phf_shared", - "serde", -] - -[[package]] -name = "phf_codegen" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" -dependencies = [ - "fastrand", - "phf_shared", -] - -[[package]] -name = "phf_macros" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "phf_shared" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" - -[[package]] -name = "pkg-config" -version = "0.3.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" - -[[package]] -name = "plist" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" -dependencies = [ - "base64 0.22.1", - "indexmap 2.14.0", - "quick-xml", - "serde", - "time", -] - -[[package]] -name = "png" -version = "0.17.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "png" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" -dependencies = [ - "bitflags 2.13.1", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "portable-atomic" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" - -[[package]] -name = "portable-atomic-util" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" -dependencies = [ - "portable-atomic", -] - -[[package]] -name = "potential_utf" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" -dependencies = [ - "zerovec", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" -dependencies = [ - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "proc-macro-crate" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" -dependencies = [ - "toml_edit 0.25.13+spec-1.1.0", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quick-xml" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "r-efi" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" - -[[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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags 2.13.1", -] - -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.20", -] - -[[package]] -name = "ref-cast" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "regex" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" - -[[package]] -name = "reqwest" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "sync_wrapper", - "tokio", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", -] - -[[package]] -name = "rustc-hash" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustversion" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" - -[[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 = "schemars" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "indexmap 1.9.3", - "schemars_derive", - "serde", - "serde_json", - "url", - "uuid", -] - -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.119", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "selectors" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" -dependencies = [ - "bitflags 2.13.1", - "cssparser", - "derive_more", - "log", - "new_debug_unreachable", - "phf", - "phf_codegen", - "precomputed-hash", - "rustc-hash", - "servo_arc", - "smallvec", -] - -[[package]] -name = "semver" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde-untagged" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" -dependencies = [ - "erased-serde", - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "serde_core" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.229" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "serde_json" -version = "1.0.151" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_repr" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" -dependencies = [ - "serde_core", -] - -[[package]] -name = "serde_with" -version = "3.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee78f1fbe43ac4a0e47aadb3dbd357b69eb0d3793e948624cd03dd2750ab1c0a" -dependencies = [ - "base64 0.22.1", - "bs58", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.14.0", - "jiff", - "schemars 0.9.0", - "schemars 1.2.2", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8705578779c2b6bd90d84d66eb2e206b708b1a4d7b9f17641b293545bf1c7e46" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "serialize-to-javascript" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" -dependencies = [ - "serde", - "serde_json", - "serialize-to-javascript-impl", -] - -[[package]] -name = "serialize-to-javascript-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "servo_arc" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "shlex" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" - -[[package]] -name = "simd-adler32" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" - -[[package]] -name = "siphasher" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" - -[[package]] -name = "slab" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" - -[[package]] -name = "smallvec" -version = "1.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" - -[[package]] -name = "socket2" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "softbuffer" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" -dependencies = [ - "bytemuck", - "js-sys", - "ndk", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "objc2-quartz-core", - "raw-window-handle", - "redox_syscall", - "tracing", - "wasm-bindgen", - "web-sys", - "windows-sys 0.61.2", -] - -[[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 = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "string_cache" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared", - "precomputed-hash", -] - -[[package]] -name = "string_cache_codegen" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "swift-rs" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45c444e496845d3f2a351146bff59aae4975b2280238df1dfaa0c7d1846f38e" -dependencies = [ - "base64 0.21.7", - "serde", - "serde_json", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.119" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -dependencies = [ - "futures-core", -] - -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[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 0.8.2", - "version-compare", -] - -[[package]] -name = "tao" -version = "0.35.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" -dependencies = [ - "bitflags 2.13.1", - "block2", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dbus", - "dispatch2", - "dlopen2", - "dpi", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "jni", - "libc", - "log", - "ndk", - "ndk-sys", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "once_cell", - "parking_lot", - "percent-encoding", - "raw-window-handle", - "tao-macros", - "unicode-segmentation", - "url", - "windows", - "windows-core 0.61.2", - "windows-version", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7eeb6d99155545da6150a1795945f16ac9c178deb2a5f2e74d776107bd5849" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tauri" -version = "2.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "667b20e2726d572dea2de7370da16e188eb06008faf9a92fab7cdc46791190b5" -dependencies = [ - "anyhow", - "bytes", - "cookie", - "dirs", - "dunce", - "embed_plist", - "getrandom 0.3.4", - "glob", - "gtk", - "heck 0.5.0", - "http", - "jni", - "libc", - "log", - "mime", - "muda", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "percent-encoding", - "plist", - "raw-window-handle", - "reqwest", - "serde", - "serde_json", - "serde_repr", - "serialize-to-javascript", - "swift-rs", - "tauri-build", - "tauri-macros", - "tauri-runtime", - "tauri-runtime-wry", - "tauri-utils", - "thiserror 2.0.20", - "tokio", - "tray-icon", - "url", - "webkit2gtk", - "webview2-com", - "window-vibrancy", - "windows", -] - -[[package]] -name = "tauri-build" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs", - "glob", - "heck 0.5.0", - "json-patch", - "schemars 0.8.22", - "semver", - "serde", - "serde_json", - "tauri-utils", - "tauri-winres", - "walkdir", -] - -[[package]] -name = "tauri-codegen" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08279169ff42f8fc45a1dbc9dcae888893ba95288142e5880c59b93a26d2cfc5" -dependencies = [ - "base64 0.22.1", - "brotli", - "ico", - "json-patch", - "plist", - "png 0.17.16", - "proc-macro2", - "quote", - "semver", - "serde", - "serde_json", - "sha2", - "syn 2.0.119", - "tauri-utils", - "thiserror 2.0.20", - "time", - "url", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "2.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b394794f399a421811d06966343e7933fcae92d59f5180b9388d1174497a45" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.119", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-runtime" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0b4bc95aed361b0019067d189a1174a603d460d0f6c72606512d59fc9c12ec8" -dependencies = [ - "cookie", - "dpi", - "gtk", - "http", - "jni", - "objc2", - "objc2-ui-kit", - "objc2-web-kit", - "raw-window-handle", - "serde", - "serde_json", - "tauri-utils", - "thiserror 2.0.20", - "url", - "webkit2gtk", - "webview2-com", - "windows", -] - -[[package]] -name = "tauri-runtime-wry" -version = "2.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6fac707727b7a2f48e4ded90976324267371073edbb415ffb73bb0458d203f" -dependencies = [ - "gtk", - "http", - "jni", - "log", - "objc2", - "objc2-app-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "softbuffer", - "tao", - "tauri-runtime", - "tauri-utils", - "url", - "webkit2gtk", - "webview2-com", - "windows", - "wry", -] - -[[package]] -name = "tauri-utils" -version = "2.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" -dependencies = [ - "anyhow", - "brotli", - "cargo_metadata", - "ctor", - "dom_query", - "dunce", - "glob", - "http", - "infer", - "json-patch", - "log", - "memchr", - "phf", - "plist", - "proc-macro2", - "quote", - "regex", - "schemars 0.8.22", - "semver", - "serde", - "serde-untagged", - "serde_json", - "serde_with", - "swift-rs", - "thiserror 2.0.20", - "toml 1.1.4+spec-1.1.0", - "url", - "urlpattern", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-winres" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" -dependencies = [ - "dunce", - "embed-resource", - "toml 1.1.4+spec-1.1.0", -] - -[[package]] -name = "tendril" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08" -dependencies = [ - "new_debug_unreachable", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" -dependencies = [ - "thiserror-impl 2.0.20", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "time" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" - -[[package]] -name = "time-macros" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tinystr" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" -dependencies = [ - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-util" -version = "0.7.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" -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 0.6.9", - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml" -version = "0.9.12+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" -dependencies = [ - "indexmap 2.14.0", - "serde_core", - "serde_spanned 1.1.1", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 0.7.15", -] - -[[package]] -name = "toml" -version = "1.1.4+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" -dependencies = [ - "indexmap 2.14.0", - "serde_core", - "serde_spanned 1.1.1", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 1.0.4", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.7.5+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_datetime" -version = "1.1.1+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.14.0", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.14.0", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.25.13+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" -dependencies = [ - "indexmap 2.14.0", - "toml_datetime 1.1.1+spec-1.1.0", - "toml_parser", - "winnow 1.0.4", -] - -[[package]] -name = "toml_parser" -version = "1.1.3+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" -dependencies = [ - "winnow 1.0.4", -] - -[[package]] -name = "toml_writer" -version = "1.1.2+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" - -[[package]] -name = "tower" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" -dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-http" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" -dependencies = [ - "bitflags 2.13.1", - "bytes", - "futures-util", - "http", - "http-body", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", - "url", -] - -[[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.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tray-icon" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "045979e3f037cd18ad1cb2a419dfda133c5c29c9f3453370079f2255d46c257e" -dependencies = [ - "crossbeam-channel", - "dirs", - "libappindicator", - "muda", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "once_cell", - "png 0.18.1", - "serde", - "thiserror 2.0.20", - "windows-sys 0.61.2", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - -[[package]] -name = "typenum" -version = "1.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" - -[[package]] -name = "unic-char-property" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" -dependencies = [ - "unic-char-range", -] - -[[package]] -name = "unic-char-range" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" - -[[package]] -name = "unic-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" - -[[package]] -name = "unic-ucd-ident" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" -dependencies = [ - "unic-char-property", - "unic-char-range", - "unic-ucd-version", -] - -[[package]] -name = "unic-ucd-version" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" -dependencies = [ - "unic-common", -] - -[[package]] -name = "unicode-ident" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" - -[[package]] -name = "unicode-segmentation" -version = "1.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" - -[[package]] -name = "url" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", - "serde_derive", -] - -[[package]] -name = "urlpattern" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" -dependencies = [ - "regex", - "serde", - "unic-ucd-ident", - "url", -] - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f053576934f05a761a402421fbbe3d425d9366f75f978806a037b3ca481abecc" -dependencies = [ - "getrandom 0.4.3", - "js-sys", - "serde_core", - "wasm-bindgen", -] - -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "vswhom" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" -dependencies = [ - "libc", - "vswhom-sys", -] - -[[package]] -name = "vswhom-sys" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" -dependencies = [ - "cc", - "libc", -] - -[[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.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.4+wasi-0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7777d5cc23d0e91404e53ce2d5e8ec7acae3026b16233dba62cd3246457950" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 2.0.119", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "wasm-streams" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web_atoms" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba8b815c1b593dc0baf78dd0f4fc8fdb2de53198fb1163738093e9a311c33fb3" -dependencies = [ - "phf", - "phf_codegen", - "string_cache", - "string_cache_codegen", -] - -[[package]] -name = "webkit2gtk" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" -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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" -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.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows", - "windows-core 0.61.2", - "windows-implement", - "windows-interface", -] - -[[package]] -name = "webview2-com-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "webview2-com-sys" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" -dependencies = [ - "thiserror 2.0.20", - "windows", - "windows-core 0.61.2", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "window-vibrancy" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" -dependencies = [ - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "windows-sys 0.59.0", - "windows-version", -] - -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link 0.1.3", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -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", -] - -[[package]] -name = "windows-targets" -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_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-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-version" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" -dependencies = [ - "windows-link 0.2.1", -] - -[[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.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.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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -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.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.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.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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" - -[[package]] -name = "winnow" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" -dependencies = [ - "cfg-if", - "windows-sys 0.59.0", -] - -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - -[[package]] -name = "writeable" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" - -[[package]] -name = "wry" -version = "0.55.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" -dependencies = [ - "base64 0.22.1", - "block2", - "cookie", - "crossbeam-channel", - "dirs", - "dom_query", - "dpi", - "dunce", - "gdkx11", - "gtk", - "http", - "javascriptcore-rs", - "jni", - "libc", - "ndk", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "sha2", - "soup3", - "tao-macros", - "thiserror 2.0.20", - "url", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows", - "windows-core 0.61.2", - "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 = "yoke" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", - "synstructure", -] - -[[package]] -name = "zerofrom" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", - "synstructure", -] - -[[package]] -name = "zerotrie" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.4", -] - -[[package]] -name = "zmij" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml deleted file mode 100644 index 8add520..0000000 --- a/src-tauri/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -[package] -name = "maptool" -version = "0.1.0" -description = "Desktop shell for the MapTool mapping application" -edition = "2021" -rust-version = "1.77" - -[lib] -name = "maptool_lib" -crate-type = ["staticlib", "cdylib", "rlib"] - -[build-dependencies] -tauri-build = { version = "2", features = [] } - -[dependencies] -tauri = { version = "2", features = [] } -serde = { version = "1", features = ["derive"] } -serde_json = "1" - -[[bin]] -name = "maptool" -path = "src/main.rs" diff --git a/src-tauri/build.rs b/src-tauri/build.rs deleted file mode 100644 index d860e1e..0000000 --- a/src-tauri/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - tauri_build::build() -} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png deleted file mode 100644 index c88198d2a553120865894dda1cd63c6c603e7be5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5226 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 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 7b56ff262a8d5e8965ff4bd81ea7a298cf5464a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10446 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 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png deleted file mode 100644 index 7e364422b815f92857e712dd4b68a4c3c164cc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1209 zcmV;q1V;ObP) zj0Pd~Cl*^`u+z+uHNsEs!oJf}ah0;XUmpD-R6wfP{qC5+ zn!^1nZo|^+7r`@8PXGqoBO71FSbEa(eeg*iy7#__<;!lgJmh7N9{c_$R3#Y?L3u7< zn)AR0b0A0Ipm#p%F#$P=MGI@~2wP-O3!aV0^>1C%K;X9q6ivo=S6ylIt9v(d4Oc5+QxF%M-ZTPhJ|wE$C!>2%`9UokW? zhPnl{HV9X(T#f^8wPIgKujPBPWwoW*05vf}Udm85C~*Tdy9Km~c!`nGG~R6M!Yf-h zbx>%?FsaY0AkpX&s**vpnPtUE)K%Aq)W1sWNE_(yMJ49Qw;@ zOS5xweg48Io;Q0eTI3B=h9g;kKylZ#AEa$N_Z7XeazNX6wPAF8!j|SJZ-Yp$UPgJX z@oo3v+Ur)>3YSR4as1#L_A#(qexmxiTLum48mUaRv7d20*UhQ1 zx^jZRH=1WR7n)OvQ>XO5m$-Ysd2%L=W9!Tnk|_C}iPE0y^QQIeFlJwOuD|W8LRbC| XomWvy;_&0!00000NkvXXu0mjfc9lsN diff --git a/src-tauri/icons/64x64.png b/src-tauri/icons/64x64.png deleted file mode 100644 index 2da73cf7e707864e1600ddf24c44ab24a91ace85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmV;G32OFXJ3mDEHu4H}k} z<}av8m?@-2DO$te!umt5gorRm2p43{AC~?9yZ4;0_j$j2E{A(}H*C(id%63~9QN>? z@4Vl6-oNkt-tWE+4cF$)bEvsFh1)4}zENh!2NzhRFR?881d&zG-Q`r6t(Qo*X-zL{ zvi|B0m8^gJmHYa#F$J5I3w|jNT$Y+OYhk>nrtEqqc8#)~28+>a?UMF157GsS-y%!# zW!e0#nmjjkkU#s*ijKbD?Ao<<$j3G^1JYcY`pL`BBWPrlc(w<|!tj|7B@3!f zn|-*mWqqq)PBeQ~Q0#iw%gIP39yROTI zVN)?SO|E6zHk)>$vZH?{9HU4X-d-FY+kDZ2Hy#h*lfVkh(uH;2i4X2pw%x!^q6k$# z*A&>vE6;TgriMz+QV4Re&Zn2UA_p%rSHKF)g55-Ta0Qm8anmd<>jPs~2yYSLnILD} z;8(y5>{#dPO?Z1UulFB3K1gG(cg)5nf7-8>wU*c_QeQhso-}NTFf3%CLD$6M5Fe6;=Z#}aGz#!g`5Rd3zgzY# zs;(>-GZ4F1mT`p2%DN1AkG*q>)qY}i1$}w`dF(Gz^xTU(#5Y9Y6GCSI)V{s5o4$AT zm*^+gUTQKke4*buftA*Gn2d|^9Pl$8ptP*T70-FNr&(Ko+3pC;GUh|Q}k$s@=S;4H=W+q-D%_C0dp9(~3K zcsYR+Xn`hZV~*i8YD||wU;2~lYU$Di^U}WH_>Y9DhA|i$barAQOcS&*2gYO0f-wOsZ^)#bd(N2|JI@Wf ziLU?IeG=)NHhB_*G)o>X+@lZAFedm;(08C=4wJPjAO_&$91dG&Os~%{reE1_hanhB+`-STR8;41l^~BU3lADy_1?XU3_$ zx_dv{?x5@hNBkImhA|i$d^boFb6~Ep;sGbjWl)Xcod;OLC$#I<>9M11rweWw#P=k5 z73k{j%`sp9V`uOtNK|(eF5sD%QhLJ_1nR$qIg%0!6c7XWv_Y1^#Nl^yoS;hQS(_SX z(U~8a%K3l+0hyzU+=pivgR#MPgETP*=29W$Z^Lndq(vgzUf-AF1kvxW>nncvb&;yi z1ndvwN`uEUjLGZ;EXr|$m;?Qq3dsqww=SJfLR1)89ZIWSjng&1=u2=y$T5U0Hd+UVKlZS?ui&SeR@ zBHiFd3Bb-jcQ&=GyOo~ZyiJxnw6kYUqtBiHahgyPH{f%kNJ9&>F-I+LmBY#ug_aP( zy4}}5NVCtFP8%OyKH_F5JIwuG&w?~Qy=V#T+;c#p$FMXYv|R;02>bQc9ee4vRZmDC z_VL4Qn*1FhQeC+Go#1ec@o9i2XiHAO(}kH202rv}FYZ~#35-`M7ISzfml{6l!D{Y1 zL4PNh-S94GfEH+icG&qr75)J%@kiUV_{Lw;=B+z9v+Mj{_KJ7#?q+s+paq&yoZN)Y z0EDQL&SraFc+GNpWPNkS0e%qhc<0f-ZKj3aUM{pi(~BS{7|D4cY!uRq$76KevU}KZ zB~F+L;s|-{?tdTRckh+BAGE@>`^XvKXMbYpi0{Um@6RlS`UH;7(2x=b!{RX~(&Ms7 zPlN%WvZ9QhZ{0<=Klm5Zmm1lLr6hGuob`E{nzz0tr$bR5ibT!;!vwQ3{Bq^vwCByY zBonVJ!9KTqC$>-?m5g`xUaISC5ag^7;P)OeHM5 T>(o8B00000NkvXXu0mjfOCrQI diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns deleted file mode 100644 index 9103094c28b912ea6a6565f941e6c4f0cf46832f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81893 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 FV1f*(W}pB7 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png deleted file mode 100644 index 3ebf5d988551aafad223bb93e33dc68c2b1f0802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19966 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 diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs deleted file mode 100644 index 6dc430d..0000000 --- a/src-tauri/src/lib.rs +++ /dev/null @@ -1,59 +0,0 @@ -#[cfg(not(debug_assertions))] -use std::process::{Child, Command}; -#[cfg(not(debug_assertions))] -use std::sync::Mutex; - -#[cfg(not(debug_assertions))] -use tauri::Manager; - -#[cfg(not(debug_assertions))] -struct ServerProcess(Mutex>); - -pub fn run() { - let builder = tauri::Builder::default(); - - #[cfg(not(debug_assertions))] - let builder = builder.setup(|app| { - let child = spawn_server(&app.handle()) - .expect("failed to start the Sinatra server (is Ruby/Bundler installed?)"); - app.manage(ServerProcess(Mutex::new(Some(child)))); - Ok(()) - }); - - let app = builder - .build(tauri::generate_context!()) - .expect("error while building the tauri application"); - - app.run(|_app_handle, event| { - #[cfg(not(debug_assertions))] - if let tauri::RunEvent::ExitRequested { .. } = event { - if let Some(state) = _app_handle.try_state::() { - if let Some(mut child) = state.0.lock().unwrap().take() { - let _ = child.kill(); - } - } - } - }); -} - -// In development, `beforeDevCommand` (see tauri.conf.json) already starts the -// Sinatra server, so the window just points at it. In a packaged build there -// is no such hook, so the shell starts the server itself, next to the bundled -// resources, and stops it again when the window closes. -// -// NOTE: this assumes a Ruby + Bundler installation on the target machine. -// Producing a fully self-contained bundle (no external Ruby dependency) -// requires embedding a Ruby runtime as a sidecar (e.g. via tebako) — see -// docs/architecture.adoc for the open follow-up. -#[cfg(not(debug_assertions))] -fn spawn_server(app: &tauri::AppHandle) -> std::io::Result { - let resource_dir = app - .path() - .resource_dir() - .expect("failed to resolve the resource directory"); - - Command::new("bundle") - .args(["exec", "puma", "-C", "config/puma.rb"]) - .current_dir(resource_dir) - .spawn() -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs deleted file mode 100644 index 7aa6005..0000000 --- a/src-tauri/src/main.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Prevents an additional console window on Windows in release builds. -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -fn main() { - maptool_lib::run(); -} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json deleted file mode 100644 index bb4b55e..0000000 --- a/src-tauri/tauri.conf.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "https://schema.tauri.app/config/2", - "productName": "MapTool", - "version": "0.1.0", - "identifier": "net.priesol.maptool", - "build": { - "beforeDevCommand": "bundle exec puma -C ../config/puma.rb", - "devUrl": "http://127.0.0.1:4567", - "frontendDist": "http://127.0.0.1:4567" - }, - "app": { - "windows": [ - { - "title": "MapTool", - "width": 1200, - "height": 800, - "minWidth": 800, - "minHeight": 600 - } - ], - "security": { - "csp": null - } - }, - "bundle": { - "active": true, - "targets": "all", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "resources": { - "../Gemfile": "Gemfile", - "../Gemfile.lock": "Gemfile.lock", - "../app.rb": "app.rb", - "../config.ru": "config.ru", - "../config/*": "config/", - "../lib/*": "lib/", - "../public/*": "public/", - "../views/*": "views/" - } - } -}