From 0ddcda1b31a63b199cea423240ffc5bb1468fbc2 Mon Sep 17 00:00:00 2001 From: "Sijie.Sun" Date: Sun, 14 Apr 2024 23:29:34 +0800 Subject: [PATCH] introduce gui based on tauri (#52) --- .github/workflows/rust.yml | 91 +- .gitignore | 8 +- Cargo.lock | 6262 +++++++++++++++++ Cargo.toml | 4 +- easytier-gui/.gitignore | 24 + easytier-gui/Cargo.toml | 48 - easytier-gui/LICENSE | 1 - easytier-gui/README.md | 16 + easytier-gui/assets/msyh.ttc | Bin 19701556 -> 0 bytes easytier-gui/index.html | 14 + easytier-gui/package.json | 37 + easytier-gui/postcss.config.js | 6 + easytier-gui/src-tauri/.gitignore | 7 + easytier-gui/src-tauri/Cargo.toml | 30 + easytier-gui/src-tauri/Packet.dll | Bin 0 -> 220032 bytes easytier-gui/src-tauri/build.rs | 3 + easytier-gui/src-tauri/icons/icon.icns | Bin 0 -> 149372 bytes easytier-gui/src-tauri/icons/icon.ico | Bin 0 -> 190170 bytes easytier-gui/src-tauri/icons/icon.png | Bin 0 -> 43091 bytes easytier-gui/src-tauri/icons/icon.rgba | Bin 0 -> 1048576 bytes easytier-gui/{ => src-tauri}/src/launcher.rs | 7 +- easytier-gui/src-tauri/src/main.rs | 353 + easytier-gui/src-tauri/tauri.conf.json | 49 + .../src-tauri/tauri.windows.conf.json | 16 + easytier-gui/src-tauri/wintun.dll | Bin 0 -> 427552 bytes easytier-gui/src/App.vue | 254 + easytier-gui/src/components/Config.vue | 154 + easytier-gui/src/components/Status.vue | 358 + easytier-gui/src/main.rs | 1095 --- easytier-gui/src/main.ts | 353 + easytier-gui/src/styles.css | 33 + easytier-gui/src/text_list.rs | 57 - easytier-gui/src/toggle_switch.rs | 107 - easytier-gui/src/vite-env.d.ts | 7 + easytier-gui/tailwind.config.js | 12 + easytier-gui/tsconfig.json | 25 + easytier-gui/tsconfig.node.json | 10 + easytier-gui/vite.config.ts | 31 + easytier-gui/yarn.lock | 1663 +++++ easytier/src/common/config.rs | 19 +- easytier/src/common/global_ctx.rs | 2 +- easytier/src/utils.rs | 4 +- 42 files changed, 9824 insertions(+), 1336 deletions(-) create mode 100644 Cargo.lock create mode 100644 easytier-gui/.gitignore delete mode 100644 easytier-gui/Cargo.toml delete mode 120000 easytier-gui/LICENSE delete mode 100644 easytier-gui/assets/msyh.ttc create mode 100644 easytier-gui/index.html create mode 100644 easytier-gui/package.json create mode 100644 easytier-gui/postcss.config.js create mode 100644 easytier-gui/src-tauri/.gitignore create mode 100644 easytier-gui/src-tauri/Cargo.toml create mode 100644 easytier-gui/src-tauri/Packet.dll create mode 100644 easytier-gui/src-tauri/build.rs create mode 100644 easytier-gui/src-tauri/icons/icon.icns create mode 100644 easytier-gui/src-tauri/icons/icon.ico create mode 100644 easytier-gui/src-tauri/icons/icon.png create mode 100644 easytier-gui/src-tauri/icons/icon.rgba rename easytier-gui/{ => src-tauri}/src/launcher.rs (98%) create mode 100644 easytier-gui/src-tauri/src/main.rs create mode 100644 easytier-gui/src-tauri/tauri.conf.json create mode 100644 easytier-gui/src-tauri/tauri.windows.conf.json create mode 100644 easytier-gui/src-tauri/wintun.dll create mode 100644 easytier-gui/src/App.vue create mode 100644 easytier-gui/src/components/Config.vue create mode 100644 easytier-gui/src/components/Status.vue delete mode 100644 easytier-gui/src/main.rs create mode 100644 easytier-gui/src/main.ts create mode 100644 easytier-gui/src/styles.css delete mode 100644 easytier-gui/src/text_list.rs delete mode 100644 easytier-gui/src/toggle_switch.rs create mode 100644 easytier-gui/src/vite-env.d.ts create mode 100644 easytier-gui/tailwind.config.js create mode 100644 easytier-gui/tsconfig.json create mode 100644 easytier-gui/tsconfig.node.json create mode 100644 easytier-gui/vite.config.ts create mode 100644 easytier-gui/yarn.lock diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index d5b9b4d..da05a05 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -22,19 +22,25 @@ jobs: include: - TARGET: aarch64-unknown-linux-musl OS: ubuntu-latest + GUI_TARGET: aarch64-unknown-linux-gnu - TARGET: x86_64-unknown-linux-musl OS: ubuntu-latest + GUI_TARGET: x86_64-unknown-linux-gnu - TARGET: x86_64-apple-darwin OS: macos-latest + GUI_TARGET: x86_64-apple-darwin - TARGET: aarch64-apple-darwin OS: macos-latest + GUI_TARGET: aarch64-apple-darwin - TARGET: x86_64-pc-windows-msvc OS: windows-latest + GUI_TARGET: x86_64-pc-windows-msvc runs-on: ${{ matrix.OS }} env: NAME: easytier TARGET: ${{ matrix.TARGET }} OS: ${{ matrix.OS }} + GUI_TARGET: ${{ matrix.GUI_TARGET }} steps: - uses: actions/checkout@v3 - name: Setup protoc @@ -42,19 +48,36 @@ jobs: with: # GitHub repo token to use to avoid rate limiter repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/setup-node@v4 + with: + node-version: 21 + cache: 'yarn' + cache-dependency-path: easytier-gui/yarn.lock + - name: Install Yarn + run: npm install -g yarn - name: Cargo cache uses: actions/cache@v4.0.0 with: path: | ~/.cargo ./target - key: build-cargo-registry-${{matrix.TARGET}} + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Install rust target run: | # dependencies are only needed on ubuntu as that's the only place where # we make cross-compilation if [[ $OS =~ ^ubuntu.*$ ]]; then sudo apt-get update && sudo apt-get install -qq crossbuild-essential-arm64 crossbuild-essential-armhf musl-tools + # for easytier-gui + sudo apt install libwebkit2gtk-4.0-dev \ + build-essential \ + curl \ + wget \ + file \ + libssl-dev \ + libgtk-3-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev # curl -s musl.cc | grep mipsel case $TARGET in mipsel-unknown-linux-musl) @@ -87,8 +110,52 @@ jobs: rustup install 1.75 rustup default 1.75 rustup target add $TARGET + rustup target add $GUI_TARGET - name: Run build run: cargo build --release --verbose --target $TARGET + - name: Install for aarch64 gui cross compile + run: | + # see https://tauri.app/v1/guides/building/linux/ + if [[ $TARGET == "aarch64-unknown-linux-musl" ]]; then + + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted" | sudo tee /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security main restricted" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security multiverse" | sudo tee -a /etc/apt/sources.list + + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricted" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security universe" | sudo tee -a /etc/apt/sources.list + echo "deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security multiverse" | sudo tee -a /etc/apt/sources.list + + sudo dpkg --add-architecture arm64 + sudo apt-get update && sudo apt-get upgrade -y + sudo apt install libwebkit2gtk-4.0-dev:arm64 + sudo apt install libssl-dev:arm64 + echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/" >> "$GITHUB_ENV" + fi + - name: Run build GUI + run: | + cd easytier-gui + yarn install + if [[ $OS =~ ^ubuntu.*$ && ! $GUI_TARGET =~ ^x86_64.*$ ]]; then + # only build deb for non-x86_64 linux + yarn tauri build -- --target $GUI_TARGET --verbose --bundles deb + else + yarn tauri build -- --target $GUI_TARGET --verbose + fi - name: Compress run: | mkdir -p ./artifacts/objects/ @@ -104,8 +171,21 @@ jobs: TAG=$GITHUB_SHA fi mv ./target/$TARGET/release/easytier-core"$SUFFIX" ./artifacts/objects/ - mv ./target/$TARGET/release/easytier-gui"$SUFFIX" ./artifacts/objects/ mv ./target/$TARGET/release/easytier-cli"$SUFFIX" ./artifacts/objects/ + + # copy gui bundle, gui is built without specific target + if [[ $OS =~ ^windows.*$ ]]; then + mv ./target/$GUI_TARGET/release/bundle/nsis/*.exe ./artifacts/objects/ + elif [[ $OS =~ ^macos.*$ ]]; then + mv ./target/$GUI_TARGET/release/bundle/dmg/*.dmg ./artifacts/objects/ + elif [[ $OS =~ ^ubuntu.*$ ]]; then + mv ./target/$GUI_TARGET/release/bundle/deb/*.deb ./artifacts/objects/ + if [[ $GUI_TARGET =~ ^x86_64.*$ ]]; then + # currently only x86 appimage is supported + mv ./target/$GUI_TARGET/release/bundle/appimage/*.AppImage ./artifacts/objects/ + fi + fi + tar -cvf ./artifacts/$NAME-$TARGET-$TAG.tar -C ./artifacts/objects/ . rm -rf ./artifacts/objects/ - name: Archive artifact @@ -146,6 +226,9 @@ jobs: path: | ~/.cargo ./target - key: build-cargo-registry-test + key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }} - name: Run tests - run: sudo -E env "PATH=$PATH" cargo test --verbose + run: | + sudo -E env "PATH=$PATH" cargo test --verbose + sudo chown -R $USER:$USER ./target + sudo chown -R $USER:$USER ~/.cargo diff --git a/.gitignore b/.gitignore index aa0a365..a0e18b9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,10 +4,6 @@ debug/ target/ target-*/ -# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries -# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html -Cargo.lock - # These are backup files generated by rustfmt **/*.rs.bk @@ -24,3 +20,7 @@ flamegraph.svg root-target nohup.out + +.DS_Store + +components.d.ts diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..4229a9e --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,6262 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.12", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "async-recursion" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "async-trait" +version = "0.1.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "atk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +dependencies = [ + "atk-sys", + "bitflags 1.3.2", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + +[[package]] +name = "auto_impl" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa 1.0.10", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "boringtun" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "751787b019c674b9ac353f4eaa285e6711c21badb421cd8c199bf2c83b727f29" +dependencies = [ + "aead", + "base64 0.13.1", + "blake2", + "chacha20poly1305", + "hex", + "hmac", + "ip_network", + "ip_network_table", + "libc", + "nix 0.25.1", + "parking_lot", + "rand_core 0.6.4", + "ring", + "tracing", + "untrusted 0.9.0", + "x25519-dalek", +] + +[[package]] +name = "brotli" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "bytecheck" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytecodec" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adf4c9d0bbf32eea58d7c0f812058138ee8edaf0f2802b6d03561b504729a325" +dependencies = [ + "byteorder", + "trackable 0.2.24", +] + +[[package]] +name = "bytecount" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" + +[[package]] +name = "bytemuck" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "c2rust-bitfields" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b43c3f07ab0ef604fa6f595aa46ec2f8a22172c975e186f6f5bf9829a3b72c41" +dependencies = [ + "c2rust-bitfields-derive", +] + +[[package]] +name = "c2rust-bitfields-derive" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3cbc102e2597c9744c8bd8c15915d554300601c91a079430d309816b0912545" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "cairo-rs" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "glib", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "cargo_toml" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +dependencies = [ + "serde", + "toml 0.7.8", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "jobserver", + "libc", +] + +[[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.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-expr" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20", + "cipher", + "poly1305", + "zeroize", +] + +[[package]] +name = "chrono" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.0", +] + +[[package]] +name = "cidr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d18b093eba54c9aaa1e3784d4361eb2ba944cf7d0a932a830132238f483e8d8" +dependencies = [ + "serde", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "clap" +version = "4.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.10.0", + "terminal_size", + "unicase", + "unicode-width", +] + +[[package]] +name = "clap_derive" +version = "4.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "clap_lex" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" + +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.48", +] + +[[package]] +name = "ctor" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" +dependencies = [ + "quote", + "syn 2.0.48", +] + +[[package]] +name = "curve25519-dalek" +version = "4.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436ace70fc06e06f7f689d2624dc4e2f0ea666efb5aa704215f7249ae6e047a7" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "platforms", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "darling" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" +dependencies = [ + "darling_core 0.10.2", + "darling_macro 0.10.2", +] + +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core 0.20.8", + "darling_macro 0.20.8", +] + +[[package]] +name = "darling_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.9.3", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.48", +] + +[[package]] +name = "darling_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" +dependencies = [ + "darling_core 0.10.2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core 0.20.8", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.3", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" + +[[package]] +name = "deprecate-until" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3767f826efbbe5a5ae093920b58b43b01734202be697e1354914e862e8e704" +dependencies = [ + "proc-macro2", + "quote", + "semver", + "syn 2.0.48", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0" +dependencies = [ + "darling 0.10.2", + "derive_builder_core", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef" +dependencies = [ + "darling 0.10.2", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dns-lookup" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53ecafc952c4528d9b51a458d1a8904b81783feff9fde08ab6ed2545ff396872" +dependencies = [ + "cfg-if", + "libc", + "socket2 0.4.10", + "winapi", +] + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[package]] +name = "dtoa-short" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "easytier" +version = "0.1.2" +dependencies = [ + "anyhow", + "async-recursion", + "async-stream", + "async-trait", + "auto_impl", + "base64 0.21.7", + "boringtun", + "bytecodec", + "byteorder", + "chrono", + "cidr", + "clap", + "crossbeam", + "crossbeam-queue", + "dashmap", + "derivative", + "futures", + "gethostname", + "humansize", + "log", + "network-interface", + "nix 0.27.1", + "once_cell", + "pathfinding", + "percent-encoding", + "pnet", + "postcard", + "prost", + "public-ip", + "rand 0.8.5", + "reqwest", + "rkyv", + "rstest", + "serde", + "serial_test", + "socket2 0.5.5", + "stun_codec", + "tabled", + "tarpc", + "thiserror", + "time", + "timedmap", + "tokio", + "tokio-stream", + "tokio-util", + "toml 0.8.12", + "tonic", + "tonic-build", + "tracing", + "tracing-appender", + "tracing-subscriber", + "tun", + "url", + "uuid", + "windows-sys 0.52.0", + "zip", +] + +[[package]] +name = "easytier-gui" +version = "0.0.0" +dependencies = [ + "anyhow", + "chrono", + "dashmap", + "easytier", + "once_cell", + "privilege", + "serde", + "serde_json", + "tauri", + "tauri-build", + "tokio", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "embed-resource" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6985554d0688b687c5cb73898a34fbe3ad6c24c58c238a4d91d5e840670ee9d" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.8.12", + "vswhom", + "winreg 0.52.0", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + +[[package]] +name = "enum-as-inner" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "fiat-crypto" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" + +[[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 = "filetime" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.52.0", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +dependencies = [ + "bitflags 1.3.2", + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "gdk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps 6.2.2", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps 6.2.2", +] + +[[package]] +name = "gdkx11-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps 6.2.2", + "x11", +] + +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.48.0", +] + +[[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 = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "gio" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +dependencies = [ + "bitflags 1.3.2", + "futures-channel", + "futures-core", + "futures-io", + "gio-sys", + "glib", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", + "winapi", +] + +[[package]] +name = "glib" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +dependencies = [ + "bitflags 1.3.2", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib-macros" +version = "0.15.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" +dependencies = [ + "anyhow", + "heck 0.4.1", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "glib-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +dependencies = [ + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "gobject-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "gtk" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +dependencies = [ + "atk", + "bitflags 1.3.2", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "once_cell", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps 6.2.2", +] + +[[package]] +name = "gtk3-macros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" +dependencies = [ + "anyhow", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "h2" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b553656127a00601c8ae5590fcfdc118e4083a7924b6cf4ffc1ea4b99dc429d7" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heapless" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +dependencies = [ + "atomic-polyfill", + "hash32", + "rustc_version", + "serde", + "spin 0.9.8", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.10", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 1.0.10", + "pin-project-lite", + "socket2 0.5.5", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-system-resolver" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eea26c5d0b6ab9d72219f65000af310f042a740926f7b2fa3553e774036e2e7" +dependencies = [ + "derive_builder", + "dns-lookup", + "hyper", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[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.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.3", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-traits", +] + +[[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.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", + "serde", +] + +[[package]] +name = "infer" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" +dependencies = [ + "cfb", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ioctl-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd11f3a29434026f5ff98c730b668ba74b1033637b8817940b54d040696133c" + +[[package]] +name = "ip_network" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" + +[[package]] +name = "ip_network_table" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4099b7cfc5c5e2fe8c5edf3f6f7adf7a714c9cc697534f63a5a5da30397cb2c0" +dependencies = [ + "ip_network", + "ip_network_table-deps-treebitmap", +] + +[[package]] +name = "ip_network_table-deps-treebitmap" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e537132deb99c0eb4b752f0346b6a836200eaaa3516dd7e5514b63930a09e5d" + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "ipnetwork" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" +dependencies = [ + "serde", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "javascriptcore-rs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "jni" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" +dependencies = [ + "serde", + "serde_json", + "thiserror", + "treediff", +] + +[[package]] +name = "kuchikiki" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 1.9.3", + "matches", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libappindicator" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2d3cb96d092b4824cb306c9e544c856a4cb6210c1081945187f7f1924b47e8" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa" +dependencies = [ + "gtk-sys", + "libloading 0.7.4", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" + +[[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 = "libloading" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.4.1", + "libc", +] + +[[package]] +name = "line-wrap" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" + +[[package]] +name = "linux-raw-sys" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "serde", + "serde_json", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "markup5ever" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +dependencies = [ + "bitflags 1.3.2", + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "network-interface" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68759ef97fe9c9e46f79ea8736c19f1d28992e24c8dc8ce86752918bfeaae7" +dependencies = [ + "cc", + "libc", + "thiserror", + "winapi", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] + +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.4.1", + "cfg-if", + "libc", + "memoffset", +] + +[[package]] +name = "no-std-net" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "open" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" +dependencies = [ + "pathdiff", + "windows-sys 0.42.0", +] + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.1", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "opentelemetry" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" +dependencies = [ + "async-trait", + "crossbeam-channel", + "futures-channel", + "futures-executor", + "futures-util", + "js-sys", + "lazy_static", + "percent-encoding", + "pin-project", + "rand 0.8.5", + "thiserror", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pango" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +dependencies = [ + "bitflags 1.3.2", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "papergrid" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad43c07024ef767f9160710b3a6773976194758c7919b17e63b863db0bdf7fb" +dependencies = [ + "bytecount", + "fnv", + "unicode-width", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "pathfinding" +version = "4.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a21c30f03223ae4a4c892f077b3189133689b8a659a84372f8422384ce94c9" +dependencies = [ + "deprecate-until", + "fixedbitset", + "indexmap 2.2.6", + "integer-sqrt", + "num-traits", + "rustc-hash", + "thiserror", +] + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.2.6", +] + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_shared 0.10.0", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros 0.11.2", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + +[[package]] +name = "plist" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" +dependencies = [ + "base64 0.21.7", + "indexmap 2.2.6", + "line-wrap", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "pnet" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "130c5b738eeda2dc5796fe2671e49027e6935e817ab51b930a36ec9e6a206a64" +dependencies = [ + "ipnetwork", + "pnet_base", + "pnet_datalink", + "pnet_packet", + "pnet_sys", + "pnet_transport", +] + +[[package]] +name = "pnet_base" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe4cf6fb3ab38b68d01ab2aea03ed3d1132b4868fa4e06285f29f16da01c5f4c" +dependencies = [ + "no-std-net", + "serde", +] + +[[package]] +name = "pnet_datalink" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5854abf0067ebbd3967f7d45ebc8976ff577ff0c7bd101c4973ae3c70f98fe" +dependencies = [ + "ipnetwork", + "libc", + "pnet_base", + "pnet_sys", + "serde", + "winapi", +] + +[[package]] +name = "pnet_macros" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688b17499eee04a0408aca0aa5cba5fc86401d7216de8a63fdf7a4c227871804" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.48", +] + +[[package]] +name = "pnet_macros_support" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea925b72f4bd37f8eab0f221bbe4c78b63498350c983ffa9dd4bcde7e030f56" +dependencies = [ + "pnet_base", +] + +[[package]] +name = "pnet_packet" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9a005825396b7fe7a38a8e288dbc342d5034dac80c15212436424fef8ea90ba" +dependencies = [ + "glob", + "pnet_base", + "pnet_macros", + "pnet_macros_support", +] + +[[package]] +name = "pnet_sys" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "417c0becd1b573f6d544f73671070b039051e5ad819cc64aa96377b536128d00" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "pnet_transport" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2637e14d7de974ee2f74393afccbc8704f3e54e6eb31488715e72481d1662cc3" +dependencies = [ + "libc", + "pnet_base", + "pnet_packet", + "pnet_sys", +] + +[[package]] +name = "png" +version = "0.17.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "postcard" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" +dependencies = [ + "cobs", + "embedded-io", + "heapless", + "serde", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +dependencies = [ + "proc-macro2", + "syn 2.0.48", +] + +[[package]] +name = "privilege" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765ec92721e112ffe07f5c06fb0654da0b708990888981d05cf12a7c9909df30" +dependencies = [ + "libc", + "security-framework-sys", + "which", + "windows-sys 0.48.0", +] + +[[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-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-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" +dependencies = [ + "bytes", + "heck 0.4.1", + "itertools", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn 2.0.48", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "prost-types" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" +dependencies = [ + "prost", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "public-ip" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4c40db5262d93298c363a299f8bc1b3a956a78eecddba3bc0e58b76e2f419a" +dependencies = [ + "dns-lookup", + "futures-core", + "futures-util", + "http", + "hyper", + "hyper-system-resolver", + "pin-project-lite", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "trust-dns-client", + "trust-dns-proto", +] + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.12", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom 0.2.12", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "relative-path" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" + +[[package]] +name = "rend" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.50.0", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "rkyv" +version = "0.7.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rstest" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" +dependencies = [ + "futures", + "futures-timer", + "rstest_macros", + "rustc_version", +] + +[[package]] +name = "rstest_macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" +dependencies = [ + "cfg-if", + "glob", + "proc-macro2", + "quote", + "regex", + "relative-path", + "rustc_version", + "syn 2.0.48", + "unicode-ident", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "indexmap 2.2.6", + "itoa 1.0.10", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.10", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" +dependencies = [ + "base64 0.21.7", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" +dependencies = [ + "darling 0.20.8", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serial_test" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d" +dependencies = [ + "dashmap", + "futures", + "lazy_static", + "log", + "parking_lot", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e" + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "soup2" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +dependencies = [ + "bitflags 1.3.2", + "gio", + "glib", + "libc", + "once_cell", + "soup2-sys", +] + +[[package]] +name = "soup2-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" +dependencies = [ + "bitflags 1.3.2", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "state" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" +dependencies = [ + "loom", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "stun_codec" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1340dadfb0e4c522135c400c872dee4f638f9b098171bebfa3e44e48f735cd4b" +dependencies = [ + "bytecodec", + "byteorder", + "crc", + "hmac", + "md5", + "sha1", + "trackable 1.3.0", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "system-deps" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" +dependencies = [ + "cfg-expr 0.9.1", + "heck 0.3.3", + "pkg-config", + "toml 0.5.11", + "version-compare 0.0.11", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr 0.15.7", + "heck 0.5.0", + "pkg-config", + "toml 0.8.12", + "version-compare 0.2.0", +] + +[[package]] +name = "tabled" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c998b0c8b921495196a48aabaf1901ff28be0760136e31604f7967b0792050e" +dependencies = [ + "papergrid", + "tabled_derive", + "unicode-width", +] + +[[package]] +name = "tabled_derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c138f99377e5d653a371cdad263615634cfc8467685dfe8e73e2b8e98f44b17" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tao" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26a794e476ce829420b58059f4ac23c2b991dab2ee552be740f931aea95ae9c8" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dirs-next", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkwayland-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys", + "gtk", + "image", + "instant", + "jni", + "lazy_static", + "libappindicator", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "png", + "raw-window-handle", + "scopeguard", + "serde", + "tao-macros", + "unicode-segmentation", + "uuid", + "windows 0.39.0", + "windows-implement", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tar" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "target-lexicon" +version = "0.12.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" + +[[package]] +name = "tarpc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f07cb5fb67b0a90ea954b5ffd2fac9944ffef5937c801b987d3f8913f0c37348" +dependencies = [ + "anyhow", + "fnv", + "futures", + "humantime", + "opentelemetry", + "pin-project", + "rand 0.8.5", + "serde", + "static_assertions", + "tarpc-plugins", + "thiserror", + "tokio", + "tokio-util", + "tracing", + "tracing-opentelemetry", +] + +[[package]] +name = "tarpc-plugins" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tauri" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f078117725e36d55d29fafcbb4b1e909073807ca328ae8deb8c0b3843aac0fed" +dependencies = [ + "anyhow", + "cocoa", + "dirs-next", + "dunce", + "embed_plist", + "encoding_rs", + "flate2", + "futures-util", + "glib", + "glob", + "gtk", + "heck 0.4.1", + "http", + "ignore", + "objc", + "once_cell", + "open", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "regex", + "semver", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "state", + "tar", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "tempfile", + "thiserror", + "tokio", + "url", + "uuid", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-build" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9914a4715e0b75d9f387a285c7e26b5bbfeb1249ad9f842675a82481565c532" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs-next", + "heck 0.4.1", + "json-patch", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1554c5857f65dbc377cefb6b97c8ac77b1cb2a90d30d3448114d5d6b48a77fc" +dependencies = [ + "base64 0.21.7", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "regex", + "semver", + "serde", + "serde_json", + "sha2", + "tauri-utils", + "thiserror", + "time", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "277abf361a3a6993ec16bcbb179de0d6518009b851090a01adfea12ac89fa875" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-runtime" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2d0652aa2891ff3e9caa2401405257ea29ab8372cce01f186a5825f1bd0e76" +dependencies = [ + "gtk", + "http", + "http-range", + "rand 0.8.5", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror", + "url", + "uuid", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-runtime-wry" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "067c56fc153b3caf406d7cd6de4486c80d1d66c0f414f39e94cb2f5543f6445f" +dependencies = [ + "cocoa", + "gtk", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "tauri-runtime", + "tauri-utils", + "uuid", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ad0bbb31fccd1f4c56275d0a5c3abdf1f59999f72cb4ef8b79b4ed42082a21" +dependencies = [ + "brotli", + "ctor", + "dunce", + "glob", + "heck 0.4.1", + "html5ever", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.2", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "serde_with", + "thiserror", + "url", + "walkdir", + "windows-version", +] + +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + +[[package]] +name = "tempfile" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +dependencies = [ + "deranged", + "itoa 1.0.10", + "libc", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +dependencies = [ + "time-core", +] + +[[package]] +name = "timedmap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "825f6c8a18bc36d56a62f66af7296385b628c9c5543a8663d4c217fc920bfefd" + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.5", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "slab", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.9", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.5", +] + +[[package]] +name = "tonic" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.21.7", + "bytes", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-build" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time", + "tracing-subscriber", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "futures", + "futures-task", + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-opentelemetry" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" +dependencies = [ + "once_cell", + "opentelemetry", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "time", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "trackable" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98abb9e7300b9ac902cc04920945a874c1973e08c310627cc4458c04b70dd32" +dependencies = [ + "trackable 1.3.0", + "trackable_derive", +] + +[[package]] +name = "trackable" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15bd114abb99ef8cee977e517c8f37aee63f184f2d08e3e6ceca092373369ae" +dependencies = [ + "trackable_derive", +] + +[[package]] +name = "trackable_derive" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebeb235c5847e2f82cfe0f07eb971d1e5f6804b18dac2ae16349cc604380f82f" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "treediff" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d127780145176e2b5d16611cc25a900150e86e9fd79d3bde6ff3a37359c9cb5" +dependencies = [ + "serde_json", +] + +[[package]] +name = "trust-dns-client" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b4ef9b9bde0559b78a4abb00339143750085f05e5a453efb7b8bef1061f09dc" +dependencies = [ + "cfg-if", + "data-encoding", + "futures-channel", + "futures-util", + "lazy_static", + "log", + "radix_trie", + "rand 0.8.5", + "thiserror", + "time", + "tokio", + "trust-dns-proto", +] + +[[package]] +name = "trust-dns-proto" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.2.3", + "ipnet", + "lazy_static", + "log", + "rand 0.8.5", + "smallvec", + "thiserror", + "tinyvec", + "tokio", + "url", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tun" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0adb9992bbd5ca76f3847ed579ad4ee8defb2ec2eea918cceef17ccc66fa4fd4" +dependencies = [ + "byteorder", + "bytes", + "futures-core", + "ioctl-sys", + "libc", + "log", + "thiserror", + "tokio", + "tokio-util", + "wintun", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna 0.5.0", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +dependencies = [ + "getrandom 0.2.12", + "rand 0.8.5", + "serde", + "uuid-macro-internal", +] + +[[package]] +name = "uuid-macro-internal" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49e7f3f3db8040a100710a11932239fd30697115e2ba4107080d8252939845e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version-compare" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" + +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +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.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.48", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" + +[[package]] +name = "web-sys" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" +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", + "soup2", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" +dependencies = [ + "atk-sys", + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pango-sys", + "pkg-config", + "soup2-sys", + "system-deps 6.2.2", +] + +[[package]] +name = "webview2-com" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "webview2-com-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "webview2-com-sys" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" +dependencies = [ + "regex", + "serde", + "serde_json", + "thiserror", + "windows 0.39.0", + "windows-bindgen", + "windows-metadata", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" +dependencies = [ + "windows-implement", + "windows_aarch64_msvc 0.39.0", + "windows_i686_gnu 0.39.0", + "windows_i686_msvc 0.39.0", + "windows_x86_64_gnu 0.39.0", + "windows_x86_64_msvc 0.39.0", +] + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +dependencies = [ + "windows-core 0.51.1", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-bindgen" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" +dependencies = [ + "windows-metadata", + "windows-tokens", +] + +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-implement" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" +dependencies = [ + "syn 1.0.109", + "windows-tokens", +] + +[[package]] +name = "windows-metadata" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows-tokens" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" + +[[package]] +name = "windows-version" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[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.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wintun" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29b83b0eca06dd125dbcd48a45327c708a6da8aada3d95a3f06db0ce4b17e0d4" +dependencies = [ + "c2rust-bitfields", + "libloading 0.8.1", + "log", + "thiserror", + "windows 0.51.1", +] + +[[package]] +name = "wry" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ad85d0e067359e409fcb88903c3eac817c392e5d638258abfb3da5ad8ba6fc4" +dependencies = [ + "base64 0.13.1", + "block", + "cocoa", + "core-graphics", + "crossbeam-channel", + "dunce", + "gdk", + "gio", + "glib", + "gtk", + "html5ever", + "http", + "kuchikiki", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sha2", + "soup2", + "tao", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[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 = "x25519-dalek" +version = "2.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7fae07da688e17059d5886712c933bb0520f15eff2e09cfa18e30968f4e63a" +dependencies = [ + "curve25519-dalek", + "rand_core 0.6.4", + "serde", + "zeroize", +] + +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index 06fa63f..bd1ae95 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] resolver = "2" -members = ["easytier", "easytier-gui"] +members = ["easytier", "easytier-gui/src-tauri"] +default-members = [ "easytier" ] [profile.dev] panic = "unwind" [profile.release] panic = "unwind" -lto = true diff --git a/easytier-gui/.gitignore b/easytier-gui/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/easytier-gui/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/easytier-gui/Cargo.toml b/easytier-gui/Cargo.toml deleted file mode 100644 index d60dd55..0000000 --- a/easytier-gui/Cargo.toml +++ /dev/null @@ -1,48 +0,0 @@ -[package] -name = "easytier-gui" -description = "A full meshed p2p VPN, connecting all your devices in one network with one command." -homepage = "https://github.com/KKRainbow/EasyTier" -repository = "https://github.com/KKRainbow/EasyTier" -version = "0.1.0" -edition = "2021" -authors = ["kkrainbow"] -keywords = ["vpn", "p2p", "network", "easytier"] -categories = ["network-programming"] -rust-version = "1.75" -license-file = "LICENSE" -readme = "README.md" - -[dependencies] -easytier = { path = "../easytier" } -tokio = { version = "1", features = ["full"] } -anyhow = "1.0" -chrono = "0.4.37" - -once_cell = "1.18.0" -dashmap = "5.5.3" -egui = { version = "0.27.2" } -egui-modal = "0.3.6" - -humansize = "2.1.3" - -eframe = { version = "0.27.2", features = [ - "default", - "serde", - "persistence", - "wgpu" -] } -wgpu = { version = "0.19.3", features = [ "webgpu", "webgl"] } - -# For image support: -egui_extras = { version = "0.27.2", features = ["default", "image"] } - -env_logger = { version = "0.10", default-features = false, features = [ - "auto-color", - "humantime", -] } - -egui_tiles = "0.8.0" - -derivative = "2.2.0" -serde = { version = "1.0", features = ["derive"] } -elevated-command = "1.1.2" \ No newline at end of file diff --git a/easytier-gui/LICENSE b/easytier-gui/LICENSE deleted file mode 120000 index ea5b606..0000000 --- a/easytier-gui/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../LICENSE \ No newline at end of file diff --git a/easytier-gui/README.md b/easytier-gui/README.md index e69de29..e6b0bd5 100644 --- a/easytier-gui/README.md +++ b/easytier-gui/README.md @@ -0,0 +1,16 @@ +# Tauri + Vue 3 + TypeScript + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/easytier-gui/package.json b/easytier-gui/package.json new file mode 100644 index 0000000..cd11a08 --- /dev/null +++ b/easytier-gui/package.json @@ -0,0 +1,37 @@ +{ + "name": "easytier-gui", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "^1", + "pinia": "^2.1.7", + "primeflex": "^3.3.1", + "primeicons": "^7.0.0", + "primevue": "^3.51.0", + "vue": "^3.3.4", + "vue-router": "^4.3.0" + }, + "devDependencies": { + "@tauri-apps/cli": "^1", + "@types/uuid": "^9.0.8", + "@vitejs/plugin-vue": "^5.0.4", + "autoprefixer": "^10.4.19", + "naive-ui": "^2.38.1", + "postcss": "^8.4.38", + "tailwindcss": "^3.4.3", + "typescript": "^5.0.2", + "unplugin-vue-components": "^0.26.0", + "uuid": "^9.0.1", + "vfonts": "^0.0.3", + "vite": "^5.0.0", + "vue-i18n": "^9.12.0", + "vue-tsc": "^1.8.5" + } +} diff --git a/easytier-gui/postcss.config.js b/easytier-gui/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/easytier-gui/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/easytier-gui/src-tauri/.gitignore b/easytier-gui/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/easytier-gui/src-tauri/.gitignore @@ -0,0 +1,7 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas diff --git a/easytier-gui/src-tauri/Cargo.toml b/easytier-gui/src-tauri/Cargo.toml new file mode 100644 index 0000000..c98b231 --- /dev/null +++ b/easytier-gui/src-tauri/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "easytier-gui" +version = "0.0.0" +description = "A Tauri App" +authors = ["you"] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1", features = [] } + +[dependencies] +tauri = { version = "1", features = [ "process-exit", "system-tray", "shell-open"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" + +easytier = { path = "../../easytier" } +tokio = { version = "1", features = ["full"] } +anyhow = "1.0" +chrono = { version = "0.4.37", features = ["serde"] } + +once_cell = "1.18.0" +dashmap = "5.5.3" + +privilege = "0.3" + +[features] +# This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!! +custom-protocol = ["tauri/custom-protocol"] diff --git a/easytier-gui/src-tauri/Packet.dll b/easytier-gui/src-tauri/Packet.dll new file mode 100644 index 0000000000000000000000000000000000000000..7e1bf1206a781cf6db41cc41bf59854e63dd8f6a GIT binary patch literal 220032 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%0DK8>Sjhpv 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 z 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 literal 0 HcmV?d00001 diff --git a/easytier-gui/src-tauri/icons/icon.rgba b/easytier-gui/src-tauri/icons/icon.rgba new file mode 100644 index 0000000000000000000000000000000000000000..0a0690abb4269c26020a396236c468c056850caa GIT binary patch literal 1048576 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 Vec { self.data.peers.read().unwrap().clone() } - - pub fn running_cfg(&self) -> String { - self.running_cfg.clone() - } } impl Drop for EasyTierLauncher { diff --git a/easytier-gui/src-tauri/src/main.rs b/easytier-gui/src-tauri/src/main.rs new file mode 100644 index 0000000..05e0271 --- /dev/null +++ b/easytier-gui/src-tauri/src/main.rs @@ -0,0 +1,353 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +mod launcher; + +use std::{collections::BTreeMap, env::current_exe, process}; + +use anyhow::Context; +use chrono::{DateTime, Local}; +use dashmap::DashMap; +use easytier::{ + common::{ + config::{ConfigLoader, NetworkIdentity, PeerConfig, TomlConfigLoader, VpnPortalConfig}, + global_ctx::GlobalCtxEvent, + }, + rpc::{PeerInfo, Route}, + utils::{list_peer_route_pair, PeerRoutePair}, +}; +use launcher::{EasyTierLauncher, MyNodeInfo}; +use serde::{Deserialize, Serialize}; + +use tauri::{ + CustomMenuItem, Manager, SystemTray, SystemTrayEvent, SystemTrayMenu, SystemTrayMenuItem, + Window, +}; + +#[derive(Deserialize, Serialize, PartialEq, Debug)] +enum NetworkingMethod { + PublicServer, + Manual, + Standalone, +} + +impl Default for NetworkingMethod { + fn default() -> Self { + NetworkingMethod::PublicServer + } +} + +#[derive(Deserialize, Serialize, Debug, Default)] +struct NetworkConfig { + instance_id: String, + + virtual_ipv4: String, + network_name: String, + network_secret: String, + networking_method: NetworkingMethod, + + public_server_url: String, + peer_urls: Vec, + + proxy_cidrs: Vec, + + enable_vpn_portal: bool, + vpn_portal_listne_port: i32, + vpn_portal_client_network_addr: String, + vpn_portal_client_network_len: i32, + + advanced_settings: bool, + + listener_urls: Vec, + rpc_port: i32, +} + +impl NetworkConfig { + fn gen_config(&self) -> Result { + let cfg = TomlConfigLoader::default(); + cfg.set_id( + self.instance_id + .parse() + .with_context(|| format!("failed to parse instance id: {}", self.instance_id))?, + ); + cfg.set_inst_name(self.network_name.clone()); + cfg.set_network_identity(NetworkIdentity { + network_name: self.network_name.clone(), + network_secret: self.network_secret.clone(), + }); + + if self.virtual_ipv4.len() > 0 { + cfg.set_ipv4( + self.virtual_ipv4.parse().with_context(|| { + format!("failed to parse ipv4 address: {}", self.virtual_ipv4) + })?, + ) + } + + match self.networking_method { + NetworkingMethod::PublicServer => { + cfg.set_peers(vec![PeerConfig { + uri: self.public_server_url.parse().with_context(|| { + format!( + "failed to parse public server uri: {}", + self.public_server_url + ) + })?, + }]); + } + NetworkingMethod::Manual => { + let mut peers = vec![]; + for peer_url in self.peer_urls.iter() { + if peer_url.is_empty() { + continue; + } + peers.push(PeerConfig { + uri: peer_url + .parse() + .with_context(|| format!("failed to parse peer uri: {}", peer_url))?, + }); + } + + cfg.set_peers(peers); + } + NetworkingMethod::Standalone => {} + } + + let mut listener_urls = vec![]; + for listener_url in self.listener_urls.iter() { + if listener_url.is_empty() { + continue; + } + listener_urls.push( + listener_url + .parse() + .with_context(|| format!("failed to parse listener uri: {}", listener_url))?, + ); + } + cfg.set_listeners(listener_urls); + + for n in self.proxy_cidrs.iter() { + cfg.add_proxy_cidr( + n.parse() + .with_context(|| format!("failed to parse proxy network: {}", n))?, + ); + } + + cfg.set_rpc_portal( + format!("127.0.0.1:{}", self.rpc_port) + .parse() + .with_context(|| format!("failed to parse rpc portal port: {}", self.rpc_port))?, + ); + + if self.enable_vpn_portal { + let cidr = format!( + "{}/{}", + self.vpn_portal_client_network_addr, self.vpn_portal_client_network_len + ); + cfg.set_vpn_portal_config(VpnPortalConfig { + client_cidr: cidr + .parse() + .with_context(|| format!("failed to parse vpn portal client cidr: {}", cidr))?, + wireguard_listen: format!("0.0.0.0:{}", self.vpn_portal_listne_port) + .parse() + .with_context(|| { + format!( + "failed to parse vpn portal wireguard listen port. {}", + self.vpn_portal_listne_port + ) + })?, + }); + } + + Ok(cfg) + } +} + +#[derive(Deserialize, Serialize, Debug)] +struct NetworkInstanceRunningInfo { + my_node_info: MyNodeInfo, + events: Vec<(DateTime, GlobalCtxEvent)>, + node_info: MyNodeInfo, + routes: Vec, + peers: Vec, + peer_route_pairs: Vec, + running: bool, + error_msg: Option, +} + +struct NetworkInstance { + config: TomlConfigLoader, + launcher: Option, +} + +impl NetworkInstance { + fn new(cfg: NetworkConfig) -> Result { + Ok(Self { + config: cfg.gen_config()?, + launcher: None, + }) + } + + fn is_easytier_running(&self) -> bool { + self.launcher.is_some() && self.launcher.as_ref().unwrap().running() + } + + fn get_running_info(&self) -> Option { + if self.launcher.is_none() { + return None; + } + + let launcher = self.launcher.as_ref().unwrap(); + + let peers = launcher.get_peers(); + let routes = launcher.get_routes(); + let peer_route_pairs = list_peer_route_pair(peers.clone(), routes.clone()); + + Some(NetworkInstanceRunningInfo { + my_node_info: launcher.get_node_info(), + events: launcher.get_events(), + node_info: launcher.get_node_info(), + routes, + peers, + peer_route_pairs, + running: launcher.running(), + error_msg: launcher.error_msg(), + }) + } + + fn start(&mut self) -> Result<(), anyhow::Error> { + if self.is_easytier_running() { + return Ok(()); + } + + let mut launcher = EasyTierLauncher::new(); + launcher.start(|| Ok(self.config.clone())); + + self.launcher = Some(launcher); + Ok(()) + } +} + +static INSTANCE_MAP: once_cell::sync::Lazy> = + once_cell::sync::Lazy::new(DashMap::new); + +// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command +#[tauri::command] +fn parse_network_config(cfg: &str) -> Result { + let cfg: NetworkConfig = serde_json::from_str(cfg).map_err(|e| e.to_string())?; + let toml = cfg.gen_config().map_err(|e| e.to_string())?; + Ok(toml.dump()) +} + +#[tauri::command] +fn run_network_instance(cfg: &str) -> Result { + let cfg: NetworkConfig = serde_json::from_str(cfg).map_err(|e| e.to_string())?; + if INSTANCE_MAP.contains_key(&cfg.instance_id) { + return Err("instance already exists".to_string()); + } + let instance_id = cfg.instance_id.clone(); + + let mut instance = NetworkInstance::new(cfg).map_err(|e| e.to_string())?; + instance.start().map_err(|e| e.to_string())?; + + println!("instance {} started", instance_id); + INSTANCE_MAP.insert(instance_id, instance); + Ok("".to_string()) +} + +#[tauri::command] +fn retain_network_instance(instance_ids: &str) -> Result<(), String> { + let instance_ids: Vec = + serde_json::from_str(instance_ids).map_err(|e| e.to_string())?; + let _ = INSTANCE_MAP.retain(|k, _| instance_ids.contains(k)); + println!( + "instance {:?} retained", + INSTANCE_MAP + .iter() + .map(|item| item.key().clone()) + .collect::>() + ); + Ok(()) +} + +#[tauri::command] +fn collect_network_infos() -> Result { + let mut ret = BTreeMap::new(); + for instance in INSTANCE_MAP.iter() { + if let Some(info) = instance.get_running_info() { + ret.insert(instance.key().clone(), info); + } + } + Ok(serde_json::to_string(&ret).map_err(|e| e.to_string())?) +} + +fn toggle_window_visibility(window: &Window) { + if window.is_visible().unwrap() { + window.hide().unwrap(); + } else { + window.show().unwrap(); + } +} + +fn check_sudo() -> bool { + let is_elevated = privilege::user::privileged(); + if !is_elevated { + let Ok(my_exe) = current_exe() else { + return true; + }; + let mut elevated_cmd = privilege::runas::Command::new(my_exe); + let _ = elevated_cmd.force_prompt(true).gui(true).run(); + } + is_elevated +} + +fn main() { + if !check_sudo() { + process::exit(0); + } + let quit = CustomMenuItem::new("quit".to_string(), "Quit"); + let hide = CustomMenuItem::new("hide".to_string(), "Show / Hide"); + let tray_menu = SystemTrayMenu::new() + .add_item(quit) + .add_native_item(SystemTrayMenuItem::Separator) + .add_item(hide); + + tauri::Builder::default() + .invoke_handler(tauri::generate_handler![ + parse_network_config, + run_network_instance, + retain_network_instance, + collect_network_infos + ]) + .system_tray(SystemTray::new().with_menu(tray_menu)) + .on_system_tray_event(|app, event| match event { + SystemTrayEvent::DoubleClick { + position: _, + size: _, + .. + } => { + let window = app.get_window("main").unwrap(); + toggle_window_visibility(&window); + } + SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { + "quit" => { + std::process::exit(0); + } + "hide" => { + let window = app.get_window("main").unwrap(); + toggle_window_visibility(&window); + } + _ => {} + }, + _ => {} + }) + .on_window_event(|event| match event.event() { + tauri::WindowEvent::CloseRequested { api, .. } => { + event.window().hide().unwrap(); + api.prevent_close(); + } + _ => {} + }) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/easytier-gui/src-tauri/tauri.conf.json b/easytier-gui/src-tauri/tauri.conf.json new file mode 100644 index 0000000..ff7f2db --- /dev/null +++ b/easytier-gui/src-tauri/tauri.conf.json @@ -0,0 +1,49 @@ +{ + "build": { + "beforeDevCommand": "yarn dev", + "beforeBuildCommand": "yarn build", + "devPath": "http://localhost:1420", + "distDir": "../dist" + }, + "package": { + "productName": "easytier-gui", + "version": "0.0.0" + }, + "tauri": { + "allowlist": { + "all": false, + "shell": { + "all": false, + "open": true + }, + "process": { + "exit": true + } + }, + "windows": [ + { + "title": "easytier-gui", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + }, + "systemTray": { + "iconPath": "icons/icon.ico", + "iconAsTemplate": true + }, + "bundle": { + "active": true, + "targets": "all", + "identifier": "com.kkrainbow.easyiter-client", + "icon": [ + "icons/icon.png", + "icons/icon.rgba", + "icons/icon.icns", + "icons/icon.ico" + ] + } + } +} \ No newline at end of file diff --git a/easytier-gui/src-tauri/tauri.windows.conf.json b/easytier-gui/src-tauri/tauri.windows.conf.json new file mode 100644 index 0000000..ebd7caa --- /dev/null +++ b/easytier-gui/src-tauri/tauri.windows.conf.json @@ -0,0 +1,16 @@ +{ + "tauri": { + "bundle": { + "externalBin": [], + "resources": [ + "./wintun.dll", + "./Packet.dll" + ], + "windows": { + "webviewInstallMode": { + "type": "embedBootstrapper" + } + } + } + } +} \ No newline at end of file diff --git a/easytier-gui/src-tauri/wintun.dll b/easytier-gui/src-tauri/wintun.dll new file mode 100644 index 0000000000000000000000000000000000000000..aee04e77bfbd6601adbcd5a46435f059e31cf6e4 GIT binary patch literal 427552 zcmd3vdwf*Y)%PctfdCmMDx+90j5;b7tEuqxwH50PP-`GS0th1BP^{v$Cq`^g3lWuhzrTIXB*FH1Kkw)9pBF#o z?6WUxuf6u#Yp=ET+GnaSTI?(G`FzFvpUe4t%XsQvmHGRB{}V3o`34SIG0^vTzl}#M zD@blUV*Jc2=Z0s`x%P@Vmt7s6df7GCT$>7CK0Q3A?watG*MwtZF9=_K?X>A91Oojd z9_R-@Dt}UsK>l0%cG zIemSFzA4dsBd@L3u;-!X0^59Ck?(x~KRB$&cZM>T6#1IJq=P9%zQKp^KCzE4T(0~+ zzR&5R>Z?NEc-8wK{*{j@^bI$NdKIb)eVbu~)ZsHv^HZcZA5EV^NMm=0 z?$z-5!eDd4oN1S(F7x?r=^`7LzCAp@%d^+NDoRdptNErJMnM%Fm-38=6MOzuG3*m& zyA{nC8LRJ5%FF+)9`LTDqR%&2UDZ=A+>-xRuX*zMvFP}y&-WF@zQvTQe$Bttt2$xM z+&NPzGBjR7IrQ|M|DWnjpLH!2MRU>KSHkl=z4ZL6^7%&fy#4=`veF+9wd_^tFA7q9 zE1IqJ>Y*)`Z4Iv25?!XD`(e6jsj_Phggp}K2}e5yB&db!XT zwYJ-m*;vHNPAtiVF7=8}qS&&N5zC^eD!RN3U{)p;2`95niudUl?|QpOrbC1KLE6vnyqZ$=e#Df{@ueV493^TE7lnZyRRwo*;`FVxzPF( z3Vlu6f{jnYD2&g_j*pDD7(fkpo>b@qo0{|&ed_wB7evMvWTRiE3hlKS|MTY-`O;tX zx7X6kJ@gX%S#!pJH<`K6F8~;QZrUxN*3_Ij9jxxA0^`kvuA#`HXY!BCg{sUOWbn@r zf_97guF8dcbj!>gnhPE7)=<8c3t7C)h-F3&SM6+|{T%hSO;woJa{4)FwVNJFY5L?s zhO2$pgRN*zW*(0;YyKhe1s`uN^2-h+Aiq!ZRA#Lv9e~aT;_EC z*`#S>hQ%;@`??5}i))y8Gtm?bRY7za&0Q7{5o!(mtyjCuBw1hsVWesXZ{5M`i;mY5 zBdM~ozj7I*IO^qEm2JWF8tN^ES}&Se+2B0!R~WuIb%xd2oa5h&;E))DACVeeXl1Jk z>i%VA4;`&;@-WgZ6qH7-%Gc*CkLK34zq^-4u@NKhJGID{I!dFcP1>z=Q1uU{BOCYu z59iIx84Q)5pfY?73Jh_+gpLS1pO*!GUfe;p#*HX9gRL}!O&wt9Z`rRcSG8Q|46+4p zI`AwzaCAbv(D(R4X0>BBojz|VqwRG3Jc@LNhuc*Z?D|5CQ`Ll9BKQ6DD35orq|wO4#km?BfwlUqUN&k7e(4+L)ar zyjY&JH;7AzQVOHBT5x4%RwQiMCC;?hG?~jakwI%EaEufdf5DN&DUE%nfbvid{+ihSD|6?&al7{g$Y`Hy7IdLy3k?iH5oZ zC<-ozV^4>Kc31m))|Mp2!;xn7nQ2+4_z_d0kB`eI# zAgZ1ad+=DzBbj-kjYqIC$X`~+iudV%oio=gh;^FDY?HPwiYB)j{_CWM^U@DAp>_L# zR>=pvKS2GM-Pv)S5tgh;ce}foAt0fv3X^u%jfZ)lmR|^1;NAM3#^W_S5jLsV63dP% zb0$qF@Bs_(-_d4JQ*Cdow#SrM>6O-sHkvvgy)OPkq&+)SGqoU66K~p8cM3vEgM_+? z?1h%upyJu{3N3q6E_BqDMmRM+frQP4{!TlHm_o6Ls`M`28Ogw9AoTjzhQOCm<^dF6 z!;(ls|7yg#Se$M&f}?2wcyWI?7kX-@5x<(Mh#>vcg)|UI!3&$UG^SV*@LOgC7sl(O z%Sw5P(R8Mjt-e<S=pOqrwf&jfc7NJNdEd9AK0O_6Q{@?MY_u>Jnr~1GHeLdFI8eZQ6ZA5#Se6IHqB4?e z`N80v3(e{o)=FXe%$J68mHXB`($uYT>y|S8AE@qP>h=N{HkA(PsZ^%reAT{{M5$b8 z*9=3ZY1%9lGta)vBNw^@3&JRE>~GqTN zV>Jmg1Mf88CG0i9A&7?s`TaCoEbW8kv;oc};X!ce!5ZmjkP0?_MlBlW_v8Q2o(1^L z#?MbT%g<6NAUXtkD;?I-=B)f%rrBgZgej4AWj1v z(*#ZsVYE7hKCO5ERjrF)SeGGsvFo8;Ynff5nii)e*%Do@zove5c8t}VQEE*aL&YZM zw|ytQRofp_Y-`$<8n7HG%xo-(6#5eBuXAJbqG6G)N7sZrYLR zXP|#|c@cC0DPEt?g?1cS=o6x7+vkHky3m(r6+z6k6qOX}lRj$$>2C&o&Aa#h8#&q+ZbXUQ=V2qboM_Kf# zg7)$3oN;@tsSII0#qd~uJ0P8Vu*f>JcE*zBtl-V=VurAhTw!Bxa^hj1uLHRsn)W!Y z5{16)&gG`wzstTYP{K&tl_Zk3yMHI`XCh1CAgSle%=5uW8&8Y(&E|P;q+|d)Zm!Os z9aGTJUz^|dBcxVhZW&t8?Pq5z`hp zfip$0460H417svK4@M+>T?0oVJ^GAP6f1LYL@PIL@3ydfwu<#&?pkOnWn}^TA8dQM zv4ZqEOP$Yl<&P0|dGlxTWrjm1h;<0ut<)p62xQ4xJjf3}N)h)J)~ zm{-l<*|1s!Gg`8G9&Tmhi`2U@imJ54JyCP}Uqm=rLZBKp{Y4EnscRche%aTY|2CKuz9NjNqsOD!rcUc+Onvsc>IO>RV5WaM!RUn3F#VU1w-_`W`*RE{45AB+ zJ}KP+s{OwhSZ_?$WTqZ-x3g{oYnz*WFHVdl5>25WtCuyOxxMT_8QRA{Fb0URUK&2G zlB~D=m*J8#%6Vf1RofT+8-r#D;3dnty`DXrQuz!e*a9r z70vB`0t9oO%sdmB4M^w75n{0}=C3pwrU2wkchI*9LK6^ZKCF9C5B?j3Io;!Nb^_sWSlMzmme6x1UM|WGWD>FhHq?yQ zVhM|AX6?OGgKcJjbo@sTl_c90m0@?gnR+erZI`Rb!;$%F+OS$YBFi*yX379{ z4uVb<&8_|~aq#G0FFUkq!bCakX1db#9>WLz+#z}CT2F0f_$lf_E8Un&BZPB`F}2I$ zN{<{o0;s9}&bU2feI)Qqzme0~&<9JQzq~<)c7e0CA6D!#!WbpV2xA!5Gd~tFXnC<@ zF3K)zrm-_X9W@%L&qS61M$-40$YN61n37f(xlS>O*UKe$Yr@npB&OHZub+WDt(tyO@Vr{c&cyBkw#{`Q0AR^Sw~~DA#VMS z64`pX(ac0IBrlIETO{P{y_iSYHLIm4ODaO6$8Ac6oqRqMDWDbHZ& z)0b5@FyIx4{gaw*0a#DoPeH@E?Vs>QYkNy?`8OLjHl&Q78Bm(a_;@=x2s20*$l4!q6CB76;~P?r58){)V{ zHXSU=2j<}^!|&lriXW3FH1xFWpk=EG&Z<5x-7R};iC&MgvKN*)ah3?|EhTBiqo8va z=%@yM&>zS@b+y~Ufu;jb6dmk!pr>Vn*m4cMqPa8pXy7iqT6OzNVa*1v$2gROY(LdY z<9x}lO$`+P%LUQ#C^q*PviTbadrL1CnVlZ_EMOq5{}wj1>daM6^qIx5Nz(oZ@5^>v zFI$)?W^*hY8n9*#nsnY0Kt<56#v=8L849LGqcoNIXv#10=^h?8P_`yJ|7 zOVl85;gDHM%Kl8ObB-3(`4;P~O|_WbsxXNeOoJT%E$ZlSQ{RE>}g!6Ibckl$#$)*nO=^JREfc67uknoSEv2y6`!SoOk?2 z(+jXnjnntDifx{iC{9LI`S?K$VivB!9E_84IL5N)?w<>d05cSbl9>Ho`}2UqPCC$? zvcG99$_)8687yLaOtU3%UbvWXA#oUd^kUb;rx_Y-+@GAzG<-Y-!k|JNexS!?jgcCY z^AX&Wv{#w)i52xCUh7JF%sEx9i1@CWVB;b~X)G9|irLp!fS%o%?m9WxbR1__&?{hNcQMGi{taI`EXD;t=@_+79p`kGH=<)uPj28fjrM$y z#@r!4Pq9S;)``TL7j4)pU^o6Sz4zq0>8O_s;x-x?^({Lw>7ngcBr{H*BR^V&(S1$%?}2qgE!rUl@FN z4L|fj;~8+wh zJ{t%M$d)GL+YIsf4Mwc0`rbdj|Roh#`hI~IvI+f)aj zj81_x-Nn=&a`V3t&p7=hJ?I;_FXcirF6cFY%k+X%H+8x@gv;C^oDTS0C~05^{&k{I z^EQaC{asmMo}1clpx%u1S-!gCbD_iB>T7#fU*}cVbNSm?8tn;MXy2-`bQsZ%aqszy z+9iyfeQZFwy&!df&TR*_MAP$23hM?%4HV1nAIqFmV&#rr3gBU9@6zJwPFX+(yQ2&i7)a5UvNLv zflS@)7XDz!I=j$^nblSV1;n?2=*dSbQ@tb;zxO#{(&H->FwRW8 z+3czQb-w|Fk_f)46_d$q+VC)I`??Qd+pX=(s3y~Q zieWxBM}wTJVA5_lwr$pbk#+*!5RTA5siERAh)Nf6LI|3guiqbby&u4=h>i~gx?_Sl zI9PEHb_VA;WpaO}4mUeDI6NgBKBZ#E5j1Q!4LkNj1*yf8S4P(1=mho#=QjqHAWcD^ z<&4|_&4o@Byltue+Q=r6MvrFu)%1zaya~0d!xAYsOcYBz6RFiCH>?(i^geMj>pvXL zlqKwyIvj!%2V3^JCEotQGIdWpx|#*%+%hRZlilw9b7s)oL>#4jyTTljAiE)p-LE1<-$j47{uTU{f4A9wKsTG?F$*m=lgK@~tRghN8>lZ6Pj!%JhM= zQ(c@C%UUJUhQcaE;{5Jc6lX(0fJox(evkb*TaC#1dLTR2gFrIlM9L4Miq+b}!p?CX zAd(|YR!GBf#?h*>rLH79iKQ)d=hMGBA@BR;c}ORJA4;i)@C^A zF|Wo{({fjJ)BC9b(O_9|1O_kf2r+mz*~5u!F$Yt@MG@*nmmN!6V7d0ZYJ5J{bkyiK zVBSw=ue0bRhV!}>d}M4)sn}AnE*CnNk%^gSiXaEVl&k&(%`agL@oWmsY!?R~BSwDx zT_!IZIFFqwbu2ct2Aq)jwaK}esv6RXOfzv7fMYgpFs*)XT7{P23<)-N(u8GxE^4`} z_H&#^7PEej0zp_|i|83~F_Ww%bT-aRhUu!6a*YtV;R%vKfQi{JWa6k7xahov8L!fj zD*A(=sxrgL%=Cx&e`#x6{!AaqHvZoXHF3vIA5XfrH9p0a7t>sMvDi$(_0T%x2PGEs z;qMw2{H@{SWMt+F%{%r-saekwC&!Cw$GX*Sq8gK1+qCX_xnh5$qBq|$5T;TT)8Rk5 zK*D|%|3}j7rbn(=1RF@HY9Ygxs`XosTco(7>>ukwSJfC7K4KSJ=$Jx@fJe49ka1G%i;T>8ZdqRnmQa%7!m^#(7Dhmf>lgisnBb9Y09Mz zW$HC)5{RK+2yn3r*fxM!C>K|YQ9^&#X;S7G=KG~zFsW`UB(*n-4zs;Q1(|p!h2kcX zWw!qbGBZu}Ld0%iZo2qi^4yy`4&$eX*)L|tGQX9blFa;8ORm+#gzUQ?#YapV zvY(ss!0G=jx-m;&xtT1me4htcIy_pNI{7OsbD=g(TC?Hfk$*INJn?PAg@1?FG_`p? zKDK{1A5WvAGuf?%)4Vqy->0HMZqY9(!pd=)I9$-;KZ(KSLP6koQl<(XlC+6&l+MGd zSSL36%QF4yA?haDx)kC9Dnzhuaj3k|0w+izdR0Sr$04SIsB_LhMp zcS@B9$zMQYtr5ZM0rDBh0Hn0%@a8%LN%Z7w=XgYdG|?D~;GsV#4Q!5Sa?7L%24h_~ zU^o9ASJ)4r7_>rkd@)c|Yu5Jg6OGiP&p{M@2n3DQ*+>(_YJ^6~?2I02MO%v_9=+Uy zNiF?mODNV6Tk|R~-UWt}rM-r#NqCWBtM%*>hUIJDVg|R#xfr{|-2g%b%(HgCFWxkL znl+I`mA&=R(H{Lw8-|?ZX-A1+{8Fsk{9pVwhx4dq`*+e>6ti0&~NUeOYV9 zt=@4m_%6dnC(6R90beis5M$JcXy?+*$ldd)<$TW!sflgt5%pqUSMHq>9uG(qi&u{7 zbxOFk4~q*GOi#-m=sBm(*C51Qu5)T)nez~w1oh;cIt;zn>DuN_N-lIJo##TEP5Z$0 z!0z^bE%0FLS<&ob-5Co$ddina7Ik~3-e&T|KJ%!AHf7n;l5Di3i5%5gb{%RJZk%=l zo#M&-9H)REnE)$rF=I-E6~ zy{^Dh(6qDOfg0d!d;?x|+V?Q$Q2#=(?xohruhk4p{3wi!)#e>}{F{2$`ZKXmXbD=S z7<@25Ird=JI-GXxX@HM7D)c=!0(t0UY!+N#S(@TBBQ`rHNpG$r`3^e6Z|K6_I7F~LKf&fg7q*`J ztktp9%6pM3FgdkWH>lDs*uJBWck;)Al5uXr6h;ExB$8B<*(UzhA-&vp=xB^0rH8SY~Y!bCoMy*=F2Re4Xd?Iqxt2FJ%+u)Cjn^n-HXFE=htq#JKC1J?dQ-&A zVZ%YNOjsKa&j?b3nZ(_Po0NTh&L}Ypfvoo0?779nJR;9bR$XDmHaSNDB)MKLoc}yV zGp&fV^y(@(;swa~NAvb)!^ffr$nWua$h(3E`It1}qH+6QQG17p!;WXC7Z{~(Mz=o$ zzS()0CuN8Q4Cg|l3N#a2ErqGS3usK@R$rJg*smDz`opMU_GB(pLQT(0el!({pTuDT zz$F00O2omzF8ly_iU!b=putqB8~>*_`-7;xy8Tg_qFFw67xnzl^4H4V9%-aMj*%K8 z^(68~Ni22enOZ4Bvs`6}@V!~CG9+P>KTJyeL|C}WkimE;7{~0<#o$o2h-e5q>`nwSl3S|Q(?V&2~;<@7yOizwK1 zKgb%1LP4dP?xm?BCHrwMlQS`v#GjLZNH-kXi%2(-CnD*YTVv*`{c<_Ymk$CYW2+G} z880(0=xxQdnZA>Wn$U9egx&B zhZMmZF}qm-8h3(@>rxFiz6mj;hZ^-5AMfVns0E-rA3l{M^!f{Oq4B1E;Op=7l4m~h zBrEl7*vlT%T-QfnI_`*RjzbPpY1DRS(-vegn#Bo%*w+42I<$vW?7%lQJvgME&U`u8 zV_rF=&xZQ_mXTfAHWYeTMLUB}B}bfK6>V}}Mbkp!mctjpCVFIA1E0`?kwhyP8ds&zy#HBEcP{kPuMG&f0@-ztZL;zOsUa`ww+y1HgXP+9bW9ZEy zy1?f`7ZHMFZv_*x3D&@}RrkZP=Q70hW7WnEymqk1qwFJq^VE%FrOqRU!tAt{*oILi z(o&knUqDuxM*DW~thQf(Lr*@LWK0C1*NQEirYpE($4ImG;zCSapQ5fe(;9CN`{`F^ ze6@7n9Y`^WJdICJEvcJCJ~nM%$3j^%Cv(Q5^-%@kBLK^VZg#sMYQgPde{ws1sUV&z zdv*yB?l$X*`j)UiufXZt4EBFxnbZ1s7ll_i-t0zU>z6JHdKxMA0tt;KrveB0$5Zl; zM%|m`11bY=J#|Q^8DI}@s%3fGYdbFd8>FVcXWXXKdpDiwH8sz*9mn^g`v)0A_km!} z0xfh-0d;SIo=z(*(8nWfW`#W*X*SQ>BU)ctu(eU14Xd>PIcv#B*1K!8VqN<4{p%IVkG@K zmW}OyiNE5B6k;B6+au$rI9tz`jMwou6FQ|kU_b|@c^N+)H&Ty`huve9&|KAx+}`_Z z*y)HD-1{i|6(hLWyCt|kAQmKPuYu#fB;}k}4*yhlOIa%~WhD!fJyNztb7a{Yl|5eR zTkbpkO`(t93ynRS(C%_|CD=`0zzSWKJt=IVUpDQ815C^e z5T)15=ZWtrppBr8szKeqvFw||==;3FSYr+pV|noc=Li~%rKd$CAAM|*2IZ;)UPKFE zrAb+e4(-PXa-pY3NSV1kqWKduoO>2eS1Xc5Q#IiN#n(IpKP{_;I?h!bp;*JVBdLGU z{TdTjENDdpDw>HMd^`Wo5q9020D{g4|Pd zqQ$Eh>-czNI4{OO5VQZ03tc5V0csgPxlR(;zXLbk3Pm3RrXm4a@%b{{+!6|Felpd! zA(4It=oy*nJHVlf%5tL5$lSO{m@1&xoLJ&*G3Q8`8}GC-H{Qd2wBbe^sfTUq;cTym zi|9cLnT3qL{1&m?23WvETy%y&CE1ymJ#b7S7w^F@`8)B*)xuwJI#<`VlMQ( z-358o4h_8rirbR&1!_WiWN_nPQ?7mTA?Dm#>4dG7pOnXfPqndoI`?j1{&Ve@v8&p5 zy{zu+ta>HnS(r5JS@Ya$1#|rbiFJJMx?(PE9UE=v@>O+?cJmH4c?aO~(1EW{DoCPo zT{Jjqt<=+N;o(FYr@L`z5-oY=0WeM0-`Cxh2J3-68_$j{s=$;B%#%=uWD4ZcbEx40 z&Z|zePNf`2b`fe2RYMhR#0ej zs(-GvA*a~vIWJ>$1!-M^7?3|^G0iy@t@21<8B@Zh&|2AEF2cp^m7*IxO{c0ib;vYL z4^iaVa8TMpyjeWx3v22o)RUf~bZe7J%bELJ=x)MrymdIs>w6FYiHcf}x`)fEiWSSf zONI?4Of+vBN>nbi$!$pR(QA-vvBX!Uhcu0|(iJOTnKy9Gr?JYGd41<}Se2Wu`_Qs~ zrK#j*n&H-5tKrx7$wsr(j6s4mfTAlWyUz6Ai8ydB3mHWSX?d64>F@=0xSlGkZkXm+ zILlm_^r6Q^mzD79JcCQdH*TsPTMHUiNo>RuOFfy#x>W1Pmo z$-qHY_OQR1YUn8WYJ!e`E?@0(Q*GoUrW!86d^L3lALOf5QZ4wDf63SAi_>o5)VOkG z>Zs+@2p%RCY;qmjr!)YCKJPb=kuByCIuu74^L}-k=KWQsNQgSuum{0X^R(4vvqH+5 z}B*W6)3b0Utky2!k}g?0Ql&5-nw5lDRO5VKiiKZldiNSZo%=5>;$ z?Yuan&XHDPEKifsZF~0COExZKZav%6L>)a0avUZJg3(N-{hX29x>gqDDf7SNl+ja6 zlAN;|Z*$;sQqB{{qL@TI#U#E2N@?LQX^lU~T&oA}t34!@H&gd;E;NKrU=t}Lc&|NW z?Ey0g@S& zuYjPjD|w6AyX6a#zQ9%?ZAsdK)E%Qy*jb~Jpw2A76i1zr>N3gGX9!o+HGh1Q%a$C& zME>IMAZ#?6)_*cvvOSv?A1&SEeQmN^sS~x|bnd|Bbw)yY&+L&_a}C}-**R-hBgwb6 zuY;M)!XhS+R@zmvf&JMPc{e>nnD1pq}Pb2hBhQCr%a-oM#G;3MT*{Ot@?CN)y1lMh+FlS;!sqW&7y<-xe3rD zxfnqM%Cp0L1j)x=;p&Dq>^z%cFhaaIzpaNufu+x|NeY zjP08kzH@@O)I~*RP&0U#Q8rUxc(WA%Ch_VH@vb|2VolAxRP(18O?Gra`wCGS6t%>w zd|_TBJlTmCgPP0@#S?p5F?e!5OTPAC(_b0=AzL}%3Vp!R%UT6ab`@JF;g%n0v1PMM z(Ghc@Wz?h2PTcQYvqV_hoz65W!cUM-{)SUsNQaoMA<#)h=K(6<62PozU=a3JLH((0 zO4iS5E##^9#gR@7uxtwO&CG5uI+C7&j3A{H7`>jN}Zuz zjoY_I_%ZY!p2U;bLSFyF6?o&wAf5*sx85DlUpu-7G@Bd-gkodwan9$f2;Bpj&FPaD z6~mVBAI9METf9B#DTGbl5(XOznEqOY3_gIb2(lTl$i#c z^M2$ek@9Jh?!<_ynwS@j1m`e7?+vR({%*H?o*jwTG;=e>7#aQpKkA;F8k6$|e)(Kz zA+T3S%yA$EN3p$ylG(A`1@=$Sam?`ur}n#`Gg5Fo8HyQSOmol0<}zOTZ>UT=WM}qo zO=Bl`T!+-fJxXOUT$LynUV(wY0NLZT&YGI%pTc2MdGVYRM30d^>drmtMMw2xF``L@ z7g*7<%K78H;7DRd=J?Ty92XYi+FRO1r`x;ZVxK(GkVK>I`SgLI3Gr)OtTG_|CGFkR zC|6E4@Rna^HcJI9J+g}zU$9A)(z^3d)* zWQ5d(Gaw5)-Mdti+8uaszNYv(^^oyjK@T$cwd0Id?SXFX$3-BPJNz0LZBUv{1Fzx_ zRq=yo4cMDh(GCrv4wGd8n-+;r)x~Fy>EdL!i(u3BROPz?hTO#zn&NODs+-DktTxRt74-_%f>0n?)k0I)X zJ2m3tgn{cp8BB+Fh)&NwBNXwqqAjHP7{>}@`wO*6p!SD_yrxce^=s94z0^ZZBkJtN zceC7$W{yz3Hz0jwM{o_)?$zeudpD-rzW6rngYWMaRUD%zJCIj zeehL%7vK3$YmneOrU%~?$^R#O*;+~@?#i@`2XnGOc((#Bk=gyCcBj3?dGr@dPi4!T ziPd(WWcJ*GWvnV+f>>>oGu)O#=?ilQPQ#DX!ntF$^qsbHP%=4{|pC;^6y-P+{ zy0!N=wLPa{$g8bqB6Ft4$`{Kgk&=Sv#cW3}#gIVZ4Foi)!^L%>@3`PvI3w+LZm;E& zZt7f5*2xp*41+BM4j(<&n_jIqnQwRSF&fWBeYacv7OfBFPoLt_iI6MO{ojATTdY+v zRm&t%rBAZPb@hbPom0*OI9_Ms2cYEl!KnK@s1eY4YMv%aBZggfk5SyrK>;CG3v_1~ zwP7PMD2Bq9bAQD&4ZO=aYWDy?c+VZ6o(+3HVtTxzp<5;2s(|5K^o71U!TuWVb-36srw;&(GdY1h zIk`qWF8Z32UQMKVZt92_HNZXM`SFh=l|z$=DKSS4>!0eL#}{aYU_!^%+(;y9!nC*l zYpCAujnwPCVYOx!f;8hoTT zX?#=6Ou`1|6<3Y?rBtK5_-PugoFHNd%|8|N!&LW92@W^k#Xm3Vh5&yIlxP?+S?!c^OY zi58jV28hVM>1E4lTd&gToe!%N^?d7F-K(ur2AAEwqS%PY+ar=s+<$WM*InjPA%7N_ zv>!zk!g}E{O;~@*bD;}~+-YpC zJA`2tcMtRC$Cx=OC+$!3NB43DgC-$ei2AS)&WbQNWQOu$f9ajC$AV9CqAP1;YAaan zfSp`@oG;NiZzKG2Fu-*M>DI#Zm*F`tx>`FYcVO;fd;u{^GWi8nlFM|3q*CW_pe&qF z>pvK)wue{WG7}1miwDX%baaM+cE|o^nRW!ci*2oVlq8#Oj~Kd2{v8E0H)61tvF+`5 z?)ox&WzRhlB9LPCr%8@d?Z9M?S-rTwrO<|WIJvBhj!-wc`!0uyAi*0~X<|a3{g=BS zhW*vMJ$4dp@bB`MkE(H~exyONozp_(_+LtWxCoXTIh#HCY9L9{m5U^=>bAtu47~d^ z&xF^u0N*(Q;Cwe>Dlpg~GS|+RNY4DGp5{i8{mF+?47a~Y?tIj= z9%Oi~cv$9<#ndo6&8=Adp8M=vK*$jJr3++9FCdP9{K*Bfiu{CKU5*`&u##s?GEYlc z>l&_Pzs<(`5)UCbtU#^h?m`N?T$Z|69&)o=xc8J5SJoY^gX}Q!zx(ri>6JD36@&!9bD`fG zbiBd*_Zwy~F8*2f#T{9_`@&GV$HaXP+HybD6a{YD-D^M%IJ`LFx9qgAv1^L$qRP#4 z+wF6!D%aQbeYyx%>^O1Qi@CO=HmCO#&l#datfI$E-SbKt(8YYddHu7|zUl2>Rj#`3 zJ5Ot~HZpjcK{^+D{&hqBBchps0L_iIirVZVz_n%0tuhrWsc2=-E_26+md(k8&Hx!H zTDD7XW50A0oqgQUy&cdE=PE$6KE2TL=^E#)2D7oTp7=d`k|*u)fY##8PUxF{_ba=^?pxV5_x%`m%cH~E((T0}Mdgdv9rCn$v?DG$PB38L z|JrIuSB{4*xMIf;tLQfZl)0*u?-+u-2=mYJE?DFN9U2(`h=W@l0Ba& z=;03!b+}@Wi~BEV-*APth=u7J%JfkQJFOn=3rc&@bJZw22|d@%Kgcdhuk4$C=c`;> z(TlLh=(1eqg3`LT;3cn>Z53CpPaW-LWNHZJbc?D=*hm7FZ7%^l=UcA{@pA|FVgZlp zhl7$~^X@-5Uw?!btrx%V^L@HvTze;xEz?N;VYn3+&i+|uaD-#OVc0YJ*+9KK#MY=TSgS(2@EzK&W0JwE<7@6 zf7eQ{D$#M+@aVEIBTm?FDLTZm+^=I=xivHRqyU=?S0boYWi{Ym$PEdmmr4tPRPz(r zvkMcIYlAocnj9&5m22mmw@gAjv77T{-J}jS-E4H0z^Ko>%~9seKc=Iu;TKU!-%XDh(elOo? z!0mM7r~j$bN9f7xv^3x8BVf%|ok)MUH<2wq({$HH9^G*W`#zucN>+X_cSznpFgo~D zY`Skoy6fV)A189F6S-E3=d@Sss4n7C#>*&KZoqE7J_~?PdwzyLBY5+VOjlbWR`BK~ zYJL-UF3^HXV833t2OGywF;BFAzEa?8KZ}ft9bj-|u&E#N@VxBtH}cSx=NRpK^@p7e zysbJ9V}AaPRM>Lr?*5(siByer<&o+gzL99=r_nUnmsGz}UT)3ui-kd^BvH8|c=LR? zCCR46emuGmg3X#Pe-7g}?KS>6XMc0-6DZ4$dl-E72cLad+rzsbUWfXv7Yg+--4RJEVX z5;m*tfPAYb|3j-6l=qDRoUWGHxrNEf&w@Aqg$l{aU2|gJT)Ls8YUvN5uRg1MLL(86jzlM9?){Id)(^y%BC z7=8L&lzsdidz?3Zhn=D@mR#uV7uA_@qLiv%JMhFOy%d>c6l-JC6OF7$UqMK(uI*N@ z^!a7&Pq->)MFxBJb-8_gnXWSJwEv#|XF+OG6c;+t0r~aLCED1qmg=JB>dLkA&a~{a zOJsT0*c)PuhEriFpxHrq?gr*U_27gwJ&p0!JXBCO^hKv=t6Ff{P+R%-oX3}$Js3T! zR&zK-yMeJ7mr1MX_z;xeHTp=IPQ#XzXaf8XZiX5a<~q}2a*$qhAB!%ll3X-yG%Twc zBP8+6>}BMVygLBs$`5dfDQ6ow5AhNGT|BMy_PtiRd9O86P=aY)<(ZLrrdVKHgAJ!$ z4SQI*Pb-{($_w^};_oQ1X3%X-bU6%Z${0TfCp2|7cPUi5DA=S$%ZFAYdXZyLHrCs_dk6vk`D9TYa&x%vOhG ztuG=izWFqEb=dV5{Xrun{Cns9n0{UDO9Y|Sd;(wJ>*fA){(iOPeq+eWt(*}b z5jn4JS2DX~f8Z%(zOkLR)Wr}HcW`ED9R2MZ<)1Q+{w8UVy?m?( zUaUz9T_H@M^%Y>^Uf8>uHo4Gm_-l75J_W~xdU8p*jBJkt#Fz7eXc}P7B}qr^&lNGF zxzMqzJ4<3pGjn#!!kwbGDejxx zYP{9zjqiI`;ph=htr|kMTi*H7p%lXO7)m;jXuU1^;`xUb$p;Mr!Z++h;+GCJ~Ogv4Ku{I%b${sm$b&~XR0!yk86em z`o-({BETZOR|zxja!liTjBwPhrO%r$ros~bHy?rEix0~P1%9SL*m+-q$b}X??+OY7 zF|a>V>`GFYu#WFhOq(<3e+Qj zqCk|E$?UJ^tfBgyxVgqIyyi*u^`I*974Cq3IQ$F7u6ukvm;nVrk_PhSVOy4xqd zRmg+(jFV4y2rma=K6!@)H~-gK25fimeR&%++UKIF*^}H4K#u9(eK?=Ggu(oVhDdH4 zKCsHekuE(&yk|*}^LV6_1V>Z{eJZ+PMK#y)SbdeC>=3swDsI_b50;naL7Dr16() z0{rDziN6<%4>!X@{eQ<8zE4E%jNrAV+O?+IwWiv&rkdoI&6S9x?fMLpAY}MGy?SPc zFSi{eHunVy>F=cPRr*>ty-4Y)Zu&u`FLcw3l|I)^FHrg{H@!sZ|NUSt`7MK)*8f`$ z<^Un#4dy9=OTGm{`lg`s5{&n)sQXi+fHA$_5cKK$Dv z{VyTpAstnE#a_c6AACFH-gp4y8cMz;MVEX#B35a(yMsJi>5JX`QA*di>9>?Fa;3rPN)LDQPgVMOH+_=Q;a>GmbzvT<{1P{RmvH{d z#d$q(BJGuK`WEHC@22M{z12-mRQh>0Jxb|jH$6}=|M!z&-^XNZ!Jqi81iLm;;g|+ytsH=FTZ-GRKkoc$kpxDy zEdQs;@ijKR*_a~FD-e_FA(LRAx`F5(mdh=J^*4j~cQghEyn|JC3!Y0<{ z-e%J)zk*>Myz#hQifK)qFP)Er!P%54lwmyAy7`*o?ybqAT5y@=?3G7tII6X1rIl+- z6p_DEQS5Da!$|6UjGsbPNbJ&(!8PsXW4{+us4)qmbi zS`4QQ;E^oCqE)m@G`*~m>H$9bXD{v~g&7rZ+L9U(4L(&hD3P@W$AeGR_My|bJ^rN9 zI2ZK~x1*)8%FT27+v7@#Rw;FOGzS(dhsG;6%z0Oi97VuzvQ(yny1^}(gY0M|Q$#bX zXl=(k==he-OlrYyHl8x`LuPw8Hq6$9Ejn~YNi4fzoF%P&S$4jTWP0S!+Te-0WBJyE zMNWOIe<2xSgSx)vmyb3chw@m(WI8`Y7$}{zU%+HF(;H-ZVH9@`zHy2q{z`v5bhrO6 ztKF55y2-JT?%o3Us?~6*pWe7v&xCaxY8Jrf%GUzmR)TmX@E#d;AEy29^32th*@3rA zOG3+>Qby#Q=E5W##=q2*1Rhn*&?Lbe0N4MTSN((Qd;Msf=kMew(YVnjbbmL~{us1p z^NVcyMY|K&M(neT;q2oV=&IRuB^GmIpI4eJ`qVzJELpTZW?wVNDq3%)r*Fs4!fE7m zNAV`<>771%;-MB7VC_Dc3FWQvrJ^riM_q>9+sxMwH{%IC4g-2Ab;_L=A+COqv$`Df zn?5LL`}^RI>jj{Q^JpAgUd>_M zqu$2cd859md(?k?Mm6J3d%$4Tnz*$OLZXga;>0Tb*%bPBSzwyEal85;2ztU&<1!_# z+Vry3Tx0(wgBWq?pw#grEkO zt7Tu}Br=Capw#gi38Oef9AiepPVbH_bBRN|1<;+xq|NX>#w<}1{AeSgb#to{_6@jT z_~AzPyI=c8^W@#QJ?F<(W#C5;sjkdgxw34=ZZ5yn6|`6@*Oj%8qCfBZ(_uubc;i|# zt;p|7N#Iw)H;tfN(XZIooZnK$Q~A@4WZIlTIm7B}CT1gy9(ZFlJ1rJH zps>Q(5LT{X=(5Q1xg)gv^J9JGR5TR32T8EkqtdxZKJND&X~Z@VgUrG3Ez`74|2|UuCw)jG4BlyM&7C zx_W_SOMJZYLHZ;sJuNbvGMr~}5#YpcGoK^i;98ke^fD9|slXD?W599kAL^J-KDjZo z`Q8pO#gC~seL107T~0BV#QJ&tjp*rbruv)G(;v6=P1s`Z{@z#y@3p3Lg$o`vJ$C=p zreQnnE!t4IzLOfNKL_$#$llkrsXnyD*}@jr;ddV35qwg7JCxY*&3d*6L6T^C?!}we z!D31`zQo(t!zNxo%r`_h*x>r}C>CWS?%p;UI_uCDZ`-;E)~tG}AU$&DS{NB_MAa<%T_nmISLMR_{kujQ>SCS4-PiCo#h zV=7rQi8H1umIa3%maee^2weGFqV zxK?bby6pw$dQ!W#9P`jdNyaUxW+N!mUGBS9I>vCa{Rg=nD;fmXA$4-0)lV6p zp+B7~sza6XdOV?5kE!E8`R`&9p!dtx7QmV19fR_9i6a4oi(W^cift-&<89|N8&&yG z+a7*4s$jzIl481(MN;Q?jxs}P<@iYqqWCt$1kC?rb61mjU*-KKIp4H58WC&3U;Y>p z>*#Dfqt9iyt#-oywW_p(=~R z>(%T=+rw4`>56!nRk6}qj!MTrpdZCcMNd~&Fs56dfBq{dfU#xm-puRI^$OY?4)HtA z$VOuH-hEs<6YmM$+e`WZ3t8a|yH#?%B;uU3%_ItGhdyY^9)Q^qh(}Df?Bb)1onc!g z9T+HWsX?yE5*P%qx=*lC)M{x#$8N0+!M(z5+t*nkd2_HcdJP=X<_!La0a<)fb4Oo( zcf;pfT40*04FY8(Y=}U)%Y~PR^$4<}vAIr-_IEzwu$q^?&Y#Kc;0OD<+dJ=3n($NbLU5m?=LGR_7t)qDG3uywz2AAHjP!b+sb zIu-|lGuE=m{~Yhmk0mIYkP#jQ201Si@WD$z;5U?Mb(Fv{oTWdp!?#)#@96nlA4BvJWd zYOsAyX|i%9R^h0UqLs2qf-6h%RW41N~c#3ZgFXJ z+v`RKS8QR-0~)v0^|fvdo!x9^k8$MbSV@lWw%1d|ja%wUojV{IGI|WWogc7xEbFg+ zo*2ON(Q(ywZQ%(D5vY=LsNrKVnfAQH_f24I7VJ&fN0bRIF@;V^?=Zmu+UE zoLiYyz4ANEOC>yha>@gGxaCjJ)=c-EK-vr5+6e0g!c6Ae}`pl?Y3j zy~BWRYEz;716HO<-3Sqr8C|ABZ&x>KS|mI>8MbA+E!ZHYux->3IZ?%Pym*#-vA|?^ zkyZyhDXH0bXYfuaf*q|+zo$;=t&00;Bw@c&NME8OX#MDr+zRH~G!3goGn98DuZ^fC zIN;jZOiy;?Odj0vw2L%;zLL5KidyLwzTW-z9K!MQamnsHi}6Fi4V~Adrq7Bt>>M-wn!1?1#qQ)66ZjHAd_Y_9{%FIe zS6(wcktvSE2doE9vHgYAWI`=V>uRiY;2=KaojbbotXyzpbDshNCPq%_Q|L<_F>(9dtuHG( z7aSv8={;s^H!RNg9bEBVzq$S616I=Z7c^=0r}>15pvN+SdXm8v{}>cZ%QZ*FRb)KP z#QQRbO>@f*nR`7o4xKv}@CBQ#mG6eF0h<*-8kS}sKCS$V9HH&MP)@WeH#?whfIpNcJ^g)va&OH^B<|h zONn06?j^M^%kXU8L4JC{m!$=%gD5T)zn3S9RwwLNa+|q+e&bE4h8ulT=U%;?pNCA3 zyb>+Im*Si^Fol$J)!jxs3`Eh;q0pt{eJHH5qsT53Zn!NOuPa-pI>1GEpd`QF4S5;V>2Yk-`v7jhG7Kw{We(aN2{^qV#i)`hp2VWi-tINVa&dyIGTPhoZ_RbTjH!eZbz=Siq_e&4aHVv*PO#h zun4>64x&lfh}ed*y8fg}NtLEbqPbOZym!w>?RD|W7wgVc9blBwpe}-^ukQGc!?I@= zJX#RVjIp?T`BEw4tS(v|&20uzTIJTV?m+hDi44Oi>oWW?_$LvPewAnZcN_k2hDEgZ z!E6ittZcNOHEi>3C8w8y5}}2S>*_wOXl^;AnH8ivj%Xi{YCAtuDv`q3ISh!d@}Xv+ zMGlZ1FdMsqr`tRNIlJ|dQ{9)o&PEdZ>LZgRTV+pa-@y)bb)45(4BZNf^1!CQa~iFk z+xXL6HYjF1jFn{ovxdYC9VKUfBP$gVSAw^QtU6%IBsD zF0`iB6k`zXXBCaZoJkCIzRQ$$ggXx3fZ%r-4*_Qrsv2VeF$*JcQ zTT{<3N!X?Rl2eQO<3UaoHSZ(W?Gb=(IP3h;qqnE_Z#b)ZEYJQ8XK84uBRdXozF<#H z&oB4gRN@f5>C0KD<;ZxX09{UQQS={6b$*x+HI_Kfo0r<5&WZ1vuszY&Im%6YBArK% z|K~z}l+MV6&;FROTk`i3ddidb>%k|tB$gL=|B}H+)+f?kWx-pB&-cwp1g}{+BRHiw z(a=@T`@FLDtCZc-ewY6gJSl~BcL(5VcM>pz& z26dlP9!&Ka#ihQ2P6pRv;-ZHY1c&v&9|rtkF8pD@9|rtk(e3=-S@%ltFT_`GU)XUk z!|9H1P1xMg3!FNGpk}+V!MB*Z*F~HfAW~bRxp!tPwld>(X2yLnBQx&nMdNZUdjC8# z?knW-xZTR&`B`S%mr4dryn1HbrNazFw+ElJe9o5Ui$r!b#(kh#S zf7L3vuCKZAyYV;|lK4rhg|jCA<|o;Zu!a22C-1<5TH-xx#SV=7EgRq$xm1M&$Ux`2 zWr)(i8D!#{sMz9M&O0T1Ql8)6G?2EYILFxF+~)!_;>MK$g!~!75*?esIvfB`ip77{m|dCa|G6rYj-(+#Jgjq*YhoYjra-)2M(<|J1(&Uzo&+? zg>v%FGe2&aJ*UC>{<}ihrp$HY%9pa)`IB3XwcpY@dOkWEN*i}09pE~&h#_@)mkuPRx%J;Bc@$j@ucraK=XzH{p6GGbGU zFj8Xnxur3?EY6BPD3PrxW$Q|?I?8myxN1i? zAv(@P=EK)+aDLdFIq*v(M#i}G>h?SAtB1OWr{*xN9f=Cb@kzw(u9!Wy)cI9F=c1Sr z`r>$_E_Woko`)fxoI0tDFBHXWhfjcJFETUE?UzNPDpP}tZ|bW@$xWs9OLmLck+ocg zv(L&F*C(=r(utzY9YqOy%emRo!Et+4G`)ct-jWL1ql!lq+;kLn^oVHj!b4(}BNiMO ztGvE=VHxMEeElL$Z+uydexqE;NUt0e=laeX$`sPd`=(A&a$HFPX{f?BISGl~|bu<VcpzEJnc6=<)-&j-QlX?E0_X~MG z6?`(jkY{Vc9#!RO;G>2nGu3x12s#sgL=l$dR%XI;344E|m=o>$f_5tWgZD`~RtFUc zc@000!IAoQ`ZeF)Kx%}M8dhdM=QEv;Ro2$d9pE_TsLZNmQF91!Zi(}nGBUNbQdU{o zMo$(0xwbD6t52H7^K0u)asFf)*VJnAkG1TJP}uhnZh+4dS#n^<4(GORVBLnabKp^) zKWC_Om1&QdG25NHKV9hN=>&u=uv@OY?wskuQf07m^=!uD9OLGz0r~FvJaTd-@^ZF& zQj@TMfX*mCowj{>>OSSR2!ou$A>nZ61NUX7^QIE^g~K_0mnXQtd!kchO{r++B!c5K z=q_F~ZV${UXDVON@>Z^vErz79a1U-=rC}fa;=+ljhn#mHem;Bf(tpZn56#uil-_VoWG{xj1xtxNO0dL5eAC(q%EsBe)~;(>N+w|M<~U7Ob@M-?0B#Y|*> z3nYV2_Fq&&k?@5o;duvr7QD9qXQP7GjxX$F)%PR0aC|{$i&gpJ+=1t1OOd(jf;UHt zIn_vy{DPmgDGJ{F9*R6#wJ+@RU3Z`ozQMkEfnEL&aTV|Zr)lh+YxZ7Sxca`EuANo5 zT@|2w@Rrpqous`kk$z`LBHbQN3|p5N_M(iAe1!+7;DHO?dZss9J^C#$`}6<#Vg6iH z#h=TktoeFjKmH#V=FbnR_;cA5@^7mL5YIc7xX=G?cAxie*YoRzMuzbGuO;sLFPh!w zecO4W-V0r;VU-?<2FHE4V@S_u)F@Je#2OmZNKg|8 z>l`uzGcwVrsHnAKqmfpvNM-;zfzdphR&GvQYh=?#=?DMXaQriyYAuF!fXx9F3HDi$*}MiB~Pi9rrmr| z2@hA4@$(Haj~~Xr3rqO9yo{e~*ne+6&%@6}4U%oHWSh^2fJgE*NWQs}Z@w*tf~V31 zcxwGoJ!-xm9HlFJ_gOgV6ddi#!d$u!PRUXSM%LSX)|>nh471+k4{wiIZ}La*&3cnR zy!Bdd@`txQ)|>isqeBQvfn4SnrH2Bcmx9Jlf8`EjQh1Ls`}_i{h*{E~&_c&Rtws9Q zO8Dj+qm6NKJW-FkrY(x!tW9#H#txbvB<&Jy(lAvOtjm}^{$)u40_pR$Ndb5V?-+QA z;24i3qc@NUkKr8y!x0=)Mz$(a$|R*kD;YT^{2QrJ(3% zzfZ~VE-u;~u4`jP@KpqPb|_mOI2?ajW*i8{&-o5ovOr{8x?Wgk6Ln|6h^FUVR8(-E zIPOO|$WW@O)<5!4Pqg#s4jzm!jLw4t4U$dxff3?t-%32bg47N5#i^5ar+DLaL&=2{_cKvHzQ0R}mPf;ZtJ3MC9?F&bQh)%_ z@pIn1g#O+gRc-qt8=L|6yUFWWlkhZr-H`tk&K9dD%y3qrD@94Do;N>0Pxyiwt2=P_ zN;TBf@cO%-R8OKZR&F0RicLp|jUUbC4`F$XS4nIgMvi{ zispQX;0XGH=xLNuar?h44>1aLr>^cVa)rhb{7DpNT69b%i%Vr0ojR8q9ij7x^+X2x z`B$0TjObh6ID!s#ZACVj%S%lGovE6u`4uq!$YVWAfqW5Q7F?b*^*2kA3anx6s=SWpXuhLa) zGsn?z$}MF=-;_X|*FqM@n8i{rgr;!@C)5@M1qo*AZ9~eP813{7yp&F;5fyVjF(-dqS2&b}#04kAT_}b;~YxT7I$7xnj8jms8-ryd|6$F3Eg#too+xuSFk548%N5$XvN@ zpab}GEQc~A826VT>D3z>@OTYy$!7`&aPiCQC5t%a;yc(axq-Bp4vDWH65XppnaS11 zC!|KB*1TAjapU$zyph?YOb2M#3KR+b}0fH5zu;JBOmg9Ikmph1UCJ8@s){~T6%~TfMseA_8C3c~ysM-9})nL7K~2j&3kEiP6=6RNGe2mD1x@9+tV~ zR77j-p{B@^Qm59smM5bwd+?*({TmYektJ1_-ifGVJ|oy1SzN}sUhS4h)yuGXq4(vj>RZ z*WdvXrw#Skd*0fcM{0Lrqf=nCJ}hI7U(&7w{dj#}&>+Oy?c5h{beYZX5;?QP*C#5c z?k26d&();e+2O`4A+nglL8G2Key{5dvRf=ho73$#3OF(=k#PLjoCFM=03OaZ7%(SP zB3MuotA9)?z*7BT9Y*Tj6V;si9>(gt%*#RWy+YrD#vPA{Qnd(@l6b$2nZ6IoYeiku zafYR4Dr}>Y{f4)#B<6FOPyAW%Z5F569UPcli1R|HAmV)UhnWu~8Y4^S=e4apcTO{x zt8~mmgGODIzj2t@x5w-E%c6++R+w(k1@nrNIFi5CAE6>bdr{xDSSfO(iURNb5Fu4A zxi5JmOjer;Z~)jOMm!UOCijvS^e1!LKo0&k0GaPgcQF4DVDsd`wBun(s^QxTd4Oj4 z_R9k+2;iH=SZ9l?JwXTG)6?s{?&~-+{{f3NXk6D~3_XcJr&;>+aDM}9 zw59-ZZPa7%x5d162T9A;3q{FM9xj4-oHN?ZX8&HkGTG*^A%giweRm!dN8Y!x+P0Y0 z8|614%ETBeyD@Y+EVJT%S2ZTCAN@61rMn_EmMDdnpfc!s|6|S`?}W zWtPe!H7>aTz(`yKl)$W6AS74z*a-9_V1d6lLCA2aEHkWv=uHkDSFMxkZ2IwA=*KT) z9<;m86kJgC#4q_pju^0_>t8p&!G;DwcwGp>syu=)(EL4!!Rub*j!qnBN5+kRKS!WoR8_=3iP+RL3hAP z;a2_b4??qQuXd98#=~Tmv>-VHk&cpJQHMlw3|4k%PvQ0R)YyVbf=FWifyu&q@DOr+ zUF~CqQC~r*xPPcCRIV6N9vz`$d2~vuGc;O{4#E6yXvn&294qWh&}Vgel{E>?GZhz} zo&7`koE-u`C@JCwYG8_40VgYozV4;=r%YLNx5*xbU_lAKH` zUHX#OxS&Som|I(Uw&ZiqqC^!>TuNS%Vn0DCOubvpXWj(G1{hyt$;g86^h~dX{x29C zSyEO2=Ksgr3iB21FU#bRacRrfP|~Q&>;}K(&4Nq#+rXq~!MtTl%OvB%tNq5zs>otj zLFf{5F4YBvN1Vz2=ywH+c7#0IQ!C3YLcdMux#D8EX_flm3q@pvM0dhWt{{cC3Xxe^ zJjggF#t>ME=oMAD6;)wl<({FdrW#D=({u@MD+~AN9$DoN*CyCN{z!zu1MpqDvc7XrAVxxp;BOLr~io zYs5bF@kg#Hk#v_z*U4V|9_6`I4ZT;sj>D?^$A_(Z7Y2mc8o}du@vU|pk%TMhqh+u= z_g_wqCg%l`6VX5Bz_^<1=Fw#DU*`yodb(6WXuJ93Es{m890|5&DHL+mG5$QZTAi66 zAOxdV7z*!%XB8_SoFJPoFWuB>zVez(@;tR0d(5r8`3+B*KNcUpML zZ83i1YL7w+A(ug85oJTd;%qkGc$LK%lR7wuGF#LGwnU3mt@w)?7hyw-2atKqAEnhj zio^zMm(B?t&)r8NXMp(y=1i5}Ki?l)sXA!|rB_kMgXMm6F(zH2G^2U&>si&&)M5_) z%T(!Ml#a~xkj3gZi&kpJFjO}GZRUZOWQX zEsBc6FQ5~MS4c=kPo}*f_}36L)W*BT+{WUBK@Cq?_Elw3_Laz;aQ@{`g{(yxx>JP6 z4``b$dAQY+n|U*@0A{j1m>2R8jLl<6vJBAOaKVQ7n;nEaSr|1xw{^=IrG@K3gA3^T z^hjC3YH6G3pR8luaJUoUt8``AcByXYWqM_Y7`D-k=@o%my&^nnqeKHHZkFV%wsKC^ zjQ}~jBL@l>l?5WVRuzPgHCO+En>0Nh$=ohKRyieWickP}xXi-w`8B5#l zJE4vvcnCHQn2!q4Z#>_1Ufj9QnC4JC^AGaUBDXtW5so)o^V0l{UvoIkW=Sbpr-s06 zTu#tI#mR0rkEJK(?7RY*N<4XKRwbwAD$&~oluByrHeW83$F1g>d{05%e`Zs+C(BzH zib!lo9Pns@SM<3&soafc<2_;<=>>SiNRL5>iUGk=?2j|uyA5HCRd1_4bZjNAME}8d za-aEx{AP6>S-rM(0*;Zyezr{19OhE0P}V0F`_9$^zu76Mr&^J%#)Ktz_uV+ z++Y?^41?`lroRc_UXpu%f_KrSv7gJHr6?4dfeejObWRL{!4V>Oq_ls z0g-PCHdeJ$w0rL5#e8KCLpFK?hOa8vICo?qvfddidc$0wOJ=EHgEDnE<{o#>_BZ15 z=WG!Kn`8cnOabF6_LTjBMrXOdXur8wmBVI8cGkvvCz8l*+E_b*C{*>%q=8Zsfh!5`@w>pt!F$1&ux z0G?&0)XsoK*4u1V;+>e@L!Sahhn(#gy%N0uyHwTB$gM8f^ZqDmWX-2%ECkiZ>`(4| zMfA#Qn-`nG8ZTgmBx1~#FdyFye0t4S_#?Ve95In>kI+?wK=T1fRSIWS=NGB(8&-YB z;F5#eKctn@2Im!f&B6JFNO^=@5kDazo&MxS=`D(GdOkr)+da3t{hEAM-L~g*unw^W z*b(0h|F=+3tbd^;UVmhJ+MnLoG7V{TfI!|3^Q6_*cE#7@gOK$2Wo$#;=Fuv7o!&LW z<=|Q+-00ar|HMX{!kPq8q_Ar`Gm}|Jz%nn2dWQB(2hfCx-QzIxmz4EKCKhznk!Vq7 z3lHrj2PoL2#anN!Y!PC>GQPjCMB;`FYcm+ zyD~Y{($Gf}Wdr3%@!A5<4;+@Iy^`qJ+rbWe3)EI5FsqSb9^ww*t6y;kwJ@Oh!n`TI zjkp)!li3V+D!?1QTCQg^pX9Z__?jgg=Z3ywd;NGROOBz+fphC5%a;FX^t&EiB1rxY zV5-v?bKRqA0p{jQ9o}^5xD(2u$}M7W9V*sJ3R5MKb6&j%VjUjErMNfVt~|4bq|P_5 z+CXn&Llxh>LUFcYtF~eVUGv8-D3Q7Q6|9qA%;GL9F^8i}z4Da2 zi!`y|lxIc_l{%D0*%pHywh2+Ms)|FoipOUvPRdcI=FeIlFRVA&#KT@=BIT}D@ZseYM1{@>+Q=;cuCh^HCK>gL6^vbwc{di+Lf73oA= zWXDwpO9#-lhbMP=svMkUDZWRY;%@Xzme~^Pwrhdk2drJrtdheSxkkF>{*8{%M0y<_#tJRQFp@w%fYu}7H72#bviK`FmMuIf^;SK(>t%Gu za(%-PTKY2cYiA6}y}#u%{6<`+!+fC&aTPWqu7HX@@BTFc^z{OC#RLoMgLf{K-J7W* zyyh8Ul?7OL9!&lI)A-H0Df7$HkpGr)QsQ^_E*zuF+)U}vnGqD61*xx9qivabguiyR zi^jsk{L2m&@UU>0-~BszSmb11Jxc_M8|kEN+C84GN_O*jNsB!s&v^0sW51UoIGQ?1 zCmfMY4hHYjhpxjx{XF-x`Z-ti^8vcdY2H8VYljduIce<(W&1i`5xP(Jbq?vD)mI;O ztdV3P$C#0%BQy!k#jwysJ+gmPXnbU^Q*VDi4U#?3(G+>7u}N?3Wsz}ad4C74&FiM% zwxVc`B_`ynN|(JWbT(+5Eir$IE-bXxCql!A1f>rjVg4D?W0SYVIWPBzn!A__Q&g9Xlm^Y57$;5iziee$D|0WeROgDa7b+vKgga{ zZ}C@MmBY)_eY`wfLKVE!G>xE{_PI31+qC(-;b7Rpv!@A+)1MZh9)$Nyw9F*{hiZ*s+#w&U19y5+iU&3_GRnuyfQS@e82H4*5CP_67?QB z&-%M~4~OG?zx^Hg8!c~PJSC;-G0Nj{^j#m2xY)$)VJ9wVa=)Z4CrFI|C^)#sTAKB@%wdF5a z>2p;2-FEud0HT#Xm-GeA(wA$s<&Rov^CazRNxRWH>Y?8Gk~T}yLR@=cT$?rVb0 znAB7|CRA=tXDhSUYU=R};#){=A$RIDYcZrwX6=;*;vQL1R#H2-NpKZ){T_|jl~?a% zYt#q&^)*#|*4N6qLZJ#my{avTm9S6}T-&TyZcSoSB)Imv77<*tkWze4+byK*6Qm?# zcXGb<8Ke|dZM%h(na`V&7h0b|%AkCs9F?CV?b4M_w0&a~3N zzP<(LOB&dBqLl{r^({DC(!jpal6HT23oR(@>r~ixyZ~WSsw9hl7SOk&=nhZhTMhw> z1@A^>kS~(xNfmKwh@2#h;WWVzV}q{!wktl?r5jt^y&NoS|DMp@N#h;udmSUX1%DEI z3oZPK^tiyK5eJfcJ`sh6wULnHpcqQ@(nY>DA;KKhR9hMO1eMZs7N&S0{DP(cTYvkLke9@a^Wmvqu%AK zazx%P)HnJjpGYC%u@y(QrZEXIE_K1Lln6_XVb5qb8vH|2lLoyfQpc)F3kP16{CVFb z2K0mFd#DjU=sy1Blz|yPf6=ex^bIullBew*BQP~`pjf*%K@kF2umg$$josV2EJC*N zE7aRx$Uw9UtyO57F{@&&i@$!yl2Rj)FrAMe%G4n$&fjmp5{10A|JGstf!88Ep4hAk zWit_fnKB#e8qOMcmk`t)0I=^|-c*-~X28q)aZGCknGvS1S3Q zBS)L|6u;3(a)=h43(Bb;U#1=kwdnagB+uf9A}+BR6GKV(0XRFG(UuR2`<4T}vI4UO zF>y*q@;~e@!ldQ3ZH*Np$;SEnlcT7XQ74O~`o@c^B6|n07;rIS?zn0&&+R7}*4r6r zta!bvF6i*KF;N(Aq+Pg58!wu}+3Zq7c^FS4MqNe19Qp|Sa%73WK*gRETg+LWrdkKb zeUUoPLG>1MaJ3o^amXYd(KVri6BRqEKje|a@QeR;Gbk z)m)3c>HnSU{}|Qp9rf`KPU*?c&}Fz#>hz+0D~exz;ElvPMcS&)ro^7Y z_{fr`qMjyiQym?9ik(9X6WVh$gv;S`J#sag^jcnNKJ_3* z2_lOHcI@}Xbbmm)y(JhANN?$z!0(VwOGux=od$$@7KB7!4O9U-tJgD8&UNZ>JuSe~ z^u#-aH34`QH22q{G|2W+FYLfWjOhWugJIi|`n7^B{A~`lGRMLH@f_FNb1W8|YL1D3 z@GqKUIT`pL%yB()e3d=Nel^LW;13ME;s30erlEgkroVf*nci~9Tp!Z;FFe=M`@wS^ z_!rK#-zfAO_w5(f!YK5%x!N4jj?mb)-nLHt>>Z&I+^f{)XzRte^Upl;sU|gSvhR`C zVF=_4=^x0=De0az$F!=@fPOaii5I3hq}f4yFTKrK;!k(3C?wlQ=v6ZRc`RRrNG)w1 z2nU2!;I@+UuXPl(EG-ec!>aJe>YZIPOVCYS=1O6ge;Ef$NXO=X!2yeytWMUsNcfFL zwDql=N>GFFC_~{sBwWaO*na_k;}3z@l_i1L4W)rtv+_Bm%r^2aojoVmt^q8x?suJKoehC~)mK9K+sBK`Q? zGbD~gY(~lNV1}^%ZcF%MS51~q`Gqgautc9}FGQzw7e_KgZ9t`6`@6YNhHyz9vyg0I ztM=F4QWCC`RG3GbV-#IEWr^nn)Ks`q&Mi&Ew;fQ z(*eaCznXdYq4f~@y0H2e%Fl`NbEM++|AT^Z@Z^=Oer1;B@Qa$tg}K;P&mDv00N_du|;TnN{H& zc!`(Cz-%olx|*c)tjYaC=rqbs43+a+87k%Xl+Z|itHO6s$dy_oMN_x%>qy-&?1qX| z6OVcS~dYY|8|I>P!7h24hZ-tupy)h&m3xz89T@*T+-`lj-cgeR=pNi;HklbTE zqsA;qK5so^BUO;(3{57fq$yH!V;I>-)`wow&eVwt2z)Gv=~I(G;V(56^C$UTe(VzS z@=DO}g48Z`(45*rUKFGSshfBZ0XB85-?)%@ETm)AVX*7A!YM?Li%)lw0rem%0lg%3 zE?>{IzD^BKvA?3IwZ2YhikNfAfhV^AX-CO&WoJYvxz6UHRDur33Oc1?J40|0!4GHW z(7=p%G%{w*P?r@r@Bxr?_TY$SFHD$ z+Ff1N)5W21le;Ta#pf$RW&B>FMUi);c%#<(-#igf=0BMTwc1R9tBP);w>@wE2wTNu z#L9gALYdNUhOXoH+aVe4&7mp$&JP{WZ*xfFHylC_xiNf2_0H5fvy(|o1vctcB~$aZGoMIDAATP*Fm^rr>BoEae~3sp|LG z$%cZ4Dafd&=7t)r^);SQ3{-bOfTv;}*u>u&U6EL&NsuovAwm~y!>tBm`%h0p{Hk1J5?DG48;*UT#oInxQH@`}wWOMN-63yrFG%+04t z-q@r(vP4A^70Kl*+TwL@yZu*+e#DoQc`L6VeI+9mKwwBmAl6kC-X|DWED6 zP|Qgr3jt9WX=4L@Bfv|*K<_mjdO5u$JjPS=t-Nk&spF+rLxYZQl!!%|AyE@*5)R6%2wE7<69nL9c6Ay=@mqqXBs`Z-!#B|*wFl>G>AO`tS1#Or7z9$REq zSvplJ&q2pEnV!bR*d47e+OHSA>%PGsz7KB-3y1InT6~9++m7TfAQmL*a}Tp)~9dVZ5bJ)mB}2wpfPD#M+YG z5{jdNy`{2A?ntHxoHgp4W-;uT`! zIC=WBvXnT}Me8fOl&LrA6W2El^bsF$&w)tCDCDNpm%`AIThG2eG_1Nq9%hC|LOXfvo-8vGG`?fWwO0bR>JJH9vtN7ehO<8;z+3rzM1kA(e5Y?A*%1MUZ(uw5Gxi z>bcw8`Gg=ns=s1Xf47UKG`!GnEOE6gttbf7neAp25-6I#pm9Md@+5BR|5gGd^pLo=ah>%)^WeF~p2xHtU(L3)FMOR0H=^3|N>K@2$s>y}v+9{M6k)8?2Q zn0C^l@&2bL(7OCnd*Y}_W5qywGp|jty0ax@8a-*5HU@hrh2OD@LF+3k9%GC*u-e}g zGe+f4oKszwb?L&#y=0@fUYdu^qA)hYSp9<(vpg%r9KvXJt?-tgUNfUYfVs^)OLZUD z()f}Fzj3d^2M8en9ec!|2+9I(Y&SzFy209UU3E2%6nB#3GPm|fhNjr*c4^VXiZNqr z&&E1G)51W#*tG*7k&Z0E$hJ2S`K#*CrD+D9R^DXP_XYLSd*F2lxqQAcOSJb(%R*-% z^3M{!eKbGe6PU-crr6Nb$!&FID~6`ZP>hGh%4e>ZE({Hqr|~fO;d}5tF2kBh#+cD3 zD=jiSD#gvup((~KRgr@jeP-y$;{BFcQS4Ta=G`ZB<^9*yy*m@2JYlSP&UyXYLQR%< z{EaVy(?Vv!726Wh|rVW+JmB=g@wMV=7ij2U?a`D`vBK z5k*-o)U}g6>~y`Qwg8=o_7p6^+gsDFkCP%Ot><+4B?W&`ikKWo3ee zC;gN~e^(VrwkehyO^tV1-0q>X2p*`Q=Cq|^OV@a4)r@q`3*YevqKJTSxjlC z<17r{-TheZXz5gu*MV)zp{EYY!qtjhU}W!t!f3rT7@J$hb>0|8S@#>^UFBCc9M^T= zT#pS=FSg(OF)=*kk36zZVI@T1u~dn-_N1>}Ux+-80bXi0vCw^{L)^-6K&|(nDt^n7zR28?% zPX657M_ajf{ySY{R4sRyg{(Bg*I}EjsqSdTRqx`O*I}kblQO4_#Qg-OyXr40@g0>| zE~Iz9cuQYd24hjdH9v$uXvA$$F&OHapB(Osfmx}2L&JQUt3rJe3wJPyo)zI<{+ayS z$G_ZUYPDzFcbz?#CtRF2m!hkz5xddqdM5rb!jJPm7-)7S~#`eYoVzTMgX7+H7jn!t>WOIZl|Y}7MfVLW$ZR@Vw1_*ZD!VBo^MB}TY97ScznZUk$ur23NxN0cxo9*ViqTc9B-cJF2 zt!2)6Qa2|cu$KP#QZeV;o-yYPex^C+#S~X90MF3@+n)2)FIM)LOj#ti%D(VuTt0{U zBY)=D`c?pSILl6W_Q95&=wcQFPLE|sm_1L;@YQT6641nW8O#lzE@0$mXK1WB?*T4b z6m*Q0nkDy%_KtuLpV~wy5PH5IeBUnR#msR`s!zz5^|;z!3CF&p-r&}t0|BvzC}pEM zvMI)~&P9byERkO;e0e8TE$Mz^Anz05;0R2C?|^6?oiTE$xQDD!lMxyP6vLm};|ewwK& zb)n1zwzam|@zFa4RiU!%#lkLYPvM@rQMsyWPZjyo>v$YlV02=p=p7qB2x_PzmXNc2G}9xxJdQ3j1FS zDjZ@kYD|^uw9BBRd-mC5N*(o)uHEct(!xX`-;I(%jiy9K^OhRTXc>(b71NT;h~7(1 z;!P&S>VJq>xQBx#C$pT(^e3F*WBU^reDo&@iTK{mkmSD>u|3wXip?1$r{2XvR`y^{ zQvUANI5P-oy4Y=ax7q;Edu{=LL=7#MY?C4^Q0d455`Czrk6aYu91on>4bQ`vFRn0amg(V(_IUPu;jO<#&bwr z5^(FT5Nc;R0xRTr8cVos;UeAG3MJ{%x|z6OfQj!vK34FnTm;N+!U*CH*fom5;dRDR$bCwAAhji#f-_B%4)G_Mv1Af zD2h+Vpg9rN4{dLR-%WeyS6)a>@Jmo_4oB>9*vB9;ju*pD#)&relJ@xYRhAxADM+JD zC2~L7=T4Q2CXaQnSI-*t0=6`#RU6FE{Cx+uD_NxVw81LZJ;NheV_6I4GwHQeL)@c&OYJ zF#3bBaIdee8$YG0CNA#ywj6>!t&k{xy6ar*>(T(Tl7swdNU;z^>u5w-mpA!{uYDv? z>XivV1)T^VOJk|W<)>I>$$U%|k%qJ4M&Ej|?C$T=pB2;Db~&)n*NQ#5Z`{t9uR)Kz zF+^8r?Jeq!Bj$@iI$hP4|Ay%Uca*(1n`p+i_W7)B?QU(k*w)$x-#f&%wo|X%XxY{> z)yr?>t8H4_D>m7kr%2_=1}P+#?y4Dylor>qp6y-my|^E%RGO~NrA0DnCuGyG*@Xya z(#68tDz7cSI4}Ku2AWBClfGK)?N#kB}-4=XvR3@4Z^A?^R6@ z-E4{7e6dO_Sd?jZol2WQ-UW@BwBJe%VvjGW^_f%&?Xy~}@+I}GOe!jvG+g4=2aZLW2Kw<(2UN`a? zZqkDJ{Ogvbp^PgL`om%Q?2UVNgl}OPDuPjI3c--BvA9)h*4jHGpU6(OiH;Cis~PU9 zI7U?~gjQR%qX`CQeCknSdy3zTYf4}w&{Ae%BWYaPmZ-dZzb}Ke6~#2GoLpk|4P&C z*6N~}cje78U+RV8kaDCFUeyhS-fLZ zpGM1@_{d~4$)}`P*0+nxjLMXhH*uWFW|B|It&(i5WSUzqZ{kgp%_N_ak4UmO*QlC) zByZwklg%Wb)FEoSc-)Y@;LdjOxseR`0whk6AacTKf}tQN*A!kt(rCKxXDQ{xc-t3KoM+0s=)S7PG8}S`RiW z09wobnd3ZI{)(khoChZQ;X(t%-ysV^A%F5jWqEHeenVE6z4E#7P0mlb2BN;tJY|9v z$?nHkPy3?8d-y&N>I6S|Iy?~u)@U(jxdQ3#AS+Zh0nEx$W)4H+x59LZl}<=T|!eZ z`(r!wg^uC3K^duB7aGCy{P1x0SzG|xHcllz>Q(D?<8NZ+vXlj%2iaill`d|_64qoC z7KXdLu}eCV{a{ocdDEhMNr1$0UzuVO*!(4*Fc$3ny;?NEcZl3hwg2m4Gc$tMO`Jo2 zd`j4VXmeSfZgc9Syk-RAt+^scz70bC5<)a7g72qcRlY9JQLUD2gT$iSLGS`pX4R?>A3t) z@{;>RXLA+GOYYMjd26?r5E^@P(6{dVV)BwJ_GtbmdC7f3F`P%j(C}ryEx64d)q*=S z*%w?-60At~f*Z0)v$KThvTT|sOOEQYX_NJKVL^lx;nAlnCKAAREGkp!sgb%xjF^k& zQJ`;}vC(fy*fe7cmiHfXzSS5myrXcum|T)v7s zYK|XFC};B3viT}T)j<}EskE9-B;R4gtHn80ec#KQ^?kvf9HYEBm%1s#46n+iJ(WrO zX)f(2Ip#Q?OI>L*#&={G+r^5#R*dmCGilcflb&IWFV3WjcTbivJ|~k}LuwvloQILe zC6DLZA?&f*8^82v_V_YEMBDFCuyE#~WG;tqpTA2ePFT^g}^mn#q5g~xh@=dT{cCIjMx-Qj}vQ`S7hUeVJ!7|9T`N*LHw+EZXc*RIYtaEa&v-r`p;z|nv1#Qx1{7>T zPi;(9Dc{o6Bt>OXClai&8wj-%Vc9$vhF9Va4BzB& zE{|I4Q__?uVMI>hPwj0kVIold6eE44Cdvga8Kub)G?f+I5kWR!tAQ*dYDDz#MJVWp zgntk;&SNZG@0i9_{X7_*oxy}v(U4Heb^%XJ<>5W^@44?{%PDm3ndX0j($P8G zm|g<=)2r|UA@W5$ZVH=X$M^+1zW@1b@MMb(76y2NSW&ZnKb!x};RgILxPf^_U#vqT?R&7gFTOdClyABJ_a3UaoZj;U+ zf|4H;B5Z4l5d~zI7(u;4W(?GP(tsQ&rWM&zfV9Zgp~#S>S2<)*hQjYD)Kqm2@Mzh+ zP0u5RpHnA&W%;;=3xXw}f#;R9!zC0Xf4~ns=_KrJ5l3!=O^#3R#nXP_(edd&ViQ?7 znloVeJA_1hYq!_bw%J@;qU2|(UD7Uv+tI+ z`g6wN`t$uLH}$9%IYJ4~BJnM^nF{7YeliW_9iNTs@lWi|9iHJ56JQ4BXEXZ& zhy1sXY4~(8`y1i)Hc?H0nDrAo{Uf?l&wOS}%+G&*Y7QLcv@@B5zf;{|zO}R4Cin2o zs`T@FM92AW-=RJ7%d|<{1?Bl3C5u2NBtPfL)P4Jl)UB%iblqxNfm-U^&l$CvSjlu; zAUm;I2B7=lq6#w8tIh;VWutKoj_va>?c)#zXZHaS0WlBL07(g>8I%uJIQAASdQ@7K`+)7qeviJiygG9XQP@4*CNs3GMwOGRm;l|+!qw7{6n_N zF2r~apPw+g^k?K~DY6ZB6^T8xPht=0t?R;`!?%MRkZUKOENiP?&QNBnEkgX53_v7E zrS-*Xxk?0FrMBl~sz{I7kVPUj=0X;UHrE?(Xc0?i70hV02+q8DC72O^{i4(0Z&0+g z{A~~&EPrR)!HeeD!Hd3T2QQi{npM7EYX>iyCrVV_Z?uCK%`Zb|%6rHTUbI+bLf&sz z!Hc5hEsR7|qYO%xgdM_Y1&?+Jqm?|$@yNgi1SujI?LcZ^TD9dJth4+GMxx+W5sbbg z4=RF@@Iar6U=*=FQ-cWcheR++B=N75(!`RvT0UFa_DuYv&ZHPs5H!UKU?ee7WGY0Z zz3vpHW(`ZR61$4d98bYXTR7z-haDy(!XM3J0v zNqSIQUSg#;sQj{mDncApfYEutCQpzTE2y(b!n+m8=mHl8=(xMW_@YPV(#(ZJ(7vuu%?KJp zvl0rI?5@gaiPe$4$W>Np#Gg$>Uo_UI#!@cP{yK<-_@128FI8&ShuK-#cC}oT`eGsKsZ8YWh9x@Dbxj~7pS^amx+~3MYE*S zGY}O1V3o9L2{yifYn7bnslZ5qfe$VHRnX`I7m1DZx?qfi>zXE7R$?QGUNxU$JetSI zQDkT6LFh*6Kj;N3UV34esUPrxU`m4aJb}ZqA%7~E(#_Uq(CAz8d2leL9(CSppGZ-I zI`176EvZTh$x=|Oe8w)^lS; zFXv-M9IjS&m4YttG?W6tob@@{lh~p8U5o^(9rZC@}CE6h>K4Wh^;9R%YyX=i~7rHuUq$l&$r$cU#Em6Ib<*F&YtzmR|mu{KIfwY^@D|hLBbF{5X6b<@)zjBmG0mr8?+8 zTo1+eZqQ9bcpO#tdyO~HW8&*REgZ)GNFbmCf%!n7KYX(J>v>rS%%%lv%wh(e7fk-D zb^Q)&J3^PJ&$E0A!1Z(KgZ`TT5jf(pQ@Kkm#yrL=cNm*!i z%aUmYVLT7|L#RM;^J@~nykOkAphWqFWJ1_)HlwPF&~&-mVSXUJF?l%)T{^BskK`#i zf*&J^k(D}^6-!I>Ug|uzBwS1vGb+itQlge>QL*Qtv*FQs zlid_M+MK6qSCjp7nQU3ALF3N?#fG5qw%m=0-6`|z492gA%ztPBN)b?Qc8mTZZ;C?; z22XG32Hn^$HB`#f9wSpbJ2SPRTI_>&=1(rp@Jw!X&BfEgW9otA(M@{nrh-6Z16J&W z0--;FbXTgynmez|-Lx+}cd9rDqea)K2~3Aa2i^PZ3H%jF(khn?5Tuz_FOix1uFTxw ze8--%Fa-$_p)iDTmMvq>ENODT7CI^?{~^TyCTD7w!ES;R9NWKgEnt0GSG;h`hXjMc zOSXC^jH;NJq8=5)(m?Hnoa%_Z=^?uE06t(!1kKw-VRwmgQBrSEgCE*VEd-vE>PlCX zqzWH*v|+TI^8=D2lQI=LMFOPYg^rVM?3S^f6}NCb>@8)nTL{2$%jDQCRdflhX!zKT zb#hIIOS)~~EZBrAw5K{y_k8bO#r=oMssmCMTcBsr0Y--ez) z*%YZgNo(CE*n@{_Q{?QEaAW38sYLy;i(Rq0v7~+_Jd(f-g*u<6zHo(cg_tF&+>v__fdExn=7xf@1n5FigWBCWyhzVSJXZ5x&#$q59-lkC&(8g zsSmuWM?Udr5z*kTA&qWqCA#LWJ$k%8?VpGZJ{nk+z!gQoiEsL%;?Tii1bUcaZYRM> zvh5Sd4lmJk=yLPjWoq@FbWQ=4g^u+iQP20{RnOm8j=w`&~S8X#(I zY*?x+e!)`e-g^uvF6ESheJOJ|qFd+x7=aQpciJ7wre*hlzQ^@U`vd ztf$TAVv+2`tu6A#_(MB|fr@)E#i{pz9dW~y;=Zw!x8(&-I^cwwo;;mwW=OfPydQ1k~Ws~aE7 z-ieO1fDN50iCg8Xoo#UV?d?c!#OTm{F#M;~LSLn+8{NL5eacSOTl68z&zSv;GmW8q z{T{-wPuvZB#SDMf8)Wnsy=?Rj>)W9soq%e_CRn_2UP8DS zn?Q+~wX-AAVs|>Bw40xpkiQ~s=gmK^psn-3dw+j1PC zm22qm%n_ZZ-zdKAXxrnZbuP-1w&~n+d(zimJcz^mnEpPAoe0&OYh37*gXi(06`vF7 zz*7Geq9O{zgxR;t8+)h>9Pw%XT|VO@uY0E+zw*mWgU|SzR>yD3TiMHTT~WeIT~)}= z1Sa<4yI6!b(}nEB@Uz%r@yAmyhJk0Gl!dYl(^^IFWC@3E^BL=W#%A5v!G-BY^nr50 z$ZvKRZ2F;_Lp`P#o+7qVB?q9`J^-~#j1A6=tdWj2H%~BH<-r?^wn|yA@q2mI(_P+} zdP*HB9k+&&8ft%*8( zr}yF}nGkCcgLE>6m-7+_kckAI^Od&{Suj6T5w zSC5K5v>@&zDCatVJiZ>F$67o1HA`+HUWv9U`s`yWqx$4eyjAEg+AMdS#mBZje0gC( zpy+vX$RfE->j5c+)uv-nlhG>mfF1BWT5e=XvHC)I)S|UEQH~0gwq}*+oz}!Mm4-cu z+HW@BB%kDe?wzIvzLF6rh8@KxqTSBT7UB9)qdo1H}w84AAnr$dV)e{+QH5Hwhv>G!TL z-fzLi+AoZaM`NIySyaYHDF~awQY+-#zq1)9w+i^&FEStjfX{f#oc)YA*Rg?Y4qc@ieLhU8j)?s1At@n-q>fmt zl$suQ4%O2g#@OXLh^PJbMf7(@RORAHzT(RpyI&e68!!X0L7~BR7P*zkt|I?ZG7%6 zgn^UAhaLzdvkAs$p_f!|zTZ3uy*j=LdVO?R7QG(4C?CBbx9|5Jl;ewO&wLq3RR+ta zGHcVc)-zxRAwe~9XG>9sx6;IIRzcDSPZ*8*8w(3$!AD3_ODoEQpyyHxJ-z?TvJ&+C zN(Mcr{v%>J-o{7H5vpII|EJOa++r7sIbZrfU#i*i6!dr7G?OWg-Jee~iLWXO0X7TJ zWe43jLqXvSP|h*ACR4?#kQZnX{1%{$%n`{w86r6~M6yE7yj7aXi z<^P{VauWT{Ba$CCfyJj>lEvZ|FUZH@|F03rRw0tV&k#w4a6aQ;F#dC)|3R&8Z!rF- zqMX|Fk8RRPY7$bZ=;L8XBbu-w7HQOtsnINLd`ni{VQ8a>`5D^yd!BXUr2$1_LUTl- zvuNX*L+BOMuShMI*{u}FQAd@}qK?=xLLF7YVCoqDNgi30W8QxyS(Ka96*1hdwSN51 z5yLmWJqV4Sz&6@^3kqoOwfENNqY=d9jm?9Jp@brX7}i_FaH?A4HbrEiPn3=kM?6On z2k{-l_^gQI-z?&&MF-Tp2simp@g0h){FbsAB6;#ZAd<m?=KCEZ8lKnuQN|F$`Gf(W`^lp%g?jm5>H%jgiHX;3$(JNC4&b}Vfv zX8w|$mC3M+D?UdgJGD!tLsL0CWVHxavho4dMUg1>!Y$;r8A!ZaMm`^bLwnh#F4H4v z#oN=9pZ%};Hj2JwI)+$fya`B&`hg7aGh_gQe|X~ri3Y~44`yV5zvi~LtPDU{FJbp( zx?TmzjD*}BU*O)P&FoZyKuvrxM(@QDY#)#Y+C>^b7-;`T!a&hA2#fJiL5hhCfLO5F z5)1xKgn$g`L@X%UjAXFf{ODVQc029v-Sol|3zSqa&YCM5d9Z%6CN24A2)0_OpYWj2 z=Px{Pb+7kRD^(_iv)`PApc0haw>|u#TB*O2+H4dmH(Eazg_4G}Slu%SiLCw&!lCQR z5s&GPsx~=?LN=pqBN+&RRMI8GeMov#Pk4L|p;aBoCDI3T0(DfU38FJ5wnk9aLgFL_ z*~n3FUhRW%!c_muelAAd%yRKXEegZXKt8d?>3^= zE@?>=vU@6NB5%L6#Rx++8UC4UmwqL!OlR@i4SY(1up|bxDN|!cg0Sky2@vh5NvkXg z0*x*b1R!F+^tv}|t$$aO+YQiV(1H>%g^+^)?>aF{1Rf)JyKnB# zda|_%60{{F5lCwU3}%Ur|K)l%&S=Dz3tGke>I>1v_=IfJG@J@YelD1qp{9|a3*u%7 zDHW=2n{x&gLR?LrCn)npXz}<#Md|oHVhbpetTeVFIHW^oWdw)y#{G(fTY`h2y}eK@ z!Ql-N95#yJphe#jSU{Dv$iwo)viU5^oRnC5P@B*SX)9uFQit#Z|8RwcPS32a$o)+5 zKcX_n0iO)<82v?I^}z|*@ygr`1zMe*P-3>}Il9teqs~P0w^8AiOq2wNuJTrvd236R zmdG1>R77a6R!=^C;Ex$;$Wj@p?P5CLKeb)>t?gnqt^LF8LU!F)t6+`!{1s}u7%!bX z>~3^B`PY!t!gU?{a0j-z)x`^3XpIjlF4q6 z9omL)Dx$h7BgxQLrCu4-)d{(-iiU^ICL6#7y8uL0s)mgM5Dtc5JS6XIBx*oHI*b?D zN~9m=i{tIBWZWS{UB1$l^s^5p*gk(P*vh#dB2BuYg#qaMx|L_GyfI`z4OX?suF6ROiOP|4qkq7+p-!&NQ8xG!qU)`Ql? zutS=ac|e3{Ri5j{u4GU!?z$FMmMZZQmEcP#)*P$G0rzfcylr zm*celS2D67QlcdrA|8r=ius=UEb}7nJDVnMLhfTx7bNQdiypr$E9NOFCMV{-QC!pu z6tePQeKw;4XfC6Y2NM#$A)T)5)SoS*a`%pLuT1P?$$7N9gfT!O5@~X(@sS?Cy?k%v ztrMWLm0da^!j(MY_wRZ;z1`S2&@0CjI_GZMnw3giQfKJMotx|8&Kh*N3#SZ*lhmHU z5!s8)Kb6Y#DkhofO>Ut#oXgOG$^=$9-|N(idiA2+FsD-^A2%<0T(kn-_!VidyDxMn z?3v#epPPm+GSG>`0Acj09XE zYIGS9AqK+lqx-aE0}IYzKm!8yw91XZi+c@v;ZMf7`xatKiXMTGTPha2u{$|K=y&BV zABUjj&CcIBQWIp#Q%Bk=@7k!E_3&(g3L!B}y=`+8L76b$@j8bbF8ca>#=C^fI)VGu zihY&u$eeOasUn^EcfFO~W^}1Z^ADP|VO$~L(!QHWJ#Niht<0PR2PP0kW_5pR<|=V< zNInKYyp?<9D2*@#GF>~Y>8g?GTH}jfqozxMd814hp~dW3O4zeB%y`zCq{3=uP0dj> zJ4YSfiRd_mIbrWn8&y0mV=_1LWAS_})n2tObnX6xgh0etWRp;0ZB36t?3}U4rp!C1vkmTT z3s0=v#-VTMD0NJ+=wvlAhef_AJ)8@JFY%cN(VrXJ26lNhpE~4{7-*b(5uLZS z0$S0E#=VzG3?$wt1DAssK?_qD*!70j(lVVFA9;kOd}2wI;c3v{vN-z8zcm%Ur17@{#M=p_m@75OqxAyS92F6p2=)rQZ^ zWQ|QCo64WfT1ZyxBG>5yf8lifQm03IU_`u3w)Vu%cS-AMX@7>a@9xy@cJqKOM4)jeQBfcwfyVuQ_wL&RG75y! zHPVxM|`>4boF~a`AB>KpYb&^X={XdmbdUV^rf}PMgd)6d_G^G znCGXowPk$8Z%$IY#-F4;*(|o~ddJwlYY*2`>bu_bj_A%*7x`P^!qRx%C*;r#?_JJa zrgubN=A$n@pL<7cEXV8fRaT|8;_pJe(HW{a5%0VTTJgmve@Sc^JVE%QDxdqEMMI|> zvw!1E6&f$Z@P;6ZNa|{|aUXUlj7V6i3Q%z}ovv0_sKA=Yf~*MaGPykji=+`9^c0bx zXu&ZQmkwt8mns$$1$+nPzRH0QxH*R#0|V}j3y<|H>LM5uC`!~*k@j1T#)3s1_3n*} zrsA6+AXJtk%8ep%A3peEEfW~A+3!v)98DYte`RN|XdU?%zRA)lBX*S*eG!-jjTgMe ztLRQ{4jMlzU#!6UtO9c&vfi1&N8NCi*T=6dccQ3EK%Cg*tHB()$9bO&fH=bvsoCAZ zvCB@0#FJhZ^WNk1x?fpw)&Ba7%&!8@1$Jx=~agztRZ+loiT!r)ZnK?p+IZGg4pt60CgL8TItmfEWQ8i6E>l z;DSv3*&&ys)M&9vIB0SCkg3+=7debg?xUN>X2vV~dhEu#obJ&J{t`PHkI>QSO|>_E z*BKrnZ{ZIE1_t^VLM>Y_bVdl;ejZ;GBvWuN5M#tmihwC#O zp_B2f4V_GQ-_(gu(`rF#+|wX#L5d4DhFCecV52a#`)NoM*wDGIO`iynj*Jyxy6xY0iQ9iwsIuJ z>>WB$mclh+v-vLl!KY;uw$Wwg#YAe4VkAqj-}wc`lKJ8DBTJ?_LVgv}*FCEwJe<8& z3`~1d_=b*A#;)M27@JBuL0`f}V#n>CrOenVfEjx)CZ=(nzz21u{Y6|8Xk1wZ%8WF> zRRdip{Xguz3wTu3)$l))$-r<46O>>OkP)Ir0~!hH#DL7ejGU2)Vim=zK#Ni;wxuuw zSU?gckxY(bsl}@AYt^^fR^Rrkwps*KOb8@_aL39`1uxYzj8;S?!3*>K);?!)0qom8 z-}n5V|MP$TK9V_SpMBqJueJ8t>tdWmhxMi|%E=vL)vrgbYG3S2!i_Jd+mU;b+3t#r zjUBe5*Ug`y@+Sv*MRaN6W|ulSu7y-$YAW-a+`u1Vi+!qQ+o)%#$yFrD=nXeuq>19nu5jni;yiK;vGOXC7`+*4y!vyWiBq?$cbnvGVhE?HzuhrMG&Eh{Ay)4)Ht!T4M$KqGo3;eX`XSmA7EV@Y zbB95JTJGMeFKyY8e)Pqq#sH_%VuZIc1Mm(l#&5Qm1iNdyo$U$42abN2NK525`=M|5 z*B&u^nVyKQdiMw&nLzyVlRLskeY{VZx&vd=1GU=(aTgLeOEC;$VKE6Wo}>}uVR1pR zvg|Q>x3DDM#RZe1GVOUj?;_Js2m1$@uNFg$4P~~v8Y=kAcq1SYr+3rW;i#3FGbTfyu-9) zXQbcEvKzdSfHLPmEmu4rjnAj6S7`bT)0ujgaV|i{HadBslz{`@vpN>aY_((QPtv8A z$PDZcJ23`j`UM6WxBojZ;6iwy;BkNnkMwd75T`U7jn@PaWGk4juQTr^6pBfK35qJt zmcA47Rqq|{<>EZkU8QU&Nw{Ib4eqMzNs_OA(;19Bj*m=}pTK;~EMi_l4^~-uLhh;*i0g*^)0>UHpOjzTa4n zKXg|;U_Jgga<6p!Cy^h^&z#6q`I$%5QhuU<5I+miyaY{AA5tb;>IXb<;b==uRmA3B z>6#2)`jska@)rtbO#OvQgv_J{@X$jZa(PfxiQtpP+#X|8=@Wx27vAJe`yoYl!g|QH zRtf-diEA!Uj_j8`YtDHoo)yL5eU0+0C@$_}_sHvX`fX;c;8i@W`AhBYWwYd)a$74| zmx-}^`!|s=nVy{0H?8xxVtK)zv-%<$V(q2+cmC3^^A`ce_A+0}OQsj^cK&jx^Ot5` zOqX@4B_Sj2rT!={nLhk?=PwU-{<5Ou%iP7L13T)PyV$B{?kua0xp!q!Zc1oZ%gE+V z$)p5K*L9K>$fOmUj_V|?IFmLgp`DKklwG-VUcVqe)ys07SZbdqt~~8U_2M{j2#-BZ za^~#rWaM79e!iGHUJt^>Z%i>RV-(H}BqsDUMj$y5jsvqj7&1lRdxF$FT704_wK-#& zGO{kd2;-DR?AS$~_#%vX77ZtwuHXy{U0@4|$&ZOI*zHMXNdP_Ut`a>Rc_b*TNPOjS zR%EIC+!dK6KX(&8l%Ggsp!^UMR*;Q=Dv&MPLm;-ndKV~G?+jVX@~;tq$BWY4aFoHs z^(Xx9;Cfuv+#Pb%&1~H#`vbcWM}4Z)DlVJsG{t90S?*Ui~ zt;CphlK!_fHV;yjZ?2`|dLQC-8^5~(EX?wsV?4%_B$Dw0t!YB8SnCDiKfzl1CxbAe zi2uaHTOn`5`7KU9z?z6Uuc~m8Pw2%o*1G{`2xT~bgJ!cL+ZkSZYP63QYXHxv@9vj+ z`Pbb}-M9qU79Ff5#%C$*diVh%q1{ZaRz+ki*Z(fL+*NWfi>I%!{tdQb?y8kiJa&A9 z8KoA}trMZL4eqKZBo~oLs(!_T`=z@irqDm!RW-cPE6j_(kN>=~FJ=bZSAQ`x=xCi; zS~$~vwYUKOM`WmZw}(Bb1Yi?k{!G8)WBC+KF^9p#61&-Ltb>KnGaP=A2VuS@U96q~ zjiD9Bt>$}XptLZ0PV5KyHknJY=1RT*g2(rl)IW#!)L+fX@o9QDHe3|@cx!p4mYXZV z@^rsEvpnBiCW%DJULiA{avsao92>Q=_0eM(1-r7abvcz0^0bSLEO@~$5$xbXQFw#cq3#kXC(HeZ z`f)YAvn;OF;$7N9(TOo&roqEX-YKmX=x>;9{-~qP{_Sn{?$YK)%sJ4!7lTx9?49nr zKNwdvihdGWkzLurD|gt(E6G@FI`f~L5MQ!AP_tw=&wF@2$TO;NOFrbiyRq$vv|j!R4IdZ@ zkV<~n z*b1kg&JULG7-4-VhzQZ_r$GX>#h*6K~2fRNl1U`Ew z?jXK^~pcVJD#9oE9F6X%z2!rQ#?wUhbVCwwNyTv9&DqS7fNFVK9CNWY-_o?*lR{nr{nZ!sTT~p~VS?OW-GKrBw`XrSu z6kY1a&(1zGeTqt7Zl&XAr`}ATPWs$=lJ^exvj1hK;Yw%U+-Z__w|klRRG?mb?ChIM zEPCZ*r`k-z$IiaFS4bK@c77^p_ZL*qLKl}(w~(IkxAQ-^l+r2NiQ8r)EQX@`*BoTJ z5T=E(91q94C&oR4f42IF#!l7ZZsiFIcC|5}9}&l_7tSp08!0d@2J2e;de0DmNCCbH zy*TJ>yBn!qqrJd~Msn$vd`lbpLqe39=n1}uFk|aBl&>7z2ehML7%9p$z1_0e2X6^K_}L%{u_Rry2GQ+8!Zr`Z^VmsW1^pn zt6TBmw9)+__peF)uyWxf@Pnp`2|qY<0+xDxnmmM@OsuGdEhfhaxrPv~ny)jF@aD}d z#iz6pgN9h3IvlB{^19St*yV8i0y$AS!g2AkBm>~sfDT2FTV`@)N5z$rJu+FjMWUz1 z{7D4FC`-$sj5>2zhO1mF0F-c(Z?n4!4~`hwnYNeG)DhWYXdEzd?tGp_S84 zhi~Yh!`jJoIMhyutE#`94nO1jf0hngjvf`|?Lvo@oag^7bhyc+!_ogsbQqj=8amvN ziO&F`oesV_i4NCi=r9QLG<10V|4)bi&*^YA+qx?qp8rqi@Ho`pI?-V)0NR8O4--0k zj`2G%nuXl1%WtQ{FAI?W%M=*v#h_GMK4ZJ(eNmBM?vefLM4XB`v`K}Z5&G7d3O^_b z{<62-v4!RnlueX1Pocs;G(Q89B5FN}3b!Q1*=2__MS;7nWcDKY-cE+kZT~*^P{I#+ zqtzVJ+DWgFSr|c*k1^Fk!bZ(qMVd)^-?h?4&;1Q)K9x_&{>T@Y`v7S$f0Pw{Iw=eD zhmp9DM3_I)JCR?D%uZ41oyf1{OmRBt?c~>Trr3r2o^u-V+w(N!mlzKJI{DouA(-*Z z)N+!fH75gev3d!cw+Ye-QQJPxuNX8u+_<0Hh+72&8fXw@NN}j^u=Y=B@VklzzxY4U z;56!u7MMPhXVGBX(w{_wQ$Iu2gc$14xN>uNy}$8ladUWeCpU+h5Lv&FB1J&Y;s7jU zRt|+3(>Z(`j_i`mgvx(QQv+2Qhjt3p)&4ozRdg4gV=+#HG!oKzcyPm*PZM9_;tG^+COtI4er(A<}^N04EvI{HyZ@pq<9xWKtPoj030I0GS~ zQuU4-(b@^KAfxfI2N|q{IE0`~J?pooXQ)jQOl%F%#-X}l3*T&?>xpo;p@f&0fOLiAu zH{>yWjf)htmC||d?dH>>+|=1JR5HxlGbwameWR|S8N}xeeAeQ#UCAu=a7GVB6srg- zjrdl{#M<

YiYQ2>#Bb;uU%?Bc(15+85M!gXkmz5EWyJ-(@x3)z6Yq-EJ>;x=GP= zyY51sb``F0ezINO^K6og{>V_hIrh$2tz^BnyO|yq?pqkV*#4*`I8EoBD_u>rnZ`RqMXLGJ2a~a?CmUP}Pd6o5# zeN<=^asMFND+BM;^xo%9mmI%%g}?QOUB}kjqjHNVPEcbT3LC6-hspQI42hn~9R(Wp z1JHSC)IfGSS^xdidx!nF6=}PfVE3?p+ghgoG)=ba6A;dz!qw<3nmgm0?i|WL8Hqz^5crJL!)kA)yKY7 zLw)X*SPD0#t_Y>OBe0KjukBvrz;xKX?h2A2uD6w|dxbMj`p!pR)v?GRYKcDYt2p6_ zbmMQ2=+jb3kH+z7TZ(G7`$itC?Jn`WUZ)qMJ(29uJ)+$yTiZSLsU!=yh;P#Fq4+t{ zxllU0Kq)^-ENAki>uTK<$8U>#UU7VAw76Aeor#^+Rzl3gS)h{l~pDpx$z z9f)*mblk=W=rCaYku)EsgNSL=vP^Wa1yPsN>g8BW8Cos!TOzV#}TZluh{#8=UWsLd> zRGAoj&0DxrT%An{caD!3tSip# z%DqMfb(1V#jR?>B36$J)vZLp!uh&Yi#GhcohqL^8t<)R+Jf8CtRi~;go_7~7#+Xi3 zT&kW0gEq-#7SRiunVCCEwJA|eC>>*GLQ$NnOI>G7y_$KxeWG+jD1Wp!^LvU+<65{D_!%Zd$`;_Yuy|K1`>b#0C z$DrD1*W7`6kfwOfM_bch!7N3Op$Q*$;9oJfYFBg*Q((Fwee{y{zV@R1t7w;j%nj?G z)plcJO%n!NOK+?geX%Xt%ERa}k;@dQYWh~=HdUC5z`DqJV!EkwE8T3Ia=^S*gy58t4ZTm5K-_xsJ07l2xZ&{ zR!ngx+-%I3N)t=ry1;s132FHIs-boUz@i-*PGrk+Zo+ag;xv9QNIcvNxro_52_~eh=$}I_A_e&-UJ$(sxisg3G#`W(bpZv*eFAoRSy*>I zjW1?Rztt5gX$zI?#h6++ncXOq=f11lx+2m<&)mAAZ4R5f3PvHy?Mw?Qen3#`ib_2KUo={?9uJHr13IUgxPOyO4 zOd$ZOdAP?-1(MbRT=mnO^_p{x3m|Y*UhYpZDCGkzBzRE~f81?`i|WVM zX1n|~b^=#`n%~z@_6D<|0I`pff0U9#DVf?}E@YR#9ri$4(M~x|-ql(UT-YLm-K*?Z zX7`NV4n-gsdE`6Pe641FjJ_9oxx)G{v^IUh{4bH+^E})V+s3rRD8ezhb3BCMb?2@M!v_&|R=S&O^%5dEZ&jbRpqG?HYpsH2qwS<8$q) zY)u!J+qf#>8rXQ2RfC=9z;{H8JJNZ7ua{L6H9%8C$S3nG3fT%DcjzC9pC-fxpL)NW z8_iGWeLyiWFqr0QoRDiz=RMB5wDesUx+Hiu7wXcXDACdH$>3%!@yCK((QdB%=m;bd zG?HJ>CMbdDuRg?DV@QtdU?1W-;B#l+bQ%tezR&TmeuR}WemTHQDJO3F4ze4|NDzhe zIl`53b}7$=mx2<2)Y5qynUt{pSFv&zNE7TJx{O#5m_Xi_X`SQ zhuxOWyH2X0b}gMZnnyq&w>ll|9s4S+4wrA{3ZYEMWQcKLWjAqvK$H<$L@-oHqz#ln z--8QNcV9XCc5`S_>vfVC?n6FsNtwnL(eEi%tgUek{TJz*$lii= zu_vE#*lgc)mAx&x^)#}#nJSS3!ea#$G6k^>bFBNh&h#1J1w4{Cuu+~QLpTA}j~eI5 z!Jj3Wpy?IjpG%(0IAC6M^C)e|D{n~F>0*d4>!4yeY{m0YI`3t*99@|vxKuQ`Sk75s zv$eZG!6OuZKKM`TfHa-U)P``$zSyC$waua3E#(|{+#L;xCDMaRn@o9DYEm;I4a4aT zWl#zqqBeU+fk$Lpmbk-MB)q;Nl?oTH5q>3|7p+t0t?p}BJKNR^&Evt^v$AcRdNsT8 zE=+zpFMl1Q)tgl^RTOIJ^Dd*@sXWnf1UfC}DTZk9dnhjIElU0}_>-LsYj=z8HpEw! z#YGlpwz9-I5tOZ*oeHNt(1HmIQQ;?h5l9cKn;5U1^vjmvE$j1Fad5Q%!4a3E_S?EWK8V1 zJK{?CQ_#`{OEB_qS3SqfVE5>*($zx`Q(;tvL0l#&m}o^x(#fCmYzzgvhb2@NNK?3a z;7r|Y$2R!apJ7x2WR~>( zA{H<8CtSL?f+LTq0i=d%i7^lFKy)>Lhx_CKyfP*s4|tgwb2krK?CF9Ex@8M;Snsul z>TJgF0<}C>NRqHfqhDc}OflIJZTB`!Jo74zSga(RDlkY;lxSI)=z0d=0{S!I}36Iqk=q+$vD=3YY=AR`;B4-;P1s`K8s(Ip=Bq>Qu zhDYAtIL>R2Uo*-8`={gMhc}Kd77ku9)`ED9*`3;1-rkPFHtPGtPTyx_zI)8?-*PV8 z;8FVwC1;qMN^fppEm$vwz z)07XG`Px)Sl6Y_j z0&5yu(<0~~cqo278FR+JB~v2xxp=!%I>K9gg|Gx>dX4ltaSdU&$(5K~I5S=<7p9 zaXszBKjo{hu_vEYSn_;O37y+Pzv#qdS}o5veqmBjWZ^<%n1!?DZo&hHYrwTqUyJcO z5RVC2neqAJfvdNl_o1{LS!g^?q5$brE zVvO#1nQmOt@iNO8+VP?pc^xm43|Gg?LgOnsVOAZlpgTsYtjs;Q_U2- zA#6&b{1Az4%**>Ku~Zl%D4aPjvL7t=A8EmUfM$hE4%0Q<`1#e+=Fe3^S46frD%s#$ifjhZ{j0ZSn-RD-*Dq#UE~ec zb2gBU%Jf4jvBmh2tR2-jWt7&|Klu#7{p4Rk@HufQdQ9Id)ebf$sv4B=jG$6&X@qts zQgij38RXJpo72WfGJvC;8e+`vu5D)Szz|H}2Lq+D(UJ`Yk{r48$4O>{Y4^f9r?zqG zF+RUil|DnyIm7Jndn6!NNpYarZZyJwk^MTd3op6nMZV!_fIE0~f@$h>h%v52XSN-8 z=4^P;oR@({t*UUZpht*OTRO5Z^&>s!X}+uO&r=L;r>|7g zKJU9rrR1seo_fLR_*ycYZr*=3oAh4I`(m>+z5fq#()-z}J!{^t z<@`tXJ)ldO_h~OkUrw2Fg}Xb(q32vDRWbad0y+bYTveqSf;sc|$jo1q8NhL`;=S+a zH1mHMAbodr?fXvh(V1)Lj93EiG3r!7nfbT>qWbZJC7gL!mJG{!`kTV3w;msayvf zv=d?uz;YOpdx8~+;<`!a6PI1_XMW^x0@C|R?6KUAXR<{;$D75yUgiZB^D zo0+I|-rdiuUDZFG_ZyxdK^GiTjMnG;#PiK%$?#R&$sRwn0GpLfsz+ePy{SCoXCQfS z4ayrW#(cHQ^_qKGA!uRUwj8+^|vFu=QBPxvQ(FMGgZ}8?GFMN7g`qq|}ju z#D)YPZ>xFZ(JOhMnAdjOyNTR@6_baW(oVu!K*mM@WI{P4~Feg=t9dQ(L7nhZD2yqwM}yB+e6Tew%-F zF**G@wob38*{c7$Goxm8WNB<;_s|*uf&bi8*Br$r(-G3UAqT{5Ncq6`{gv;Zpr(|g z(Q#=g5w#=wapH_maL;3E5(3^^3!|)Qi*eH};xqO@M}5Hr(dhK?a8osHYIycqo4+Q= z<#HeQeGf~o@LmvF%LD(pIbCe7PTxCRwZ2|Du-m{;vTkOqt#rO)rekAGxAb-`-H6Yb z?3uCkU*EGmbuE6~3hF3~1ztUKj~g1}eRxiKfk?Di!#jFy-^94J&m4@p8tuhedQ<9? zP}$bVnH67_M!6f`cxB3wxXbRVxiIB8;pbM?oFRHaPz>nlHvQmhGJC$-Jw~&W?c(^1 zs#8vt81&wbr=tGSzZ zI9yl7XXl29G#J8=8&PWPqe<<@X#EJzcZ3yJlG+}osEIqC9p&+f&7dqJG1+cx8ZQEr z7Zub75{px5+1TBdx-7sZTOl1uuyLh&FOEZS5mHRokl%?ALf=kHkC2Bqj{!f# zCsBpb??z?^E}kPw1q(q~leqXalfU zX+gPQDVY;>B@l{FJj8%Qu^D@T=eo{V>XwvXDd__fdbh}eBhs72^ai3}E<;1bD+LwQ zMOPyQ3nLd{nse0%_saE}V-M}$i`GeV8h{vAF`9_Ya?h+KuCW`A9Hb^!jnMRi7@>9_ zp(Uo-t3ST?(%SKMSqJHx!Z!Yjd+`ZGfX;2k_a<{cr(fN9kGpDm;bgd=g4_gx9P}Q2 zh!MWc@s{S;rxkq#stCp8Qm@}ww$C2psSnc13EKnY$E`_Lu z`qkNfE*I|U?r+`OINm?(;bJ+ zOShBOSWY;dK)cPFDs|xLVaA9iP*a_Nw*H0yw?vEf8Har!E`&b;mbnv1D`4abgbgAv zC!j5G%#Cqzz|p7xlIc@$9!m5c0C4Xy!Mgug3#=Ws6tUgzE+|y#0lg7$_5cXf*<$3& zG@k^%KyHU$o73D)Bk7q=p?#qlq3m+~Q@?IR2BNouzpv<-;>fTR$ikIh!_20DJzb1{ zztRy=G=4^iPRX|@X}B;hmfwarWxffRd1vxxEka0dG^#0`HQ&R1WbnonCP1T zXtPkNZgdoD`r9ZmIrg%}A6Tv+=37f#PKmJW3V+2?6I{0&fBBApD*@U&ND|=c2g0iB z?zyscuj)}WyKLicZy0Z5Ul^XTajj4W>Diys;=>!h zOm4MLz0igu>jE!}^2>?3s`SG;0gWMg3%FOrwH(!U1)2_!c?q?j07C*~>MW3HZpVUu z%iu~trY=;pL*Yt+7k_%Y#2fW!v2WORgFtXqChm0y{-!`g;9@TdCyFEKZd1|f1u)ai zv9_-lUsYyiUvgQXtZhl}T2V#A!B=a|c--EZpHwZ<9>@}XlI;R;cH@5`3rJnr1;J(t zkWJxQGcOW2>1Ssw`&SMwoxzmNDiN?vEUWJP^napvr|APiue7r@!}bT=uN?^udlQ69 zgiK7)C0M6^7+0au-WWr;+`p_#KE<>fFTs0qu0fTiI~mbk)d-+DY=dwjIJcVLUCF0X z*Uf_k+LO}M8{~5LA>8YQhSi0tH$+QNgDQ>;z$0CDMyCukIBa8>&$|t5`d8Bq{~cKx zuExjZLv{Y4J8IXb3eA|Ky~XD3sc`Ao#gC_csiKk6L6TOGv_wx;j0D2E-W~xAQ-oDk zSRZw^ljIna%0=@Kj{dmZIV(Q+8Cp+#x4&Y8Ezb9p`=QqN6(9T)7)>smq639)OF4DT zt=6j12hTiZcxnT7?2$uZzE|*FZmD-$R4jJfAIVAhUyik9&3B@6m~!}5p$zhv!fMAF zT<+=*D52?RnH-17F==CjZ*o_+$fpj*l!%?HRtErl&caa zUJp}v)?H5~ae0S-<=8u4%MCX^CC1{(BRgEScV0JtV-`-3g!~Z?^-SJIi048Q%Q=5J zLg^NtdljC{2S0LvGwV^iV;2=Va3RBu!DZ2{Hdp$-YP1_k2Y0GEk*cKr{TF zNrT(Zh55LI0lA5WC3M)w0Yo=Uzpn!Fgf_%C5I=|;S(c?&7NEYw3LUbDtyDbeX?<-+&4}?S4dRHD-cQluAdf6%0BeTM?7Pl45 z5`Jj%M6>p+csJZ;xF3)UL+`ZWh(n(?oV(g9w9-f9x+Z$->NH>Q8Ph!fa?w{kL&KFh zejYZ8|Icm4caNV)uf9kYcEa$+3E;;J#h$}v=lYPVLn(#X>Bo_Kf;G6-ITo4FBq7bj zN1${{I;0j^y0}pKS8QJE2xCyPOR%rUc8`wUv^Ji@^RV7%I&CMxbvpZ-e<0vG{l))} z{_8Xs{~jX?)~w=xvbKqro#w_rq7qMUZS$?Vn!%D|%0K}MebmIGW}q?v%UyLgeGhm? zqF^Qvb|!B?w$59r_N?XUb&LC*!;jyXlNC-cOz%V7gx zTN`55HwizC@7_jcH(dG`1uy*&^}4H`CdIv~+st_P;G0 zUr9}rn=#O2)A->6h$({eHd+^hs$S}&R;kjj;{GmXy?d!@BO8?nDAgkzzwBHQN`4#F zG8ILUH7XYp9>2r&{aSCc9Re1FnjIhixV#6KmvP11GK=xsKp zdhFKj_iHu;**fs9n|HPG60%DD!)DXKZ;vW6U6P}V^z zWS`GDzB!#YmQ=> z_5w7!HTm)-8Sz`J(G@%4a93Z-n~f{S%Qvbn0fQo?Y*v>&yK2&^~_iGsx$Y=?Y+*ZtBa_e<+ zH403=N11d^l+TXmGFi`)23)az&p1P-`4sy zxdxFm(t(Pf}b+2E3O>Cx=Vt=0}5_vOjHQUjq@c8M}DX;^T8ekowlW z1M6CM#18dFBnO&XSzj{|%6vmU&((EmVB>S)B#KkN_QMVYWSc67c!;GL)XkBklyb zM%NC>sd0R+bb|wi^a6|t)%U1goGrb0L}BXrf)B*@XS~PU5WY^*5bKyK1Rogrwz>EH zv$?7~&dPnrA+to&TlG5M2u`&TA^r#1P38s=V!C}iaFP|VQPLJ-qo ztI0kuD9fyZ z>XZcx#rjrR6i|$;h+$xUVXem9C$9#wrjtd*oFgoqBQtb{DW+C7YLgI>gmK9&IBZw+ zEF+5n`4hK`b=n{Prep)6laH7x9KRAB6|s;%goC^z3KAeVAcx7?%%-4r(O8HOZuPD) zJ}f6y??sO2Xi*zchXn)OUeg+kYL*;A@T`?BAvXG3Y8iSN-{-Vv8h77rME_xO#G(hJ z?=al(cw$Eu?V&R0j?}U)RhWE4FJnm8Dq^bUC5J+>Es(FM5z_aBb-ZLvo)j)>6>IkT z6G#CXHMobNVI4ZZ1ugraceG1PsnBk#bIJ7z5ue|cGS-b_5JvB8XMuIkjuP~U_%27ndaD*MpF*r!DHYa=(B=(l$Z0}ba)p2WCb?MK~N=G{vBl?Dp44dsc2 z_ORm{u~+~OORtC)`Sm>sE!!xj2{|HkH}PO%4d#m%36d>cq_nUTq>WT)sEU6A1IV&wiLioWjU#rT`X9lN zj#`Xgy{!(y-(Y;2~nbM8mBkiN^ zPv4&rbNt|nPJ_PO_%2Y!pa-1t*&1`dQ$Dm0*>q&m+n52shxI7SSzU)1O2bWcMd`)S zA+>%x5`VXM^4`dmBA#l2$4C{AzBuaiUY`{)7&zNcw2_W}1!dC>x)JdP_eRte;p1cu zLwvl@1b_||stsTlz(bfF?oL1t*##jCAY59}4i3f+xE53ai;%*C6cagDak>d6u67yD zaWdJIk5InL)Rxf%VymKxC3|gVqZg8*@@nMeR%ezivkY#&;G0g<6S5D)W@YPcE^sP0 z$Uey+yIYn1V)7vKA^eJ*KRVruDLLcEelgcXr%`c<1AX4R3M1LRn!5_M_+8+^yYl(x zNj9*(W|m$U9i^4tl^;E?BbV_U$aBq5KF3{py{~3AQ zYm@Xh%PE|a`NUoq%-|8Ups`OYjMO(wZ~zg7o{)hF5Y_BFp$wm76zI@{ zZC3~LK@M>UfkxOL5qPiAkT>WqOD`P$0=U7vl>^|^-!ge3+7_zw6IqSh{mKM3s5j$= z;$C;I&E41T&ed|=eM9&w@_F2S{T|+nc`xSO$GeaBNxV=8$wmbF2>` zP>8Oowbj^D7l_MsJEJk)diO-y$lcj4jax&=4zp!xwrhW#17!U4m_^EY@oBTi#nR)c z(&O;|olas|xGFVR`Gl7aj+PGoWJh}k^XVX9%_Q=FUj&C3z-A#tk&7!cHQ}6cKYc5; zivn>Eqt`wuz`R4?tYXV*1m@yM+B+?WsOh_nJ3p1&qHSRTy*i6xNCZ3ro*tv158}%6 zHaca7lgf*I^-Z*2lk2%CtbiV&q89(K2a8d&$uga$Q>~ zi(OOIYozS%$}eSvi{CS4KrxYhC^<_9E~wxR30zQt+y`86a5;4;{$oxzNjR>Dvdya$ zchv-HlHG+7WOJ?TP3UP2phEi10jU&oh2A0%tN2eXQ9Xy@2%9IU zZ^R(h@D5OiNPgx}iU_Eh{;E;xPhae|vOmYOKKIbpzCt;kxDt{7!kqX`HK~M{Z&q@w(8BQE#x?hs427O{G-A z$%eVzJ(r_-LM;y%ZPgYNqsjVp#c1v4_c=&GG*3A0%QuZ>pIK<4e;Glb7Q4_(4P;U#HmN5P@U$(N?Izj3hiN|I<%L&suO1a@}r}E04PU5kHNv)RB z0v0|M=!`IVm|)7@4J58vEZ9cjL(rn2LqUsz4h1a=Iux`h=upt2phH26+8mHqU~lqvYPw4-l7m#dlG##p9cZpWOH(3KyD1^ctm-og?@&dLz3<%|APVpcmnS0uscfr0fQ-VxN^gi|o!qg&RpP z;9sH91}i0Ia-4?E65#51&V$ul8Ei5Z3B%GTvUPzRfX#zk-IS@DcEcyxlFLP$?%W6l zt5zE07(v9=$dT11_g9Zf_fvN$Ggd?63IiJZgc_3Ce`V)Ht`e_7Lrp^A5JJ(PDY^VU zrUXvC*qoOSVMWAaMSQtglo3M?6t**KzLuJ$9##qzq0G|dSfenZv8KCe{--3O@QZ~N zW1jsr6BP}kSl>HNOYxj)5@>fFb3o#UvLbQkLP?D0e2*Vv^fowW?3j2C>veyz@QdnbXga3yfse0SMn=KMN)h0w zaRJ!6Qi{=Yan4OurVY+w?y3=d zASO#X@6#$1eGejGwVcz++M*Y0@vF17_~U{^<5Tlz#-|R_68A!(8rDDwY(kDWQ@lp| z$@eHGz~j-W>s70+4P-)>H@}@h8NL5R8ab~gD}HaLUU&6Ml`C9uzW26*^CQE(w-7DS zy~+<^=!dqgaxQxB6?z~AJU?iMDdFal=C?2%< zeKKC+g{I;^b|rhUa;1Zxl1ql_W3(g)t?lG--GL{1ZduFOSh?ZEn7;!N{&m^p3MU5n z2xggG?q~s{`n>}pS9!l{kCa0BvV`~r%IX#r1PQdl^|BD}d1v`+y9XQ_{jR{s{D9+c zR-XBXgjjgbj>7lVyO5)Vi@u2diAkh~m7l1=UKsl%o1l}QQ%HSWiX%o8B3?Oar+Hopvaq+#)%{LE`G4iTURL;F0!v( zHzz9dks1Z@K+$IBOyPI`YJExCYIacPW>;Iy*3B)U+0^+~ll-bC^Q|WPTTS*cn~ZdG zuRYow7)G#$vQe;Vm&8)_fsDfV8|L43T-d?pXT`muZKT0w$}z_mgieAHbEnbWvs8Cs zEKYY1jKWSj@0$vkE99DcsYQDh*$(W5)n!R9B^3B2Ev9}Yl8iBeH942k zvfOqZ-GX4_O;s(GsA{D?vo_%oMa!X*+Q^SsXS-1^1$t6)H4hpRT#-+VqIzXWep(G} zC3ZiZOaY>2D2akZ$cb>=>9{zY=Qfr$blm!-{GzLae}${0p*9@Oq2&G?j_9`u*YK%I z6MYcNj+v)6WJOTYU8V-F%pGYg8 zh6eK7iTeE~p1;)reR7^y1VMpYLFrB6_mu2ZJ}b1{_|x0tt~xAh%CIM!|_T+W|z{l#O?-;-ridQouJE;&?{+$-Z2cyU)h zPo{L9eK9z-?dE7OG39yIRk-#<-q-j-H72Z))rt%^laAA(tox;AYJVlWBq5!5a7m`l z=yU`Q4D`IR6Y0?MDzj&?joH%U>TAIU47M+WWuR+(w9Yt-n(@bld#;JgUs2N`2(Ihm z!xps5(qR`GsDI;?o$9BHur2`4ON=BWTC_a3{7fdTF7f~^KJhcVZLKtCy67s}S-V+6 zmG0ggD%mk{`AXGnDxUFYsPBVuh%neS`4mCf;SQdelJD_jC{#?f9y}k^?HslLth!f$ z8?8x2vs72T>{~Z;y!yN>Tb)Wk`2P|5Uf~OdVY*%_!8-69`#wic_}2W zK{hj~=5;sk4J4dP0yiq>U26Rf=<+K#O*Wl*Sr3k<#Ras0Jy*gxQ(6T1V>gY|bxj|} zWn62ud^Rob-!*d5RZlKM-(57u;UCJWJJrj2IV4kQ!o1*&_VX(3wZl4NoP?tne7xvK zY1ye7Ow#mcFR8(P&d-`$Y4;6yu&@Ha$TXUM_vT68AM#%ug;y3l$!E@&nts1hbQJ-c zZYsx0lzN}8e8Qj}X<40sEsJ>;7E>f}qK*P0_2AbfotFR-QX@eF`c`8M8MsK(Tc}Jj zi!cxhM|JJBQ!JhL&LVS|fN;BYic;@4=>;S7aOh9u_+>=g?j`cBkU`<=N`Pb-&&HR? zaAh^mVqhcp-Z-q=TZfhDKsxVhDo?S2Ta2D%nb}km*-jbF2SJm<5Ph@&jDR1KU)pVJ z&Y^|Rv_FWMO76-2(agL3s!h>LP`rKZL1AFIC)@-T7yHp}>Aa`zp}E*F{&9nraE_uv z%q63H+cgKecEF_1Z=0J368$y#Gk(S-Cn`+_NlMoDiHuhEcBBlX6&XoV8)2_;@O`#bQk>3~-Evj*caJ_S z?wDSdF2!J?aB3s>DZ2>smc<}W2bY$7M+une4ywN6g-j_www>hN`{V}>;Aey1nLUMPtSG)Kxwe&8qjeJWTqz0cg zzr&Z$A7rg|w?O{z$pmM#X72z5MBoQ$FZkvll6XsCK8%TPUC)c%ogN%4QLHs)j&y+CJ6C8-P)V2m^tk z@9Lp`dVRf-Q(%u=tJfDeMiapISUu$1z4o16bFd>BeG-QRDgLG~d6 zhDZy)093?Qo?6GdaH0$AJ3c?=V!UqS_+A;ekWy~`cZA-(`ldO9gXQ=) z!`X+QaAK5_nt4M+V5m|DO}Zc$K-2rnLY=E??cLAo-2FbP`>r(FV%P`2tm!wgUc z+b~_J9oK{lT$cL|U+m68_II!_cBhAtlpoTR8xQ4R8gYrZxDc-p%Gop?BFghsAS!Xz z5q#f(3qgxF*QN(O?qCqTx6VEzy5eN!f}MC+Eu>n%YgxZYNG~f|R};LL)to#3uI3g_}(E)yMa%H?p2VP3TB$M!#=NVtpEB zNUfzpX4Z(OtC#_FCpP8^4rixVTV56EthS7TlQ?M={Wci2OPP{7BOe}uwN?IPhp5i< zqBF=5T8xiHs?%(|eYv`)c)LVtI{y>TX8(og`IM*v_p3xO#%+i&nFZ52ak{#T__IA( zN?%ULe@+U`FlnErC$WvW7h{UuBE9?KymY#(Au+|iIE!tjM4dw6c<>4xl80g&Q*BZv zsFeb-&UDFm5b2L}XZp!xY0Hr`E;{wfLjq&Wi9^X)Dvxx1HM+iv#Iike!teF37C8d6 zY~nn2R_UZ8ayyFBKam=a$Oc(xC|UX>@Mk8e&ZFdf(CN5`+LHJ1=X7%d>{Yf&<)R5w z7r6&P%~bM=W2zr%dhC$ZvG0ky_uDjGH#?5s%2=r_+Sm9^os3(T8Vu8_TsOzko};2u z4i{&Aa!aMgtWN2-spnW`*b}6&ab#5f{3??tB)`|ppUXI2s~|xu+HMq>Y56i;yyls& zQjO8We3r2rzm@EX7sU0`tL8*5Ld@+v@l%=12}gvODb0s7WK226w%24#eT+u=jV)zv zf!ynuTeLAHhtv3@`qJpqVoe?`_OU(sXF%J;l3foR$z|k(9#a&NkaOjubOfPft|CLo zE-P=NPwBdb)oH9Vpw;9nHvQ}*oIjAvtP1(h(p5&zWI4tih-_pd6{&Y8SrXBhf`Sqx{Of>ydyR!EXn2W|IJlZ3oZHdj>u;@0pb{-#bI-vxxZ> zgmS~EAXKv8OGZEx9YYgDtuzZpH(4-hT*fSbC*h;j*MORQeO5}J})-T5a7 zbak^(t0A1HqQjLa!|=VKh)-UPi2d~KMxiXazSsO1@B$Mrm1;-87)wnlS%W`Q~ zTdFC8cr!etntPc$bBzV-htOfn$!0`Iswcln-TFiiDPO`ikTTv(!B1Sy5i{jdGX)uL z&Ie}75HrO~%A00Nj+x>kWtW-q)hnuIjg)3HC26M2BIOM;WsjLMhmQ+>3xmE^ z6`cqJnRCEQ8EvM(j^^w%Q!X-7rjXLztUKRKnNG?#W}a@6qFU>;zKPMS51VScskZj+ z%aRAC8}9Oxu6&N{6Tv(dk>n61_E(-)xh;}?ssGLRt-xzyqL;`2;4u+(a$HGFoMYUt zKIl8hslQ>|YrYk;?up4?89$L%UH9>7%#h}FU6bdV&F4w-JW-w#`gESDe2iJaBj(#B zR^{^ch9NOR$ytohjkhz+w-vleQ-}_w`X_lc+SaP)XXN=K^Z9vsK4d=2#k=vkdTy7S zFn3cMe3LsxN1u*-3Qj71`*flV&%#Ij98N(W+y&s5Y=j{~fO0sf#FwIel_<9vhd()y z)?XFSz_A8=WzeNB?A`in0gIr%yDbl4z!5Qh9MW_4ha@nP~_H*RF+C((2+Yp zZWT-NRqTN$R0B> zI&hx*Y1q`^xy&?gwHOzrVh68`gvgwGi3Wnnt607oZ#)Z|){qo~JHdyIC3TJH)r&>% zb#>guJ|g}cx|^<@pA!wm--h%ba&orfXWq{4z^&6H2gre2(VMV0|o>i$Uf4MG0NGc7_&PrM5c@C z-NJCZye0s988KX?0FU^le2q0g1UF>#5PVhyP#H?ORes|;p&voP6k0e6pQh;#X-thsFlRp{u;8xVnhX2-Oa73hi7crD zJgkxjwx`O?`{TSzq06m8k4T|g`O~4hstwzV+B3Vim>B9D4+)kox>h<`8CbJ0ZBsC6 zAGHoVNKMV5VMrg9o%L!G_>W`QzyqOSJE=xs#lIHtx{jjo3@~%DS*26-_k7TD2(UjB`wT;8r zJJvSOy&x9$0Vd#|!H5`up9&*lzS9Lp+^;rdR-IWcYAZY8cR$$ZkF}&(YguUb zealS{Sa&(|Ez969`dmvS1S0hlCA;cBabnZ=DtSO<4aNg6b6fqv5HNwScH8bl@v6a+ zF_8FyJ*aO8)gQ_V#D6Pb%#SRjvMZKz&&yl*L$$K5;j#wz^7GaELsHtf1%X2H5)%B0 zt8v8A;I0zB38zT-+EoyDwH|)Rgt&kJ;5Y?=&24 zz^~ld4N{Yv$nHZgEU1WA%K{r!YhYNoLm`TpR{uek`=zQi&r^t?e^1^bKMH~*D31d* zqkhYbNW%#_{E(ClmhD+^tFF)*41g~%RY23pGE{J*@Yve~*zK9-2=BwWB z{&#vS$j}>8C~w}pbMO^!~9CQa?r>pdb-rAfd&FfEnC_-c(pX*Ph{tV8ufn5 z2tvRG^BXv!)2mc2p5$v--ydJ85|~;k5`vcd%hsb70ONoOU68XvxwPZ15|_z-K+|mN zp_AIut5gcjK??!a`2FhLsuphu9G>=Jj`;%2+-S2x3B#vMD^y#oNuaF7U459;4#fIT zVOP3fxa&G#_r1RYyZxVThuzm6Z--qlh7SbMckqdHQMe#r;se-IAAW2gv7#O!NF|Y7 z;ixO(@FmWV@R6lgEz@RXaks+wNm2XtK_1k8jmtwx9r*6w-2oR_JHQ<)qmFOe1<7;y zXu*7P5YMgL3OlbIbRymQ4qZog(!_Pe`VJ7H(H2oI{k~>+6l4!k9`xAcD`Vbd3o)agGz&rR^csDZiuVk zFdpF}VKz+c)xcCJoE5us1rKj0VjcD&R`hT)+rdq#3%~GPBeqI zq^8;x8pH@l_Oil(Rf=cnLT}Bac9Od#DzR}Rw`F*MvrfW(cEuZ{MxWG4#Q_M9B~-Y* zt5YM$q5Hy7IsHZHlq;KC(5dzsT&D(WnEEO4h1u2Vg?%fT&-Bs-J&?CVY|$*oc66BK z7%q76IQRIPdt965IDwNh(Os%KDnne?gTDd2d<8dY?yC1PL)^s)^`Vv851Vb9{{xRY zcuh3fGMI1^UF`{$?Tqf15niECLZ9~4fSE`QJ84w1^*c}f1M|90{kv0T*)V>s3l#14 ztANdl?e(`Fsz2Vk&_2(7Qy;Xhw*jEho@-cToBz*ssVhjak#bgInXNFLR{rJYhm=PK|DO+~^5yfP zbo7eKFVpE<+k#6}^cMf0u~ptzyT1N#w}P>~E5_GkpBWPSijVz0clvA2z*Yhcx8$Ek zh$uu19Fl+H(ei2TlWTV5zUbB1f@3iFa#tSMni)q$PD^e4ghpPD3mB^>&ZC zun6KQHOM=`E-w%VBxAJ`vX0@_xh~YYHx#RLV7Mu^wI1;es@CYs;Zorav1g4eLaK*s z^KLf6blCxDq?X}A(mp>_SuazHGTvTDX+508^m+pWp{+Chz3OJh9jnFn^vq$+h>NpU z+ur24S91v;dTEX?B~7jb-PKcAvry67q4-#B=U0fql2`!JHcG>e)Q6<{8-vAmf7AbF z?@i#MtlGHYdst*-amExy(;NkoL==|{#bt&?2L&ZpY!hS=5`kbwv9!?91Sg8h(x=sS z+kJW}(Kf&hmlU)T(-N0#a9YSpQA^(cbCh&OWr}x1`Zsnx?d6AC6$A*B}<&FLiXlH*<|=TQ8-T9IYo=t34d5*svao!V5%~}iK^BA;STadb7wa^o9uGoBenH^SHy9|Q(Fsp|G0&zI z?V9El>D@oW_YJSU3@S=xp4hJhUSLLw=0Bxkkn+hb zj@K$-ku`)Zx0}m1DNtCWlSr|eq8N4dG&G=jyRFJ2kc({^&gLke)}>@YKnuFlWw-2} zq*WAO-(8dZeT}8V#7Z(-i+AC#n4vaf0KE==Su1gHGV;mK8%eNYk_Sq%q#7&ctRVy; zN4!GIWXb@Lj;g3=F8`;95KUO(dvJgb(}MotpSMzuLjciNtv}IJ$+|YLJL(|9E3t4+ z>NW zPuRVWW+Pu9mWJr&Wuvf`U=Kcf38TlJuy{BJI4bal6Uw|!pdeVi%ZvS;-R<6+;J{X8 zEc1SzTp~ABZ$-5XJp}lOG3>SGbZmC$y%OF)56gCncdqisZiQY|c+0dC&?m{HLm}+l z_Mhy%E$q2ODAO$_56$W5;uRN0_w9{H6y1$lf%J{x7j2S;W38)yLXH|+g)lE%h--<$ zyocGgtR<|~GQm-b;!P`g2BJFc5#C_&gMQ%k*VrbDR_!03P8GM;1+y&?j#2b`IQl=S zW@^WUC(yz%&KS`A zsv?vdC{&uZ8A~wsc}VvT@+HQaL$sgKP%w6=tj;n8*OOmR{o&BS--3Zl%z%HGs1Vy6Vo( zTd7lqH3EB0v@D~#`kY6o0)K;#_|*Xh?}mZU`t+;A69o{w-L&Fl2^^7$CkDO6Z=D}{ zoT2!xw3hqRDtN`Oy1KE4Ukwr|l7%m)7WoblMgD8lW8B`uWNXyg_s02E*-m;8CWaO# zwZnuSy-f8Ezgq0L>ba--lvkWzb(~)fnq1Y5LHJHd*@oTqyo)K5Ca>9!nj_AqT#N+5_XrmYZ^f~M0} zdMWlAu@)0j74k$+FM7MBHw}?MlsFj>p{2rhcThNU`hyxkz2N6AN(6GqR?K(c1O@~` z1|C-8eT#4HK9NW(7+16W4ieA`-dEu5C8&o&C!!$S?!rgdcFI7uapozKoaHA}a>4Ow^E!>RQ61WnS3pKE5s=1`yo++ejE}Bnut?0!ibjN+nS_% z_iCc&C0Z7e7-GO?^SXYkC^aaE33lwzvoql$rsPww86UQoUh^~Tpj>e@7W-Rm<(bSbbh>VE+IQC;h ziI4Zw8nvcG6gqRg6T`&cPA(rA?jD`566~Lg=qMsO_YcKZI~bu(jQ+_I;z}<@gixQ> znZpn3KJ+d1z$p0()1>I1Eul%+o+tdEu3rhs59xuI z{#{L_UR~W%+Q5-^JG)jrBzsh>eHk=BA1C)}nte3ady6|H&Nv)8c*| z;v-+&BoU6~m@^dC5~6?nOLU|)16#wCz8SltgzrQCg}#W$Jj=opqkk+4L|0)yIy7&I zOoKj<$WIW2&h{Ke4HE6nCQncp6a}K`f&5h_^OtHBp6F~v!s?$*4H(^^?U$)gnQ>x* zC}e2ki$VvbV=9EmprWvu?GK59O?^fKPWD8fkxIVYtOb=(hvry3mA?iI9AR&A>oBSW z@N>x0-7)rIw570T8?~j*lv0-!r421TOx04AsICe@3-1d$XZIkv_l`ri61tzqeFijwz}a|q0^7)&*Oii~l_fekx|euvH)^mOP@ z5^T_0W%Z0Jy^i{Cs|%?=L>_jTSUR&8=8=<=o6vj5MsZyowsJzN*(;wSdXcQ!e;lwWn*FNd1PwE2Ab&Bwg4u+?@-2lc^(@XJ`^hFI$69816) z{I9xvC?d6VSyE(Q^h2tY*Uu;A1$Tv^u=T6kV-ba}e(B4?UP7;(nm@ zBz(T4A@4O!?+dSsE_o32XnKXACqd7qCmDJX^lDneP(;n!c^^zKbs|9Cq%hKiHPUX9x$}NXjd&7-Ug93q4^MzD>VnK+$nI2_9%4Ivg z?b9!7l)1Q5aWBA~hueyK8EzZywYVR}y#e?0xL?KnHtzRvce$cb`r;mpI~w<7+_Q1d z$DN1!Ufd7jehl|>xZlA2A?_O72XH6;p;2bwz72O8?rhxoxEJGIj(ZhuJMPDD{{#0% z+^^w&2lofK(W!32s}vncvHz~IZNsbXj-OD2a+7MkjXLtqR2s|ro|c@Rr{(}glnf5- zZqyK{F3?M#(P~?&RnTv3MIpMp#225r3vt?BUZQhsM#-`tww=`A+$LDS$YI9~aA^Gx z@*H(|vGvqn^)8d4cWH#)r5Spc&|C7(Gg0+OdY4*rx;0g(lg)x!r2``%t1r;%1~hK= zIOg1d$*x`4eg&%=nlZ#(j3IPV#q^A`7eE!W1nG}Md&0g0CxTo<7c;1abTP%Q378T? zGibNj6BWD}ikQ_V#;7Rq9)u%#4+Br-ybq+Uu7ZYwxUIFrSmNt#1pNCrMK85rAgH0(m4v~*gx3Vm{A z8^t|t^*PIQdwc;I4uWBHv+fZz!T*!b=sRFP4`^b>XUiec68KBocj{I<5XUCc-=gKq zIHs!{3qqo6RVCJ1aItCclAHgX0_(I0Sda>=5E&-os9JR?vEKOz$?PvmtjMQ@|3MBI z*%7g&0TjnqJH=|9VNzVs@aT^*TnHHgfQAR8i?8@#n1vC;;7G5M39}A_u5+6%>jtzv zXb9_sGn{1M5`+^Qg1f9WI_`lr=TU5seSyjn)L~sb=)Z$U?ZhN4X}|VdO$7@%-i{n^ zM~*Mg)T=9uq5ayvO;mt&jX1?XY@C3lShO8sK9ozK>RLteg+U5pWkmB6M${#X6YEPc z?m^3XXlNPiNLp(u>UK&2o;ON!gCie}IXTvkWexD0x2&Rl9SX3o18PK^0%t!h2GG!d zqwy2R_ZX%eu?Kn>>#CthXcJ?Aa{Yz1m*cTjuDT`q0lYzV5CrW8(mD&Q-q_4VI3&*RgioY6n1|bw- zhuA92749y00H@vv-R!@to5aFI!w+I@h^IMSiyVS_h_^ z{0Zx*k1&ol4zfFj?BBOFuw*P+K@EjBw3O(;z?m3AOU64yR60{suwOpD0b+S-;P zTNeKs2F8zE{adii_Z2UhBMlNJ7GVvwhI<& z8q1d3Odq3W#c)O6ISAjhqJ{S4!Q3(oX<879udB9GG^UpO|A{QEBzo2+U^~jFC`*^t z8rlb$I`UV&m;H#r65XmV$%cK_Yg6p24wI`G^dwrwPt<+-axd&AsF+&uk=zkpQx?D8 zY@hWAw(v|$uS$eU^dtAs7tnqXJ&n@10BjRZT@P%zyX+@)eeTE7tfbZidAQmNObJp5 zi14eI{zNuAf*mGASlGBQrgYh*@#twKM1O_t>B^RWhQ+0LC-J-OyP*NLsh2gK7A`lq@p|t zhtS18k{G@V8`5Lfe%&LDu!8W`qjho6zT0+54GQgrD%9lfa!yNHkKhi9;BIyW=Y!x9 zJb#b3pGEd~S8VV}37p2sid~y{Y21ZsFH8T}wQ-lmm&W_x;E8x`$;m6RrQpbkJ9z8k zOu%kGI7l=;2uqZ+Vn&ZOEgzOxzF3nOZGA*%TZR~7427-JIvb=p>>tS9lw=#YSR&%Q z9?ck3>98pHT9uFSX>=DcQG!+%{Y36Y1@BE6zdT+i5*Lq|!t!_<_C8N~-choZ`p)$6 zUUid@3`P$j>@_5f@>x2xA~4jmzcp|$H1NsNAMnZkRrsteo-?%Aj4*Drb&YQ2&oIO{ z!{}=@RtDfXi#|Z2)grtqH$tTr8zu;kPDe?PaP&6R?AB;>EB}e7R;k1vLjDi^Z(<8WmFtIb#QHq&Iyx4)tAjLNmk5nNB%z z1o9hR&i4u8_|$k5RR1b9uVWL$+O=N8OXIr2F)|?>BX2BgjMKz=IYZZWiY0GV%P}R1 zE#th(V>D%8YFh*6-+}^-h8{WyNj<6KJa;*Ly`RA`d5AQoz!7)#<2~;#TD-#FZ_ESJ zI`Yb7Z0_sG2!UlZb?n}cjp7<;RfrLs#B_WVu?QZ++c-0pjuZ)Kn2ZfdPtgZy}B@}I(*6|VQcW6MftSw$4J9SA!|D!3yk%(c5a=7bBO~m2PD>|n9Em% zOh6b|yH|KbHVQ?38{R-QEgC{laux3hd#FSsnfPd3hvC~u%_J{u)`%AF?}bm32t25bNoiH3q$X?|@Pqz0=pc=+bOlff4W|BVcEww07~ zR5=XOZNW&*E)UF+_*(V0Nm`GsGJE>b+%;yW#S}J#GMMzV zns~HIWFC3nEaj8r*_>o=!L}!D*(5_|6VIgRUHHi8YzKshuplHM`f5>xZVSe2c0)v$ ze69Z5qv8tErNi1;=Dt!DOQu zO(7adkF(c`jeMa@+~WhZ8yt{Z0&N#<8KH`Lop3-qcH=9D1ADP2KPrm2@LkwHXQU8x zkSC^Yk@r5ww;_BtiXkH2G!ozN*1#`ExC-M#AtV~giM30mxJih}iO7WuQTND0jcF?~ zxrPjrw8cS*WvPZTv(}^@>kE5F!%lv=~f-X$rUL zGyIUo`GcU*<8DTusR;Y&?oPC~CRG27QX4p6lAP;Ay+fji#HsU_FJS6iW0`F~=qNsg zsTkV%80!lgJ(ch1{0J zbSST&iF6*iO}bTw@Kr?pY`sN4|q^s0-ATIPt-m1_ZwQTK(> z!D;&(na8OP7xwRleKVbbjf5F9Rr@sL@~lkJI3Vc7S2IOS0& z34;Y)Dc!0S^l3vrGpqotFnWPEQ+KPpq~xDV1u z#jGiZT*jXX-_85xWVe0Dq0J`sZcMsu&E4>M4z7yBV2}Oi>y3Xj|6vKG-l3n+aeD&& z&@xZQQwUm}p@=Dkt)#{>2V=PwG(s8-;Md_)UHa`Hk7&YkLrW`#o=T^KDT+I_;Tog{-^Z97i z;Vc0$$qY^jwPm$peWTVn5!AaHx!O4vfo;V{K|x*_IjB}B&e5s9=px`;lHeLQSMU#K z$zk>$zNC2D;F{WMn2*WQJ%GIiZR2*M&4CV96Y8ieU04I|MhrL~9+_p<-H*}aD}A4b z8<;w>bTcE;#q-dJ+d*}!R!cW^zv|BZnx&ibW0r2{PThk;h3T=tHL!DDcSophBe@@X z^LkL-ss@AxpF*2}5-}(r?41vLiNOKIAPMy+v9~co&Z~us(ADH(I@qKIhRh2Zs}$3?LEh~GeA z-i)AsfroqWT#skEPvJfXv(Sw)+7Xp9sw(dg+k+i_;8+>PcZfbBsK2=nF#N*HKh{^e zzhgW6YJ?dkQNs4K|47)}1Gv8hj}ldl8~nCJ;SKed$q4KvsQw(h3|#&!yhnCInu@-} z#K+}`r@=+8`Mv2E)J0hp)*BFufD6yi*WP<5BJTJa9|NaZo!=mCi{u6p_haG?YMU=N zM|VYL6LRy;`k#M<3G()7up^)0nU*}fuyrSxF!jvBzcdyy$O!*S5t=GChCD(hd zK)``v!u$^JNTSY^x}8_<+6(j0NRF6U(7C_t{553{!mQtMs_FGmPZ7zc*CTop*EzR- z=drn`Ko5!M!*kE=JeKm^&SQ6+g^>I95I)?o9cGQN7qA!_DWIYE6FoiGTj0}k``$(P zO3Du05KYQEfIWn@NLpC$5# zbqG=tkOe!)kI#ecn2ZmBo4>O7y7WoNc8auZCEI=4+lIb|_f2412I4_a50pP|!Goyk z5JoJyI_ryE?M3r?ZXuzr9)J&5HS}5gD>SUUD+Z0`7@=g0Z?zo$YuhAy&_M1(;j2hm z3aI~(l>!f=ZGlN)>}{Bi9xv1c@BvA*pGwlj*P~Hu!fx4SUHs)Z`=2mr!C`+%*I!5s z{v`=}eE6GpW4#&L7fHz6S@EN9>txNwxDFk_fVuVJo}`oH8DG`~0G~Tdt8Z@#hE3Dj z>X62LH~~{A&hDhS2@$r|Tvi}9HgyX-lmet)jtH~LEhgyv-Xp^n`r_#I zNv-X1j;}XUV)xmb9bt#WlcVxM1XYU|I0m5ex4LSnH>^9+N5P?zXkq#~uE#PLvn?IF z$RJ{mpD-Krh{yfxuqdVHz zZav;Z$=@B#{Sy?-|FUJ>QDKP2W5+G)I9{%~6|}V?(alCz62r+fuyxL{=nG06PT=b5 z)~=_r?VOEiIynJA^DDKjfnVP!dJfmM2G(I5iDY)zaViHnsg9bhXiGrv+IMC|6*}(N&$tG=g|=3e zjMXaE^VCPCqh)FGBaGjdr5{ByO3c>E*7$?sJ*p?ndZTfUylJC3GTD}QjHZ{^;79~P z_PMZqf@KP_#CFV}pVE-BEBYF?T8tt?S2PZzg0;3iULjh{R_fwv?e(_39wB=Bc3oUO zdL!89OoK5OUEJOa+dVAa=&3YygK~>(o$ue@gqa0(ehsAu>K@R(-ux+n4K6n>`uea|-TtaCY89_qx3Tm?` z@FG$sOqRz%hqwk>wrJ0jO%1e#rM*v49l)Ay+qrJRyV%-iN-BI0-fbB$PBGv+(59rk z+p1f!m-Kj@J|@4foF0B(nO2-KmcX{{oYB(PwBlUV190GPvRyV>uY;#SPJcL16i<9I zww>!0kNN(Kb#c(04n7{|w;g*Z=vHl{iWs6isfUg+6p5kk?DtiOR>Y+Wr=f3a@(uA4 zkrk}^5D%3FUEL53bB_9b8>%45y11k8Bb4H3369=nx!!~yJ^J6qab#xgX7W4X#3rTA zE)*kY0C7w!8YzmH#sNWRTRwPLbn?N|8VH*@r=M+~(b;LmK1we+D;bwS)AW{67q%NM z!%zkILE_HgyS#^!F;xV%)1SfkH+(gOnEAB{@j87a^9Y#seR#DzUf8X{9_}#qEz-%=J?jMTs?z|T2X-|C z&#$N(fZpOO_oglsHvSYw-HGpC6tLBRWI9p==Vua5)QBn^K#f-)iCHr$>tbCK=0E8K z$=T-e>^(g7sk^BFa`Ene12=@?f5zU}_Fsg^wwCmx5`oIN!BK+ZZ%>*>U1c-X*+!NN zdi7?}!8bZ^HWdvfS(iY1M%(fSJgi;q@t@fmPlIoL*H-IU7XKM0Z|2F7ba;d#WZ)We zQ2D6GN%&ClK`rfg$Qy}S|5|G+6t_k~O9mfQgo=?S8K(Up=$-lYSqsRz+{h>lVW6|< z_#GW2XCI7!mY@hwlff)f;;05xW1RFeH6ym9Uv1Tey&qBs$*D6mcZmgx`_=ITtz!18 zrEyxVa4PiTQN7DLT91(p+OEO-z0qha;!Ji_s=61;yr5p8SAxh9(}8ncCPAJS=Tr+8glHM~m)1W5%E<2!n>Hj6gwT>U!U#@6d8 zzCuip5`8qH#Mrg%hitq`hc4_F)W+zWnn)#e5SBS>tT}OI#s=LSbZNUL*WqwEP-E?G zV^x2+-)$6|_BtcbA~T}0pfi8L$Jfdv)==UZd5D^81IRYs4k~sC)>V*b(=NQ7V#o84 zye@2)E=+1IWK)@>veI!MXXqnT>~rZO(4tQ}?dQxo2?0u^oU@o#?nO!o)fm#HuWVjg8&_4<;@KJyeaULLP*Q?tjisk!5L|7g*9%=KM_=*+ zt5iOPcU|e3T27I@Ma$`p*1#w6gyRbjI!5m$9<`MgA`DU#Y2Q}b6;~gH&ABX4`~3=) z<-MsQ0b-PtDjrb{sa4N@TSAanb%?Z^v}I5MD>L=M9k#~QU5=p|k(S5N7ecp-Uf2*4 zKxABbtS2ZcihxI66-^13S;?w8GL{8g%ZdxXM-y7~ngI zcYzey;S1li1 zc>QOOfNwKH+o&H z8)3rYBmFQFf>#-xs~bI;p>4ZX517Mu@~hh6&xRTpI=)A_#Bys) zO^Kjv3I6&EHC`^Dy-=ei5U;nH{k<;K=v~0$LXE)%GYs1Z#* z^ggPsC~ELR>**XQ9t>9{_Hg!;7#$koYiMVCJQ)5Uvf^y34$I)qdap3_Q)r?qUf)@G z1ck#Wo7teTEjKEdk%jp-%qg_?PsU4(kHoI~Fe!unD~QdUiXAWG_5G7miP*c8nUkGn zl7y-9G~C!t23llS>rrMBj?L0FGKQP;S$ca+DqD*Y{?Oj|Wy#5oACR+9J(efw?FTWN zr)dqmttSZ-*reS=($Z}k;X}_PMm%?>XOb_Ted*alKKs!#wu2{gf4j!k=xK?h?_)pu z=|bPgF!KsOk})(1VJ84T;a$+f#&Z{X4uI%Z1h+nq8jhrbFq6wVkvL7s=CV%I&WfT^ zX{1?G>Tnyx{-jjzV7|-}SZ=zCK$ZkKo!ciLYA6Q6r=3>F4nKu^FT>!YjADw6~BWh_mL&zlF+nM zETI>wjTVFB7n+mnzsoy{3~6rJcJedFaTrpY(Wxaw`zKP}gEk(eNhD_;&vVfn)N|k? za(>%URZ+~Eo`r$b`Lq!WOL=8-Ty=0_x@jyby+qGyEEmBPr?GpyZc7TZFsgzQJgaC6 zsT=Ic{)y3t3VrQnt>@mv==#DgCM-a*RfWYz?<+ioqas|Mu^hxGkAa4G%E#Stm^8@_ zI-nVV(Gkl4IuA)Kv~#RPCZu^Ho!uBx?dW&04vQJvK2V6gs6s1~Zo^>RXpPliMoi6~ z)hnWsy$l6Iv8etm&iU`lQm3xP8r0jSU$I4!)!C9W$P?IZ;2kC{n z-WuhBB)bXOV=wlSaG?5gJ1|H16>krs+R=8pCDFdebV2b#o5+GLx>1{yp6qq8AeX_kfN=~dEVgk`#h|_rLEPhyhukplYzfkT=9D!i=+}?CF1uJ!$P9rpz z;M#p3aIk0hkVI;qC6V^(%#fhO@VX>j%;C&Ld!JDB<*=6Va8Zve^s1HSr1GZ~Xt$fN z{Rd2~&53rnMgG7T#|}LN(%~CQbwBzT*ep81J{Ji;kJXy^gd+K3O&`vfiuDqEGuz|6 zLb5J22+_u0UuC-35a(GHw>s9#(iNXVv1ShE-+b<0x54i6x|#M^fy=fZCcS2-q$hvG2D8%e@5 zm)z6`H~EFvC)irFg##{B`&hbXRjk#F@#<$dy*nsv2i-5z`~Wa#^;OxmlVr7^)| zYeXxq-fTP7j1dqM#@1-*)M3nMSv+W25UOYBMA&NdFjmcwvLAIHV~3lX?Y40(I*sC? z!^RCXx?GclDQ)J5A z8ln4SFBU8jE5UQ`>O+aT_&o`T2ifygErWfe4g;Zw?bR0>f~#9=gX`d|%|50BOuA2% z=$a%9kC{ra@Z<-q?mEV^x-sdBu_z!heNU2SEqo?u*^z+dOwLnk7HCJ? z@aQMTdLNGBVsM?p77u~5^ zj)Wh0`8a6+ReczBDlzT#&Ky#)jW4jz%EqTM)$z_9(x*s#li-tZF=Ee(C~vfmgmONa z&!8Z}h*_2d715-~lI1CiB^O_Hgn{vnB=F+HRz!(X1W)3_Y{fxd)+xfY*kJH}yceA# z0V~CZ{sgEsM_>SeHN?@BO+^^K;5=b);Ax81@dX){rGzdRP}WvuX_O)@)P5dM^xz#_aVfLCB^&8TM_4@%#%5sVodMMq&>HnqP+!y6kqZ4^%8 zAR>GD20SO)#a>lr`xB+af$GGcSaIPnk}tN@0%do+=nsp^2@x`j2)SNFSrQb{5mWmU zm2mAiyVmV(waL<+6y+G0haFLu8x-ppv;A4J%vDji?LG)F)E;YyAnDm!JeJ@)FeS_p zlOa|H_`Qdw)jmfRhAAo>Z!943l~++rAwkDe0wed7nZsPtQX}V>2_OEFcN|%8V=InS z?$D_k5h#FM~Ft_EY)~S|2374hS;=dxQFG{Tinm=wzHjsV$%k?JUvRz3R z(cHct5&oaLHV>t4E5?qQ9%6ci>3OCK?PQDVI;J-;9nLh4X)@DPri+=bV)_`n10RlEYm-jb{Qt)F@R|#(-@|=F|{y#i0R8rtC${V`UBHHn06m7{U6SBGSe)k zE16a>eVOTpOlz1PVtR_{d8WQ2r2j!o2QeMPbUxEOrVlb*$8;0ZN~VjWq<51JmJ5ddl%V^k zsMIjbLttYEs@m^J3trR+`;i{fojzF7j`k`Zk@l)?l>Ca9B<^U>g{j|B7mS~Z8x_T) zIUGNmBLE{K@l${wkCHL?q0X6yAsIi$8DJ#i$7Az+Vr1f{k$#%#rz(rg7T`ypji1eV zWH}!{8*TV$rjA-_8GcG0!ViRjLB;j>Nq&mV=%OR7cfix+SYsie&RyER({yzK| z=qHkX3h1YVeyZq4DZ@`)Iezq{=mc57%8T^$5`GM?;wP1UHok@*{U&;%AHyg3X|5u( zTKpL4r-FVq(+?yLMlgO#=m&xYq~*u$uGoo_k|s?bF?>iyZZ0trlFf<9rsRYnafyk9 zO>wh<+W0f#XU-CQwx3pz6S1f$Vo6S3L`LS~ob=41hXcnqJI~pFSgD+EkanGt7x|D7qXSWrjIEG0`oAy!0HwTeYfoZ=lsP zapl>2Hr=~zds<=BsHD)-2fBWS*`Dx|otbd3YGj%nC-DT;qE$mB>;Kr5d-dA&K?BFn!L*raZF2i`VbG@Cg;FWxttOyi zn)IJqUUY3_OiEF7ZR)_UWK7d7bk#D(bg8%+I$#H5f9AJzaPO5Y!|%j=J!92>LkAqm zSdCv4V>Ns;V?XvUrGxwVjG3)uFs7+Ex(XPp{ueV=v*9wvYCTcX0k7&{zqAAYp$@pB z1Kz+`eIGA(;BR8A#^VUN!us>r}UiuEWdk6bL z9dMrx*uYrL|B)TAk+GUT&5YIjlEN5Ev&2=OP7wwLIubW!zgrrG&A8@g~O5ju2NZV>DXC)!f0oeufMW^DW{sFjnOs!q}Vn zksa(C8LRQjV64_Z1&mesmoVOc{TbZ)S}4nYfA> ztNw3bY+!yB;{l8vjKdfQ&655PVr*tist$BzGgj;4V#cJ5Nmm79wf^i_UvBJRzml=) ze*F2!<)fc1!*(SKa#@_FlAJ8dykV~RNIcwy3oM1BMk4&e%pyx+PP#>PXU$8?%~_C_nIQ~RE+xc} zm$`(UD~1d-z$}@{I2eo{uP9^3DoTGmkAp#f+_&E;ZRQtb7N#M-gd$*%@=rK2Wd!;R z)NP>rNo6u({2*m0DCJ*xrHq9iu&#^;9SjN zv*e^37Fg2?GXyV{gqF9U&E8^q-;fH-t@MJJlPX`A6c-$Hw2_*TnU!YEwHVU#^HisX z^xXU+YoUm1D&>W=!hi3c{daesW05kaD71y|^4*>7;>+m&J7373oI;BglE}y@D#%Ss z&s>z5XE7{FD^Sy!nQi!+s7SfD*=v)Pp)E?OZT$ZjrPTENf~EgXXq0YihQ&~rX|WdO ziPw}GZ^k!c=F9{U3-IN8b>)io_}U&*{#Wz0d?A@CR8sR7<>eSC4;AH5u1IYYk}N6i zFO}lgk$?N0?QEnjO3O=IkeTs!LhWepnnI=U+T{8d$+bzpojq0l9pvn88}>7n=A|t{ z(a6cmvE-oUxHq%Vkd8?bCGsA!Z26*3w)AQ%0ElJDaYSd*ub{y4Ws5@t(UNOXF7Nr;F6tqZ=Spf?UVh%vMfuhu1KwX|Q2~my%A@$Ax^35=BQv^O?IX;GNR$7=zjNew z-pI6sX_``?#Uo8Ao{*>~=h?#i57%vlaR^GzA{3UsY z%;NOS0N?q3=&Bmh-Z>lTly)YQ1 zAR{Vq_>;Tm*uIRJd?szc>qp1w$9_`y>vxY@0_Ro*yxRAN+@pi^htDER{puTTPn(vP zGw8mcKBtns!bg5H^rwNz>HoNA&#OI}CO;fDMB6hzFQIo{FOs%#_>IQ5y^;%Wxb$WH zx|=@w{PwITheW@4Z29HPw`P31!u`~_EJ_vY`^kb-GJ%IVY)59 zp6@oNTlbjb%kLch)jxX8ZRr#BnDSNke?7Q$$t(A!UEOls-D&8_oax%Pe8KkFhJNeD z*hh7KTANew$)}l%4bB}mKK-m?L113zz-PnH55K3|t>#Y;y!c)G^arT-rT?gS-9?Wo z%k>W_cQ$Xf?mG5*_pL`yoha00CQb=k(xdUhqMAozZ#}r@iGj1;JoVMUvzwlI^`B_K zA~BQee)z4qH28s?i+oe^y*`WGerH6BS=;reK65u-4r~7H^9ipE>9z5muRdNAm$O`x zcS-;3?A}YQFF&FvC*RvT)>^vq@g5UCUpVIdvTxTsr=1v|leXczO9fQ;~x*uAH^qc3$`PoONA4C{eOLxXEzv(9R>v z7fpDjPtumpzb$z7>v5(YTc+-0syy?Kcc71Pe)PT5?tJ;c2-B%)ix%nnpC2*%yV>2UL)Ra1hOKfwd3Z^5!VT|4 z^qXXedi%-x1DDqx`~2If4_0N*dg0ET_sYgz7jjSha*VB-`V5@hGjGm2^M81wY{1Xo zTzT=sGe4i~dH$2E5hbPX-!gu1#?KdF@JsYyz^aiw}-~qFYS5uQNN;h zm$iDYj)>iyV-1fOylT#?`k(vNDaLzue>cCm&Zz)G}bvT~C!o-Ph1->4CzN#%O_c6ZkSJ8j-+w{)ycb<%S z|D7Qt|MgP-OP^23yEp9pi%Y7f)YTqZ(Acu+odwZ*-u~C@+FZY9pM659Hs3yO?WdD} z8+CMglH=GtJNx&!)Okhx* zj=l5YOGDo4p8Q7no1@RgjC^wa>nBcVt{(pNP>ILVjkmye&C|~$|MK?n-GkpA7j;Y0 zuA;gHi_Uf0^z^MQ=RJ44cyjv2F~RyHuNSS3+jjK2gPuWa3Z5Qwe7a-$d*4mH($i)d`bl(qK5A-)?eWBO_UpQ+$z5o18LszY!=%4AiB;(5OhwmA;cw^Jh z?#r_he;YC6m&#us4$yVWS(jL}Nq1wav72VBZ|Obz`$xQT%g=khUi<#Ak77)Tm%hsN zwqrvM?^DZuTt9tB+V=TxGG%-n;9$n|l1_ zJ0aoMgRj1_TiA^?%7W(yVY!(Iy`aD+asR)c-z&t77y>AIAr+e z-NwKF=+%NzNALJ(_4@8HfA-!#vE`envxnCBoy6C!N6NWth(y3?POFMNuebC2VH?Dj7%Yw8g zLr>Riwfc4MKe%td)VsS?z8HO|tZ4Z!sV9!?-4%W!r_(KKDnowk^mvvtFQHfdvGT{Q zD=l}8dMa<{uq_p%cE*I&KD_jukZ;96V1}vssnRe1F*x>U@9#@q95U|0!f{IzR>r>m z{nE*2{~YjC!B>qxAKdGGs z`q4T2Z~x%trmNj@({A0-``ET8K6rNOFE1p2f9d!=52X8qKR@)_X9rNGQ1oS=+%Z%zNt@`>#Hie<=O(t?JvxAK3ry>VgUV zo;|!M!r>pZyl4KpoV!jAemKKC`h_RDHtI&EjP3dUx(nukpUk;&*^sa8){PY<(cL~g z7Exh7xafYbGa>)Lbgo7pkcweVzIt3{noo-M(d_vK}i$DYNX2rAf zc*WD#ta$lOSG@f0RJ{Ci6mNg4;vKM3@$OQgce0y!x`1U@m@xA^hjoc0cMgF?lE{>2?= z3Cia?gspU#s67#BK2MlixX+M=R^vRlvk3S3N-<_Zvndd_YaVQ% z8r)N_X8~*$0MoMt&x^syMT|0Ga}1t~V3q;C75$-Hn97S{bZw5x|6dt?Ta48t_D8J# zQw%hUMnhE$Zcw*pJkrIc|8vj6JNZNYa$JNTs-Fp%o1O>;Niz$SaDp;Znah^RJO^@K z3OrRY;Z|UhhFe}U*i`Kb6fsxDjvok9EMbz{lPH_dVL<4?1AcpFuoiH$xF;)ls}i*OaLHMS?Hx z?x`5qkorbskIdJ>T)hZy1Xg?9WRLp$YT3#}xyeAD&V_kweqlVuo01Fjp&C(iZU0n% z4g5g<|GRLFfu2g3n?0zQh<-C0k$Oox49yUMp&TM86j9nysFX;&NmA&K2n-bxK~;aD zu_7?ERHXffC53W|z|c<-6zV9F&-S6CBCzU@O4WF%7_IuEy+4ehP1DYtWJSAm zP%n#adP_tpj|SnUcN2h{KB1j)Q@5S+1mz*3WJZ+gTjEh(S9#DP2?{c@WQMs zD0MyQCiDKd$u73<6xhT#mN9*D$jx*%CuJnEKLSL@9ob@e807&zEsiIIrO*ds}c*ybjB;!QzO%4rmFv`j0>2SFs)#^iD@O%I;Lls{=l?_slGtQCyHq@(;3!0 zB?+U7Gck@i2Xl)vv#rX+!W?BrnneLGBMl!=@CBt;0((USU^h=b$rlB8g@OSH_b&VJ z$6Cl}a$24;F>}6>lvb#i3JO7&Dw7fZWNWTsvMx|&WELpXFyT2hf3XsmnJzqr8_ex3 zC3l750j6-Do(&2=a;ScQADLts{?O;1{IVADfIs}SWGjtGlPWccFs3kxzHZSG}! ztdN7u5HeoW!e7Mm4$@y4&wQ7ejBiIXsfdp})cS znvos)Gq_C1rnGHV%;*&?!rvIg-Ic8nZ<;@u1^NE}7fHbIm%lKy2j$;id4DxAqXqMy z{#Ky{(eban{S|0?sDJ40{8xYOKCD#Q{xE;?U;U}>4ga6d1SKn0+E%T8a7}61TKhxg z4?j}z=wpwsd*aFU8~*Xs)6YEn-18e>c=4r|UwQSlO|QT4=38&S^X}$~|8oA<-+sSvvE|a`D}UhB6h-6V>E+$YN88!g&p)7xPT%#qZruZW z^bG3N`}#h8Z|G;}KOi_H^u~c?O!I(B53P@QC zvUBcUn7b%1zu=z2B8zqLlH#TJ-hRiOcg;)v_x$^oEx-SP|J&*Rza9SnWBHq6V&mc` zPBJG_x%4?$Y1$O{bz91e__|){couOH7i_yu0fi= zc~EOGqAN9Re;%6u?oV~^o}T|Mz3wjPS$mE8|2ioB>oK08hSFW>j%R7A$FurG{J%+P z2X;sM|6OX^Z0VJ@XZa+C-(25;=3?2-SLttzRocQ>rGGG1sj^hMSNVFzD&Nq7AK8JQ zFmmx*GW%ya`&HID7|R{p9_L#=pf z-O`xzB2ZN;M%AhLJNKlIL!-~CJJO~Zt_BYJckXG#I~}%i;m^GyE;*tH9NVVTB&GIu?q!ak`3}`B#a<2l@84gskb=xZ z7WCtaAjd+umNBB4jV0HJ)3yC0x9RYM`o=Vd9|7M;F0$X21rF(aQ68t>b^ABfmR8CH znV7X9S+v(bYahc5_(M51AMb2Fev7XWPc=jRH~zV&nBpvFfGDPaeJ7ODXeNlX}?7=(XiVrUgi2KHQL|TLdIWGP+hRAj44Kj~ZtCbhYUdnhG-~=HzCY3UZ1} zQ)eWIabtDtmuO;aQd+?bp>r)X*=WpEn3H;T=2WOK&dg7YO^Bno)3~aspddLvHz$25 zwC8vdU}k3FqMSVFap&hHWm>ZHGsv!0Sx7|W++o4=RZ)~-!MD<91(d!hMDgViw%UF) z{J6PX)~ggBx+)oaN~lyZ#;~rqY8lh`I9&~lX`Gy{M#eNIPM3o*jg8aQ%(%0JN(*Be zn-b=1u^a-p<-Z6vZX7Gv0g$Yk}=7ct|-RWNvIeZcVld3 z+?{bUV|ATG3S$~Wrz@2)%^}d0&A69@N&#ba9ZNA|b)85FV;Z}stCX?Sr^7lF#y3c| zvVpO>PG}=z1M@dA?$3BL;{lAL9+2`5W?aeq5XM!ELmAgHzL9Yq;I6k|PO(m|msh;fvJih=QH#$k-5Rx`>CV|5*C z6k{XXH!?OcHZzW8oXl7)Unz{K9MYA_c#?!lHsb`w1&k*%E@nK1aS3C!eOAhN8uKd{ zCo|r_csApWjA_1zu1$<@lTg{rSREOxWc&d0jo(W7L;qD=Rm}HbT*ugxaU)|d#%jCM zn{hMqJ26%&r2jsQ^^CQQ4U9W8R>$N07)LVSpRti~fNGy{7sjcKb&Lxb>lv3Y?#ftg zPhZDaZBKV&T*3CcGv3HJknv{5Js4Lp4q{x#xEJF_#=RLgGrpd&@~D(oAI5sdeHj}V z-@rJMaX-dJ#sln{w+{kzi<7URUF;>>e^ky>FGhWEp zz&Mw2B;yr~jf^$i07+)-#aQhpOJ#l3*UazC`~t?lj7u2%Gp=B)XS|VdH^!S8cV}G1 zxCi4p#=RLgGVaT`h4Em<+9#wuq8S?)k7pdoIF_-I@j}Kaj5XY#%4Y1vxR|jI<5I?* z8E;_h%XkxGf5w%Jdo!+O9L>0q@j}MUj4_ZTuP0^tycp{l`!F^z?#wunu`gpIV}HiU zjC(UqWgN}8fU$-fcqNRz7*{a%VZ4!XXU3Zu`!cR#?9aH4ac{0rvBn@@S1set zj2jsHGIpr$8MmnJL!^7{22L;IAjZCo!x%?1j$*6{lkUx`d&ViMd&b$S{lU_Hv1*@j zscN6`2GxF~w7*HU&$v>x&$w2#KT_InQ0+5zsP-ARsP?0zeeFMF`h6J(G1iQg{4kZz zI7;OkCEu*_8K?aR8ddRxrwt zCa5}|Xy%#Mbc{OCMdNLf%9bYezUiWQT1lln8dsw$3q5nXvSC9~(gGkoMrn`6JLsbE zOuA^?lCC`VH;-`vV{8{F_%w<|7xnw;qH!#`int$Lq};=pX5q1^F>FXG?a^2ZT{%b* zU9={Tt|C`@WH`BE7N7L8B+lY^F6Q)QW1NPrG>rbymC5m0#PLWI+M1LunZ7KJcQ(7H zaT>Z7vi*hZUlB%+=(4iE77o9F{aL`_&}a)?G*U#@LVgd6T=J0oMQpx+(?@b%2>Ue7 zM3SH}A(9m3hX}lL6Q1d!d=a6BQnarnr z6oFB3)qNgPL|E;2QND`6D7wn0{6*4=}0i@ce{6<&}pYk2WN3~D+kL0JOpYmY@ zq^bH}1Su0=l?Ua^2*j3)H9{xEmhvv7zv0xxFuvSB%gnBoR=4 zrtnnx(%3P*KQ(;H-w}wN+RvnXPFR&6<#!5CO&{g^2-sHpv6TNQeXKqN+xH558-5dk zEUtQiz*&<_-T?$j#NHrK1I#vR89%2<$}s9VKsazxAa~*%7MzUd;Xa( z(%lv>D&Ow$q;l?#sl2zxvV5rNqVn&~UnJgtoBvcVxburT_($~wy%*KLbdkDM_Hdxj+-kS$a;l*lsW7kq=zIE!*528X1BdpTF*f5L6x(tj}nwyIeb~4 z#Jb9h)DLQlAI)n}Xen%8)+aHp_af_uHutiAXyfOJ^t;y&^uCha@(Iar229%LZ&|L} z>M{3n5G(4~ToEIg&)Ukr%x5t!dAsKucXz7X;!)SqCFK(D%75~EZFZF>DJPRF-cn8` zSG^_W)K(s)oMK(&uSnz*nNIh3$oRLVQ;k)Isjh9+K%KA3OEuM?ec4#ZPGWd#!f(rOGW=LqeJ8_ji!aT= zQSLS2*S&r#!fXV^Lw&O{9!aivO8F*$tB%X1mfu=_eC4XUKTXb@8S9SXVuw z%2}6GEkbmb#y-{g9)(te^_d?@tWT=V17 zzFOMU@;1edPxh1D>LE&fEb@fBr2i(j^b>!Ut6WHaOb7SL9r(Ap@`sF%T5FO#$iEq` z@3zEdw|qc+S|g;sKf=kb^tZL|<(HoF1zqYmv0C5jd7O8!^acaZvY#Vc*Vt;5=Y3SR zp7{-IU|{?;<4DH;WNc)-k#REPM;NCvKFGL$@t2HC7$0I>!T5E?8yRn9yqWP1##M}u zGp=K-&I>d$-p~AI#-A}(UYGKyWvtG7+{9SV{HGa*FHJ`RH{ulGLZ%FyRsfNe-QEev%G2hO7bzahkaTxQ}c^P${Qp@}( z=D)<)%=mN0DU9D@oXvO-<6_2-F)n4ijqwJ?I~i|c{66DK#$Pe6Wn9O&fw9_7b}+7D zehcHnj1``D>&#gDrj%bj;~>W0Fb-pUgmDz(y^PI_KVY1~xSDY`<1ZK&Gk%$IDdV>p zZ(w|a@g~NPGp=OZ$hemAM~oX7A7JcYe3Ees<714qZ^`t3%Q%SfQO046cQIDyMS~ef zF+Y>B!ud~~2Q@Q4m-*^EsXDKk!u)LJYx({7GR|gxB4Y#lKZJ2H^NSek*}Wg*Qs%E? zyn*p6j5jfUhjAri^}Aln_(SG5F#eeFMvjj<&+1@)Df88N&|4U{FkhW_4C46uGhh3* zd>?B6B8>eX%KRYaTNoF!`yj?)%zu}06l1krU|{8_p7AE;tNraDmQMupE1569*3f%k z{xIg(GQXH{3G>G=ZeadO#zqdmD`RzDc>-ex+b?6>!gz-2p8X%rSo@BAzj9OzdL`_C zDD#7uzkqQa^FtViF+YoO6yt{(YdO4d#%AU(Vw}R*##o(4AICVG`49dN_TB_8s_Ok8 zKX+JUQvp#yQE|t8L|jt27X=l~WklT45^zRASwcji2&w0){&)M%iBkjv2zX8%- zEd7^CyIK01_3+aFNojvn+Qn`irbp6VB>lHa`*>+jc|ep;xU}z;{trw0A!$#O_T$q2 zh_qW|{6^AVEB)`6_H-$4A88NREYiDE+9%2Q5z-zh{U_-0rGH~-kCpxtrM;iDKPv4h z(!NsKCrSHL(w-&ln{>P6-$dGrrT-*pw@d$~(!N~!i`@jgH?vCQXQ1?dRQlg7?VF_i zIceW2?Q^Alue7g~_7a(1l(Zj`{!^sALi)Fn_T$puD($t>zC+pr%7uI%NPDETmrHxB zv~QL6e$xJlw5Le>htj@Wrr%83CrSUQ(ys60|0wNQ(toG4mq`1&(*CHlZvrkCP}=qPtYV}+ zOZsO@`zFc1rL-4I|8!}$NdEECzFhjRllC%czg^moOMV@teXI1(miE2Uo-gf(q}@l4 zFYU*qy;j;wr9EJaDDS7GJyP1YNPDcbzaZ`XqCo<`~RY%>FLp1#76!uJs05@)ajwvk0I^X!_)o?y=`r@ zPe+}(+dci=J>~!uyT*M>Jp|b1BQ=A*>r_6NDOy@oN z>8dz)rt;SHQ|zz0^hdYr>oQ@dzj}JK|4R228SS|^?-Y+X2XV9sgdr+z^%FLBP{YOlghf5jud zADV?46puJRn^{+0;=F5iUHcH{N-p{Jb06J>?A_3N=;bHQ$7a{{K5r1`gZe2t`O~?Ro*LPyAEdwH5$9S)f6?At{$$Us(?4X8kP&y4QvDJ+rR7gk68TfnmH8Cqa6T zq1*KquiNz&DbA_&w<5%Q5#p-|kw0|D@^z`;aw=2^-48lj8Z(KVb z3im>kySMPd-8g=V^E^Fu$}j1wE-l&VyqE4>)8!!u;sd z`x}&dm;Q+N0O+rH#JRElwu|^)q#JZZ??1$Q0`|J`TWF8?Yb+n5yD`7wTz@X45RW*2 zcgZ8p3#dO4J&emPT99tn;|qIMojk%$U+joS*bD3W2Vr;Aji2JY-lA(aLb^Dw)_HM*bCJ8f*26!b&ikr9k(Mq>osTexAD?RI?&|cgyV$V?KXqt) z`zPPH$yaQ!_kL(jY~SZMsRo9YM#*2)g>SEBey9EAWAvw>iH7hndgi~XEdTobi*4dp`Z`~VTGO*50e2AyckBZ9#@=ycv zE?xKT6pCj*xOp~V`a^F!2+QWKxt-&v_{D^lfG3s`R?N9_4`E5^Z7T?!v)*}tuy{g}mX9+{!zIh{I;$0EX5mr2Ulw;+E zXEt&B3$valtbE@50wLt!$R6MJBH2stzw;%+&@TtQOjtI@_Z33Bbq~k#SMJ$N_KMhc zyuO_smU1jT@FPca*Q8g;KQVqi$MoOX7P5z?PUBdW^)5$?x%q44UbU&1qxp+3IhJjX zd!5`X)m0p07XQxCJZ~7+hxFFZa7-+@B5=**Hz~aH*4H_ff7{?Kva^V6j_Jw=9L*b} zw{mx%xg5=rpL0z7x#Qd9UYc9NvFw#Y98o^o$h~aZa*p=O?>UxV>hlh{S61K8(R^<; z$Hd?IZzp$qz=Iq^tAFNLcE`YX$-U&u2RX76KXWX5f4~lMFP~7#vFycajujRC-s9mP zUdhqit%_sW&Zr8`e@qg`^mlVOmV`XaktMvxF?7svj?Teh?^F1)$o?ElDl<8j&RW4S z^q1E-nui`0_T|1iDSXvST{%|1p2pGn)IyFWc^f#E$L!-+`sOK)sK*Z|Ud#i71y*Kr zEIC`sFlYf@9*waNZx8H}>Ob zS$P}B(n(7>CI-L2(Z1nxVQ+VaW95C#_E373LmJ1*5F5vm*!u)_+03!3@j>DLOD#wH z(=9&a;AnniGsn=wUvRYe)N+hz61|t=m4+p9tT;2BW7W=kII{UK za)kbIEGw(wXb*3~``_~1n>dzinaYvwF-RcvHpSWlcM|;V1j?SFBIhH3sC+zh;;#l$K zZye2IL-tWT%h%lm4j;oY@i{w3^T`K=z2j>fONJlh7&_?;M>ej>rxZWEe_w$OCUIn+ z7jv{Pe2imRlWiO;pFG0R8FrDQxv=?X6d&z~qvi4xj_Dm1a;zG-R$$_GjwNwNIaY>U z67JtM|D57iJ~n`3+2AQ0OAasKXus`oj-~tG=ID$&%&}}qEk{dLa3xQFZgY-i-!2?O z@9obq(QgFDs^ZBUoj+!Av=1%jSWizUrm^J;LhXqANnjI zJ2!Jc@~JNpCaQg&{q2_13Bm9EFfc1=S3=mcd(uC>_k6-r-CM=vXI@VD^xY#{SB&{J zp|N@JUx$`6_2v0pHa7ANPS^r^QXa0~7 zv3*pleTu*O-cM)8R-O7S;rCO`S_Ur&R6jIT*zbL&B4O-@IJxN_sy4{`^iMXWvAX#U zAA6@|-zVfg)91CfCx)tHe)Au(_vS|G%iEt`cO zzj|}#!jp|=g{%EDOFrA82CCn!Y5ePcbA;NnY*lFJ>=x>vnr*>r?`fiT*}m~MCE#j8 z&dfcZCcN26?fT-b?Ojb>)MVSYcT_e#pRlg4&&2e^#%g-=1#4F94^i)Yeql%3%T3ki zr#-cM)bcQONu_`KuCS(RZ9va~-2;25{eS54f>VyFF*HA2lcL{Rd1|1eL3Nw z;87nw(W9-}C}e)h@xt>7d6V`8Y~R;XeRM?X`Cl8iR=4)-IXSUu54CqcYx@_`5JfXruUGaiS5?QFyW8xY+h6^0*>|aX z8YHNjCoQYmx1oo+E~w(b`lSQZ{Zn?|)V|Iq?r!*MfcnEHrEj!d zuBvArZh0!KQ6Kg3hU=%^)2h4r?AtdDFLK_Sre|qzsBW!Ke)-RU~FP`G3 zTJv5#*sVuvHRQ}qhhN^+SG`m+Cv$1jST$q#4hr3Rb-COz3nhBe>OFn!0&=y#N?=d4B!SiM`abO2#Ym_YY8yo&8`!=rbYe z#elV$_E=m1H}gPAzis{1jdyhVq*tG=s_D1C9_zQXwfb{F%#$DO8=zXgcsJRP^;3VC zmEK|JgI(0`yS&-q`vslVkMfr69Wyslb!IjEDPc@2^~Zbt!RA2?oUis%r#Js<>EI+y?c=!V zw!rEA)$gL-p0I3iyt?u57G?FvebnfGb?(2UUq{uvx@m*uVFT4Gsk!$bP3WmM{k6@# zU;YU_{dV@!)ss7^D>`aO1Yolib{G9i9o*X7Q^L)F`coqg_!KRc_{=_Br1 zbaMx_`~0M1gX?!vl`)M1Vmgjgr+ofZlkUYM)RY-V=1;XGtF1pB_1nScN2=SuT$q_~ zM<=z>3)|06eKkh?cJAlXW2W>}Q#!tI>gT&UscU|{dfGZtQyboLeBrhoL)EPtM_FN&clK2eyq##?-n5-s^Vj^_|9T)% z{dMBeoAN&#rA|B@^4!0CN2(zkpZ)BsyGE$nCho3p|H`Zey?Z=7=c8n`aoZpN71cFC z9lT^(qt+j`QSWdZ8KpknQSI{FpzNn=FD3L0IB9xrcx&~WqQwhuetEPS^vm=s=IqgG zk3SFZ@c&_ux;pygk}g@@)P)dRVu*R5%9 z&bzE_DJUv=Y3gOI#lb=Ne_3lb<T=uVT^F^=ZSO~%f9ayu_G)C8 zmJeOjR`fcOkaNdH&F{}0KOVDP)W$SF{`%t47q!p)4~=Fl9Sjc=AyQt&EcLm z2VT@-H$T07SAOYi{4&%)a}AcKP>vdbHSlLEABXR{CF$UeG50U>^JP zk_%dHv&xN1?geeceOdJeO}wBr+b{_KFKA`ayYK1T^@3))dBOQFn!vqG!T$@|;a;H+ zJ#gZ@)-7vx)2F^ZubG~%9=(6(dF@E(_}|*Sa$XbrVdu506%W+!arb$xU~5Qiwf(&I z%Df+g->lAFKV^^S22-#uU32E)a-_Dzf`NOy;nI~@mQ@kqWneYPs?hxw^vte z@93!2B9~?0f2|hbU%Zozsnx#Sv1P#{18cRi4NH^}o#D@)TFpN)y+rY^)e;vem;Fwk z(^`zVWo-Ln=d{y)cMO_Vc}`oXbYK12j&s@vC#nM4ynIeuanqZ#UwGo2ws%AE;*s~A z)9UYeJS<@TIqlWwRGL{VBG$JPoLE)Dwp>k_8|PT7B|USd{%2VQ|a^6oU_{bHe+X<$T+J#Gh)Eq zV^Ys**4Dw3_YOX*eOGbc)(O4NYKfW3ybEp5YHMEUne|%4SlSh zp3#13T)B11FK4u8kDd5n=Akp%#L$0rS^m)(?ZFGf_H5sFMyt3*neF$|8SRCAZBJ%A zc}DwV(qi+02hM2eev_05C1Pvm~%!umb!4;Bh$}lV*m4uc4f&sKer!tM*F?t z>6E~m&S*FLZJKbk^BJvi?XlnLwK${g-WB#kn})Dk6#PG?DIIYb{pB(>L?rH7u&(D1LN&0E+F{iZ%{vf`s!Tu%n5WZ2lrd&Lw)!Y2+;8lN~ z(oD}+Z|{2Sl(whng$ECRc}n}`#oISL^wBA8e5baD)89R%MGSbg(STP^X>Il{=-2Mq zQ`+=JkzJ!7JEc7kFyo6h_rt&6;zs=zpVIyu^3nb&MW?isdf%P8Kl_wc+xe+!pWS*& zd%w8L#pu*i+R#Q-FU=o%O53u1;*{$Cr?d+#X8kd>$0_Z-&@Ll>YpT&5Jyx zmF_nyQT0!0>84$s_bR8ftR7FlyYy_0cJux#Pmlh+Mth{>=8E=JHCmaan-cUTu2XwX7QLl5uNJYTtAzy{r7b zlUjJ>;;_iYC$*(tHIKS)-brnK;oy7y^G<3?+$GEX){|QOjz!a2PC2Q4^yTGe-X42W z8}MmRgJ~%zwRXee?{A=;)WY`m#{ZMrOBH|IyQ1q!t(W=MUnaFZsdY$sF3Q{t{`@(q zm4qrgF4lwHc_q|&#i^}t|JsE=&N#KwwLi~3bHb^Gr7s!pU+vT$9=d8%%r{Q0|GM52 zk`Fkw0Y|ovne&lTn=@#|vgazC+TJJIpZNJLr}oB)?gc$IJGJLRvw{|HbZY5$ZQl6J zlTIxyP`OEa$f+H(6}|T2N~g9obZ|iHrLh0DwbN6#JGDLMh6QyfbZQsF=dXQZmQ%a* z{K*5OGM(D8qJpwNCp$IY_^;1BGS;c>wl>)}e7I8!^&N!&2sdoWTYLIBwPv@qdgDQ} zQ~R~kyi3+trxxIATAUc;)cP(M+oxS5!t=+emEdAt-vB4=W8l#d=iK=-dz#^rgfElm zo2~KqB1wPOl|qX13oS|F2ep^Q`&gmf1dhRd==2p-GSGsXZU?ae_%}@A0Pfexi#vTe z)(O7-;Wr9jB~h%=_vv|aJvuV(Z912^3Yy5@4WN4%#R;Tm zIQ?wUGaO5FChdOjYkn%$zzZMG@MDmIgT>$+a|Zs>jiYp?NjLb@J;d~TQW-eYEJP{B z;4Z&n{EmDvzx$qU*`zajdSisng01kU)AI!|yTUF&=uVJ=em{V|)J_7&nW!WBN|sKP z=@v*E?E2fM^g99>;6itT5=RGQi9r}~rzfQo1Ip!Z8<2$bz80PI5|Ey`?Y8_kSkU>!nAf zLN|!sI92cEbv=2rc7KCEBxl$ZN}t z{Dt<-Kuw6deRV1S9e&0Zt@F{*8$Wt$j5N#rZee3Tq_-FSepa2^_3M%N8RgKq)B8?z z`!2OzdK2YF@_5#ws~kl?`uF-O%3tVz5%PC!*~iLUi{CKJMF^@}lHAp+>wP-qnr;#q zgE_!dj~;Ox?8(=-{#WuR-pd)tM?iX8kM1ANW1cUHcq=c`e;UO^Ur6Hty$4I9jTlut z%drhcwL;d0S7NFmE{#C{wb;h;7>#eG(>PD#A8+#JLq6)?udNMtjWM=sF+$UT<-6(SE*Q=(sv!Mtuf??Xv#Rx@j-HG_bi^f*h2LcN3Bu1GbKZJe$+SQ$j;`z z5-H=YV?U&);*Gy3b<#VbUqV*Tdc0m;=$r+5<1b2I^e~=WMLE!~ z-O}Ct(~&otKZ<_UrJrIvq7u{B1bV82P=cUTGp;{faco$j8}&kOZ}e+< z^k%w#E8mUfq_@Sz*h6CwN$Ki$^z^;yk7qCDYW3dJbFW{q<|2KdUW4Z6Gx6`*p6dGb zP4z_et+yp=HMH{2^eF3VXQ1BY)9c?=^Z%6JwK?!!UV2?q347;#qw=OV>BacwJ+5(e z^iR^Ky$gENT3@x@Xr4sB&nW7L(x!GZ9HmcYZ@UrR%UAE;{~0fRED`e`Z~3{l{*5in zTdnJ*>s`KU>;K05uB~2Y;*FVo#uK9#( zCSmMv$H;YtXJ1RQdXrP{|7jg;Lr%r0=P9jNr`;&OG;^b0VW<5?$`^fgK`!3*OY}V4 zh~M9pAI04}=7Zu9p&yS}w;^>@>SK8mnIbrjZa;NH^!JxXm&DB6KXj9&ir$5%$J0GX zIA7yVd#d#0jm~kU4ao69! z_vE9yC!>Vu8z-^y7zAC(!8)71igB+!z4VRYuUED%t?*vow2S3R)3csqutKIjOstcK zp#Fq(|0Ff<=^5u0H%?6!BEXxTy5>Wo?ZwCy3C%reC1Bil^PG=P;3KsjatuZieby<` z^p>99F2r0|?Ct3sTxl_^v%Smv&*I0RuEl)Dm3#5~wPJ;(uRW<nOO+2S*#$_7o=-{xm}q zv62y1-|ciSSv?Ql%9HeEH*X$0-b8Bd$^oCx%mA9pS{PMLIqb^z#1B@1R+ThPpi>L3F| zxih1@tgrl+$V<|}`R`H}CA}qB{`pTJRTJ)sCB=+X?eBW3eYSBf|R{Beid;UaA za+RUyi0EFXl%m*ur*WKWnWT4r#v_d0>*}>Y(!2H(|6X2F!SN`uew#1$c zwITg9lVUOK)za_GQ3;9Pr4y~ySneX6xAG>9aK&}+yF@IU|8lu*RIegr5~QY?A+>jX zCzW#O>UZ4v>m#11c?w0jcJ<7H*J>3zWtQUVBdaFP8bq)1yr2RAp z7p;YIR0zGGv4GB0sf6{%8$arWsQ!cmdN1-{<9j3iuJs7b%xS#U+qyn`rtiPS$(hba zM{n}F=l{RPbE2WYa6bd0Tk>6_C*7!R)MAoY%+Ba`YuE1e-^=H|*X=F5KEHB>{QLQX zUOqR@k83CIpXP_!pMDlg+9YO8<9L5T?ONYg*VFfwAL?JIKE)b}W=pi6NOOTaK0b@R zC(;5cZ+-Loa~4`hxY2-p9$BM#vAu!oKlWK*(4(+@4RosPhU%Ta*hW# zy77p{9)0fWdNYPbZf5zmrqZSvI?chwJ1%;;>bdq7-?P51ALr0REpx%%~)pM;?3h4Ce|IEv8dOg{b8Cx5jPRa z7(Q!9#g|)|c9f$r#e~kSh^;*=&I54u2Ug~RJJuIQObj4g&{I0YpKUa&U z^@Z_`Gpco=ztr-@xrVN*RAOQt;CipjTYBz#Aoi_jJa+BWdzaHa9!WxNPON9$W4m(f zEq&MceC>L~HGy-0WZkxhxV?j*6{SbFFpx-KlPKfcD_7$drgP0G|Y)rh{NV+WMnBL@d zFGs4y8?8S?&c&W4&D-g8FdJ)6I(c?r4dVVQ%GV1=YlmEfr4w9ZoEwFw_XIt|d(RKm zD6N~k_euH;&)Cll;Uz@Bflc`ryClgdKT(40nlcr;YvNstHs~)zf8ydu^W|Lp(`Nx< zZAde1>VL!=Wi%hq=M&!ZLGtVUE0r>7jL;!(;YHcSpe{tJqBo_nn0g@bc#lW5NN?+i z5~Ef?dPpgG3-7Kk?r&X*UecxK-r`fP#4JIya4~D3UQO(KiCpWeT~UX$wz$#zlq9qM zj+S@>je1_ek@oKOH}}SIjitQma};CSxt4=*w4fNI<5aqo20cSiPBgRA_lT$uqSSQm z^SGbb|MBE*EUV$1r{}mO@=hybN?E+qC3GwmHhqtS;(E$OF?D|-r)!_YTX^H%E`>Ml zPtzN}o+-HRJyQ(v{Cnl=u2I?7q-H#?zE&DB=Jn+Q{CDa@&%?P*vopv{XARWTZogt; z+mDNr2i=d(2_itzS4}MXS9ibqa4*KefEj*f=?AC($fFoiv5)X!v6mqm(RCgQpJ?#6 z7|axfc<2v(BS7Xv5a&x4`54npL7X!1DfZx{hb1J5wi^5^VfIX$!Vxc>w=sRi9xiLE+R98HM?IF@w6tBO7(#oRSR(v& zw{~VTv%swc2WP?!bIwE)t3)w%&$ebbGTQY19kW+x0+i)H(6mC?;BJS`c3K#1hj>k2-xmkGJesDv!WL(Q6ikspdZW0Bw zxVv$Flib|WIKOmvHy$nvZYc`Vm^mZciXpFj2z2-@*bAsUz#RIQL;l>}j!*1zpd%J| zNw>NAIgVV~X{SEs1eK)-yI{crYbJ`1Z8G_Y@+)vmZ#R4pm!;gz?G`S}R-;>*2v_0e zCc^E7TP!Zu?p`cpbhhweOGzGXZ-+`{%+b<^rIXxNs@QgMSryce@Ny?Rs)E`#PfyrUd$<@3Ze`(!lUc~^ zEFJlyva(AiC2slU`p!yy*d@fBmYO_>Yf709tD?LX6c$WxXXZbPP_-UzwP;_$jpvQh zyV0ZgD$I83<#H&Ui3 zes*6ArB{aXY#kHCVopy`qN*n<;kza)!PZ+8-}ns0*%;$t6UIjRAbpbQ;3S3Y`Ji-i zLuNhg#yC;!{aA$3hxs{u>?WDNGU!L^E&;5IbpVTr@6W=k6Ij5mfvmJ8#@$vJKO|pw zI}`!o7{W2cV~A(;k7`qog{F;Rp-Ku1tg2`CPZworMv-y3PmgA$5cV=C##iPgeiXM4 zX@jujhP;r!(Qb?r)z+7VE4`Rcx`~%ti2~kDeOc4$ek>rq4|8ICNN&g2QsNbku&3i# zfTJ&WdmQeM$}}j9(e4(HdIiKoJ)^;*NqO*98kksvxFCCLKNItd_h+RY7+VJl@I#v9 zX06BV8{rm8Zpah)8|}t8QPIAvzS4;KSNNJq7wib%y0JfNd^(hcRfjR(gW=5H5%Pj2 z5x)-ptb-$pg{L)P0oF+FeinW?GA#;cw7bP+m|cM{178Nd415@PFz_;li)tUp8pWqU zM@O;{XHZpuyaYXT`NdEjhWfHlYiHD9C+6&i_S7Bq$ob%lOM{)K8)q^{nS)uY_!n6#rHq9- z8&ri<22~hkbRv05tAP^7>N)+=eWmPno|Zogtv0iugFTt=uA5j%fApiEa!QZdm!luI zpMcw5-7UT^Bl}dSeYKR!(@s3<;-C(Ve50aJPS*M?sKDP&b!?_O=K2%D67eC&a?rqf zLRXCTs7}GGDcV_6#q2eol%J^hKo)O3%sQnVLVgdjdR6FEkO1$;{E-gj>GTm+K8Ud{ z80jCC=@{)%7^{L&R(d(5Q#tvXn6I@bOCQ469iXEWFW8p_JIu@%ZGzlNK~CNMba&=k z-GjS50e9a3ksk_Uw7bPaIT-mzb@FAAO0d6=S+wsM`Ot%$*mFkaO)x8fa)W@-7-rs!V%fN>@ z4*N3jH2O!y)I+_7D7;?NeJm!kkkx{2Dynro)-b-Q(ohLijQVdUzZQO|(~->Aj^0v_ zqxZ#WsjO-|y0!_>`#@1oMtf9q9~P*@GCiJ|^nvTEFDt{0?;Q}$cldZ1@8KrHStjE* zt3k$aMmME#0BejsqOmoQHI9cl6(6?u2xL917(?PM7)M5kaRg;cx{N8Y%+mtF%|^H`P)UlkROZ# zjp5cfF06{r31Dvsd&9V3yAlz=BG5NRq}5{)aEpiok0!pXNou$~EIrh$v<+l!*SB)E zsA^srRl(;BmWaB1Ay4taEId`_tCb(C4;`qlL@54tsmE0R9sOAor5EWuWPVkU0(l@gsual4%$GH@sw^N)W2JL3e$KfVB^FeN}? z0fT{o3Jc5xa(xi}y%ONd0t!Sc4C6WveK+Vv`Wmct!Q=S7_}2YCtedbFq-Pt?*JB*>TjpGP-Au#;aaX>Y^IER8umW0mq@z?^9X}K*>5)Z2R8F(&EgxfW(Ck_ zd!uyXOZi$%aaLk24L*c&+_#9b3S{-;{4IerpKgPGT*f)I3gbm7V;>_9p<+^an^PM5 zp*?J4jg_r@>?i*8@baU&u!7?KSi^9%58l>7y|%T$`U;e@ z!J?le{wBqTnVK+v1$xfY($get62zLMg|H@QPfg;&ouO3?DtKRkyT=hs?AcrYkp<$beJfcrY z3r2qu#G>QsbjlvpGJv&AZRU)uYEl_dA^HSL1It*}@;$Uw(8gXSjz8{T>}%M!!%k0l z1!IvQ-5wPhz(No3SzIONn06Wsh!=%Evz@VK?=lvMxP)Y14eTy?2^s4{M#$+QqY@Rw zq8trbl(hkiLSGw&zBX!g<0|1E2=@TE*Mqx1i;8Pp70AOQj5Qc;h@0Bj*{CY4QkUi3 zml>;hMbuH(&BzCckjjcMkhdN8epN5`O!yy?VgCe1bp(Hs!Jf|I*+qpCst;4 zr6Ky_3UnZ%&QLFi8-=)0h>QBE5;_lEPYZ(12eOD%$WP^vi8Ag&<6$G{MmTf>0F(*FJ{tG-cQ4r;9TGhBh@D1W~Zlx903ywA@+tw)C7_1wj z8LtiE+awU<lk$ynaa6UiW~)5 zl*nMzeIV*S0Cn%rTqT2Y<7<~gbP+c~p@^f1`Me%t=F4m%1 zOrJ-X(cy?XX^A?CxVBDOU=L-dTN^U-x{5@;vEGS9-xi6s4&Apad|rrgHryX;z%b|l z^x#0SMQP{@{XpLj{fKHP)|CXZR7+pvA%umk4ziGcCH!gs*#0OK z4bPD|)Kj3JkZV)DZ@3q|?J>}K^l9A?Cd`nY9%dB$CxE`!`@Kd1SpSBwMyamVuflaL z7`he&T|>T6<}Kocu7zPtqBcQt#mqFZFzopROM43J^ekN<8Jj4k`mHXa}dRZ@x=mw=Y##hj@_}S--=nbJAf1P|FwesOoxch52mD(szcC*h z!W0_$L||TyHmvtGx~_CtrLgIsVR~8ce!o6+I7IaOTu;y!SpDFsc2I$`~#{jR0)#z(!%&f*3>u?)moeH(DG>k0>hqhHkGlVeGd+d$q za>i{`*lFoQu(#FTIu7G} zD#rQI3}b~o0&PRcbsBP=f?Uozx$O1OHh7;AMEkmSy?hhiP}tEo6}CX<%hL~r9*A%X z_KE!AM|~;p`yA*OJnHDTkI-5_R@lor58gLoY{VQQd<*)<5EJ@xKd)`$0mM58`as4F zqqx+kZV~H3UCyqbDC{8UJ3X9Xt*VE4em~j}=%Ox%*yA)Skr=x$hvQ>dTts?QxB9(l zj?x_C3F%9tUJbScIRmQvD}5{Ubv25TiN4Zn8>kTaamnjkq!MM#brHJVG`>D-n%c-2 zR@Jbwenqfdta}3M);-kE1^uD0<)Db(vR~qD*0rV<>n*oE2B)6qReve$D^Okgp!##r zKAjKNgC@quL*+i^U*%hAsu22%ZA$Dp1!2$WZWiNMhB59Q?0GN8-od@hej4)xkh7VX zCm8KYF!o}=HyC__p$}0QAAHdly3dospgWiOI4V`8nahu5vHY|xkO^qdhRZZy^&yRfH$J|-GvuJ3E;eC+j2Y%^$>WRj96XFmq z0X7d{%^fI1tf!h|9^E`H!V<{)nn36a$^r8xUFMIwnAm<0$xImNrL8~N6=%z!a)cq| z>vI$wPY*`|Vitjn;3HN@Af^)|hoFjI0$wK}W@ZSsnQur^2f0c)SCHyN%9{AI_YORNV75opue-r%6 z5I;87oxcB5{%2_Mr+91=NEA6*P43YWhBke6E_L1&OWxO0|Un%hwiF+j;lUOC=H)${O(MMv9 zM61LSiR&d+N?c;lN6KTGhkc*q|AIul97?5qo1VT$yem?^gC6DIPP(Vb^mTr-JmO!F z@qUxI!z27OmNaVGFq>mqvTg3@e5-BRI7fz~sF1x(?xQm7Nd;;76SMPr#SJOIPV!cA z9b>oU)dj!VHlICDt|RlOXE9!m z;vG{DH@7&`#$_+CfpZ8;%Fml?D{$1Y9F&utQJ9uLvMAfiLa*^9=d}D`aX-i-W$+zdx{KE3%TIgWD_WarHsXPaJBknNbCY%82zkZpJ5qY$ojgCr{zDhzoE zD(8xp&XNjjD2j=;oSd8U^5^A^qjW3TkU2#eIoy1Sjk7t5?8({S?wTQNjdq2wlSIXvJ>~l8@EaMf`Q2S zJ&MTO(1QHjVdIA<$FVMol!Gz>7T`?PiLqncJdvn~&)8r+Bq9hOgoUgH^O1KuYGVFG z7D1B1-zC>&Js)~L3$jsbu6#DuxuQx0*Wr1Ej*OffOGZIPZXt3OXb6#%lTlcRV1+!- zitaNcuP8UUjxpj4(S0DxIK1sO-C?te0CZ^r7>G<6i;DF%#Np|92y#r%$>5^w9Ldd< z54>frmlst6`%w>_guEEp*$P-qogY^cJ=>z{dCpquvecD|tBj%fBgYL-rYaPb$rAL? zbv5H5I!>M8McP)!kB7*E##tw_j}+7z*Bz?*E4p;NRO{4|#azSV+WJq_!_-OQlDnJk zCpAr~J8H|HL9C(KIkpLSfe%fQN>w!T9?X*A$V$r3&CJfDRv*j|#HIOgN#G%dX6IRn z!RU-!1ha~i#^+@VRT?v76j)AVZFC8!6zbF^+2+W|&Y8&Sd68lwJ1R;eDc?R{XTuhl z#?3Eu*m8#!+*;> zR{{D0AwKGem#5Hxk9(nP6Y*X#-r>}rlz7bl@!qhvhu-z1XNSZC600TFNMy8$hbLTO zONnt3lOLpu9Ubz zVui$`5>H6HBrzgR@Q;%?LgEaGOC**`+#vByi9018ka$dDjl>|TA3Tu~J4@^@F;ilm z#AOoKNZcfGtHine1V5|9(GvSh>@G1CIzW$AqC?^`i4RNMAaSe20}_9hXzDHa#7K;n zXpuNeVu{4ZC6-IvCGjhX)eH_hnXXFemu-Vud;y)_iT9jiGu`!Q1 zWpe+m2fWk5Ir0dsw=Z>O8HEn45A(4?tnj7Ib!dLUIP|7DazTP`=R^)@o;H!)>O)|9$R+vk&N%gvu_OU^F96fM61%NX_+)(AAb2w4Xy$O~49qYx)! zCe1?+upzW6O~L{(8|8*|AzwnWd!@`4%q~$`G}$Y(W4Sw#O_llebZ_M|(v~sTb`7U} zrr~*Do{@v)uBT_ZOl5F>QJxhQ?pmTw#CHm!)J7HILlsE63%TQ8yKo1F`=hvCcnXLS z8p?oWMOyx~Tp4>!mWQV#Tco?UI3{ICu^s9+ByVnZL4IB?)K#oku&8^N*HfxZ)YJ?q zv#|yi`qBy@e@3dUFu$l^I`saG??e;{=(>_^NA9+hwhk%I#!|s*OUpuAx3WiM2x(<2^cZNmP({@4 z%|lX04;k4jt~<@ESh8=bBL{3oJLKeLbWv_5mQ;*2@`KN4lt1n3q~#~)7mB8;m`018 z0dbXcAP$?~M1@=49eF2qj6bemnYgb7sQF0Skiy(H1(9cV6S zW4epjs=%6^Dna&P?0X+boP9}RXIKn zb4~2Fto0qAm&Ln3Yn@zZ&orxKcB+%>df(@pW-G|e&O-~J)pGY7Ys#D47n@? zwnAt%`xo_I*apGY7F91+)m#gZ(0W53Bx(^|5S!{M8!E>^h1AXP65VgmuW_^ygpS|J zjv?)2TV@f>7WFiTa2_;gEV5IzO=Q1Q8HmgeDP~`S6S9gq_H3JVXiiaK7U#zv@J-7p zl-gWMW>gd3tzi$64aFjCtH{P%MSJ(L1zPtRdcWyVQ%gQ(^2p^cl(J=dT0Z52B!=5n zM#`)g-)Slb`DoU2c&93GAAeQan zGLa4U8C8_y$R0f3fz|%RY^yCPE2Dr_`|8HD{5pU37RC0~4YFje^WMDTm7#U@)Q8Mq zA!?>C+3M=4H`#bSHS!smgw0yf$D)>EDR;60X#RlSLX<4+Zl<9u5vDV>11cz4l~5cu zlHA5Q>dOB;-d9s^%-Bsx4XQ*j1{ckk!TXkbMA_sO=3}TYa@dPdjCe=J;EIYz+|#1} zMq{RsNc?}F|4SwC>8&vbW*oeFHE#X)-5$e!fWDWYi$iBsw6g3GBVB4GO7INtxe5(I zIJ~xA$2WbB_?3-pZt zcXoTC`KVM(H zz8U*z{qglvuFwC@r+JLAevFMha@&y@Htoo)BXQS;|KiYhRp%M&d8d%<3MK%?K*!}c zw{@x*hyJ^`NIoYd-|dp`e-*n!NTUDOALVZzlgHyDA3fim<1y7AJx2ecM|GQc$IE4N znXJo%IdPo$o!694-RBwIwLudyGpy5W`Zhpfp~IS($h?K~3`3l~g>zt`GA$dcGVuA| z=l@U%go=AE=zCt{eHU~$#>*fl+zCVQzNW8_569PGj)b`q*c10y#KN2i%mnp=*$!MS z&1JyfK#6cS-d|z7+k)=A=-U$OM1&!n4tf-3!WE!RFdOfrpt~&I169JE@Ce8WGvQs- z@%qv`cdk1rF2g*e4c_I1JK>VHINyYs@DY#|X2Op^4wx%}zk#SsoIw5V3FG||bk9V~ z_BbO&c*5?Wy)Y9_1|5Q#@GhLW9*5a@H-z!t2)aMwM^HOIoT~yybwnA$OlSk8z-+w3 z!FUe@-3PHe7KAW_&x1C=O!yk;b(jgC$91f`$Q`&3MDCTqYOME8z-+wZf$n;!0Y&)x zaNK}<8oI)4ysv@oaR@YH?+WgO9Y7A4ape)q0WF1@&Y2hDOnD{D#yb;?_bC|fTA(`^ zwk6<>9E2x42nwm^!|^=K(J&JZP$3V@#`_fLo`tVK7Pu4s39`cM1g;+h*7R1$Kh=!kzFZ&{3G3 zzy~KmmtZ#DBS7~F`~_k`J{MqJ<#P&CZ+Zp3>tAREl|j>O2Bkd49s1F~R;nckb&2_p9@VDD_q1z}DEmgk{u zz)UzMA9BKM0lsBNUk9`C+k4}8`SiX1Sx_~?5cVlV8-bZ{94G+a))TIri#{1<<2Uy7 z?R`Ko$_nm;bX!#x%x2(opkkOW10D16{s+tt0R6B!TMly)a2u!;<|^RC+aV{+HsDcE z8O)}IjLipaf_c>)cz5egeYN#iE=O zfrmg<2tzn$3Ho`M9YE7v&@q^OfscTwe=Y+SEW;fga4!YE0*b7Uat2m|s4sE?ciw~i z!+jUL(RN@?2bO~^kWTt*h=7YAmXzL_=7Z810x?0?u6Z>*$kW{&4jtqYzJ0?NZ$zA zDiN13LYfJ01ySD9fxk=h3BppO2YCoLfhY{&erc`-_E?Sa8ez=991!V0;U;M=2aa8X z{vToJ8->{qBOJ_YfIC3MvjTV=MENDWB+Y~k9ue-Lz)sTK6*y3u6M-*-mV@W(z#l=x zGvHDDE)|I6q3=T%fQWx7une>n;md)Ek7K-p*#gW0?S36H1r?tU4b(|6gLa_4v5NRJMc3Q$yNzG zCe78rOCSnQNZ+%PnecHCgKXu%3Q!`TB04qQ&4CM*D z01AMaeSmTUg~DtG&I3ilTnzNvCB~NkU^ft@YX(+=Vi1O~!){TAvA_>Nq)Wbga1RKG z>ngDDL&$;f4q)exaGnfvSKvVq$xK-Cu`pKvn;t+P9ge&DfIbJ|2eU8muP=q!3H;`3 zVK&}V!0#(K3U`tpcn@d|%*%mIzD1e990@%2J^DtNPXpKefN}u;GT^13P!2E?7X2*p zQVcwF9DOX@2_OFz^AecX0xiFxPlTE9IEeC2c6QQ||B1SX zc`7jXFU)yh-VQW5MY;I`$DM@y;GYJx)Cis{fd@cTwg-VzPhmVj7{aeWbYDZ&8OD~K z#hBFyc?WhsC(LGGEWSyLh`{$pz@%V>b%i;Zuz@fWZU-g8op5ABVJ3Vh6!*^{t?j_a z!-aV*a94AM)gmpzozV&_Co?dkg~B$#Yz6wX6lP!G_pKDR7w%QS$670_80NLWGaxEM zYa5u`3Ue*6XFHKrJTO<9?LhxnpAJ)43e1(jg}7IN>d1JX0^PH) zVMwqt(yIF+U4EzH`eUuYeK32FBCZ-CRW6~6s zKS5zRB*R37U70NMh=W`<8$@}`0sa6Y{jUZ-Fa_TZBYY{)G*$5Q1xDS9`hc9#z-K@d zcLT7C4c8#Sy(@4%E-5AR2H^NypJ<-3g*Tqy)GRM0HBo5hsW*A&eRL31}b8`+!d@M)@QBTHrPi zZ-YP|+hoY#DSEVWt9~0a4yJ0QX4qUf^*M z@gxkmN0EEi^qh1#sCW*SC|9t4&Z%Hi1xA)IA4YGv z3&N1+MBhcY7({%Q0v`oYT4liF(miw&bOS_TtiUp9ejV8D1tF&y_|A(8JB_rq124Y} zcbM5L3cF`B(u;&H0l(Y=*1x z$WQp!+t7Im1Dv)UGQ*q>jC>dJ!5jlD0a0EE*Ged*H9SL}xVV~kh{tOil}5XSBid{Tg0LDcpMH+(4cgizTl z@)8Q{1saI75`l|B#HSSa5{TsA4zzqE_z*q};`InT45IKyfuSEmSHZ^)4EhA)BFrJc z6QDAf35V~4PQpAA_!WrqatQeRr>G0KzYZMmnbc>XS}DS00oQ@3jqC;5_Y2twzaul^ zRsn|`5VEBJQ@=pka8CnPfG93u4T$7F4ZL&^Ws5L`4}FF9k2?>_fNc(;Z-==Z(E1zV z!W{6s!fpnUK8ytZc>?1Z+?~Lu|3H1iya8AZ;&lN``cuf64Ez;D`8@#~_!sH};R&lj zufrVg1Wyp{w>W{elOpay;B7Ucj zogLWV0%U-DDDco_xWilpbX>ta1N}eYzZBd_4)-;{&L$I^3bPqF3`F{n0$eQ3OMzEF zRG!Sognet=caA=duopi5UyHc$z}=uVFz*GX;=Y^!+)I}RoPaxY`oTO2I44+`9l&bb z7cvR%gn_uj;}GJ80Hec9tO91jMIb8Y5@4A$6P}P}!hzu;3~OX!FXE2767bv$e7c#5 zt%P|4um$c@*aUM7a2JT?NQ6_PO7NB<-j@Z!3Sms za8L)qGaa}EL^@dkJPM*ZB7D3fa-c8nR#=HJgl$3O-VWFsMBz(;--2F8m{8muF#tqi=pKp5APO@T_!j68!c+oV z;(m=PnCYI4r$98O&^4@qAWIW7E@j6VhEiWG1A$bI43ccj1tkknX!7Ga=n; zLuNv{D~8O3bms<{3F&?lG8580A(VGQx=Vx1gzG^RhTokb%~-kr|Kj=bPH}#F&q9HF z7YH17hrlk<-b!L4iS;BdnJ>cWh4p^1u)iS@d(I`8ZLyyu9+vp2#OEdI@#ji@Cq3Lh zl5)N(al1@^o|NkmLj{lAOhB40AUdn0b#Kh zim2;~ni!3VCSo_ySYkt?25i`CjHVcS#ExBK+5h+4y$g#m`Mvjfzu$Ym|9h?uGjrz5 z%$YN1`rJ9gdHdFQV}9|xKZdu*^X2Qr$D7Oh7xVTS-rmOBdwF{WpWiRM{|0Xd^646Q ze;wXmpSL^m_U*~F`E!|1&s5&ec)#^q@IpR*F%RGMR`>}%-yit$n9_U7m;VtTZi1)0 zMaOSE-ay`N$>(Rne{cWa;K04la6SN2AA8?7U_XWt!|eid4elnepTlNh%V4VDW?(zQ zT!Pylw)yYPQp8&ZI7}wYEtnH9WiUZ77hqPv%!iS|Y=X&y834n;99V&KHkget%V6fg zw^K>QlCSfkaoPpU7vk~SC7#&P5O!R8pafj&&(-EdQj5CY{%(GQEhk|+k zdz%AziwhukREZ<(EZ7ZTPlpYw`ey~#1`L@cfcJ!rE%v;0*e7Anf?Ww4&uZl{SO&Pl zZUCExY8G~NBAf$jFWAa=z%gSaojQ3OTJ;~St;N`LrAW1YM)>rbnI<3F-csD{ zFvDMP80#=I{K``}ufe&n>33=ny_$}-Qt&|hXlTAR>Yp^G_IDV@l>ZLHm`gq66vj~*g&d+lvl1GPV*sh0 zV<@A>KlED#ZPr`bw417&`pjNnB`hguQv%Q;p+F#)u=bWV2~(8Kqr7aJ%69~kP*GgOXf7ae9cyWRMzOzm#@%8P!+ONZ2(-sOepLSK!WkeT_?DDz~zt75Wrbr zvtXbfU<$asVEX_o6#rN-0hg}|1mUcIO@2awydCR~SM+*7pCYtb3dN3SVd8qDIrWNK zC|b-w)#h+2P{Epr>X<@-Sl*rO$~G{ANLX8u(4wS7yi}OSu+3Q;ON;gnB4Hy7M(nb& zQ9#=@KkeNx;bp-gf#vWe?ZYoPumh?i+kudttkTtvs~QEKeuDZ+o)|ALrZbAu3gP_>QW%edEoU)T!e) z+jcqp@oH`VbDF!-TmS7<6N=J%g9jw;KH!tFYJ9;n55WGDRZ~(Re8Cn7pRhfviw*%3 zcVRobwq{7rJLz9e1HaOkB)CbJDCz%{q5T{6rKaBwB{9D3p)te7V z#jvDCnbhB+B227~1t1q-#OquuUI(_FYdx@<6u+h;hEZ8Jm&QBd<{zmQIe#aczui?# z-3pJK|8*y304VlBuMxwMVI;;2C1Js@XwYv8_pf%vgJeIHF8&=5^HgewQ;$S-X-qGk z=?5Ow&Xv-A8;j~v2`az|uUdt1V_V=ccO^G$qRZe5nJHRXNM?3cW;XXMp4=ZY zfN+s>$C_~dOL|#sYFc)(3@^25$0E*%EYi4%*b12!EB9huF-pRg`+C86dk^9UO)u7q z_pU;OK4N{6XDBE-NF(Iy7xq^4w)k#jtw~bxhQ$PUoc4rLA9uuju&0Hm9eT zuWh)oSiHbjP=4h4gvon{Hu=6Fp!K9qeiMDRJBrHJ&rcQjwL6x6WUl86)tZ3rvsd1K z^rk`;-*a>CzKgC*tqR}VJY?~u8&$KjhS?(=y~e~f8Z?pm7lnbq^F{d4a$9V?yaa=~`UxCjrE|wJtj({T-YMQzO7 z7M9kSMp;-`i9~EuLUs_>6T2{0YG!rJ=fgg4Y9IHdpyI23-Ps&Aih`ZQDmHw17#kvQ z%eJ9ftm7=JsYSdPVid|8)EFKd%#=l^C1uLdkrS$gv%QzMm%o>9dmletT5VS6jvYsj z9_=~8)EYdKGDmdG8lIM!mD4dPJH4hEwDMy4h5#4W6kv0W0d{qBAh!a4s3~|NKAWF! zVhU!KxhVNalb;n%)%-&WQ0|=nA`MzhZ&7k*fxsXZqI;{|kwD;~md7LJm~{1<3rFf- zx!CyGuZ`|Ezd1AgwCss~pugLcMb14XjV=s49(+IV!s9UsZCK}oh=jCZ|i#Q(MRXZUot<|S~+=G>6lIXw55jF_HuI-95Kbjr&{L1i+chm2N@AkVE-aoP^bwJx>gZ!Age$nLONyB>lxc8@yagNO{ zN4LwiL-%_bv-m^C?$I+~3RF$KTtZ`dche$m>hqf4>3ZA9c3N7O_)oRwa3! zunn)e<@RD3E0cWKU*0lE@YV z7rtohF|kZ0 z9Ji*9IGDvuj8b}b4Y_y8ZQg-nvnpPfUYmE~!lak;K3pO=7P8Um+;aBb!l{kgWt7($ zxKx{|H+8ll=xn=V5nx)UN(Exf3UEY5t(fak-`Tx2td8I!6x(6iVVuHZ9m7H|W8bC{ zF(osVl~i{I7OV(;LamPT?9+ZnW>+qa8nC$QICuQ>2K(546r-8AHygqBDp8e$ zPYvU{E%a}H?l`$#GbNlZ(V-p zV#(MMsT;n$<wp^v;V zIX?bw{Fwlcu-i+WzkltzXMtj5V!il-wppzv3`~=|T^o7B_B(O?XN$9451sz5(eAFo zH#Tf1fZ`QX6B%W=tf&+S*9yX$r3)YoTDta{o%GV#Ue+e05t-}D>v zvuO6o89tr5H9bG1^z_C@mpkgS1M}xk$b5AtWmI-TW4DJTx)C3YU_9@;Uzj@0V$bI7 z*LNrHY4@3H*NMYCr+c6Dy=Gvl7^nxx;8o=ta~C9`iI_{G&ds_3hpo4*nq{YS`}+qdR{+ z!CTtazV(NK0jnav>N;*prnY;+;%i>L{h0M5MxN=mvWF%7alZ| z7f7eE1=2!n46*qu|Lyw6znt}(?O&DT@4^O-X&qoAlGmwj^tJ-b>`l8^LO~t5gW0Z@ zP#|SH*2ELbTZm;B%d)I^t=EX*vC1)oO zWrIsx^6FwKlZFMIh6(3Z<=IT~l6HCS)L3)gIg`?4c;x1Eq$is27MIMtSz@wHx9og& z_U?XqLuS9s^9K&^T={7GZ6>>I%CPoNH=G>Q=)}Ay=Qi~n()FC+L!P?9Lr9uKm2u4;#$34gc!g>Z@bRCoKKoTISTeTXWA8$EJ+K z8mUpYRt4OXR-C`)of9*6K$K)rk8#=Uzt<;y z^TdA1fN$$wzdCtpQ;+5s6Tdn0>CC4i?az&0TlCZ5S6_CYx8`j9)@^igt7d<*yWRb@ zkDq_CY0;dqK8d4m1B|NVj??t^7m&w!n^}m4}VtfBX7mF zBs`IGlbQ(^J;~*PH`7LB$zn9w^fFvYfkP-(NWV`m= z*0*amBmd+hv_MJ?eOO zmu0UWKQ|3f)e~pfl_Xg1`#CRpjH=F_G_f8x= z*>6}{#}oN6?z3m?s`q+S4Nb#c0H;(~MR(U&hgY=$=UK-ltZ2fl6T#6@ zFV8K$BMO=nbK0-5Xz z6VAIG?e)3316%NKmqVpSQS`*vkx8v5t!nc_9@3tmp*-o?#>Fww1 zOP!yu(d$Fr|KYCrAN5pUHMQS4+G$2-*_~I;pFa6xa@r@uwXu$8SJ*NIMKAA8NbS`j ze*fOz2~~gDPoE8?n5ZqH&{nO^@3+&zg|P4&2CwN**LkpAs8lcP^sT-+EK< zg}G~g%whYtE?5?3fAZFo@cd)nyCrxHNa*o!K=@RzDX!YYp&!NP$8J0^SN(DMzLkSd zB|2xgA87PqYTkDj6JPZxZ`0ImXx;2a&1bCdm8^>zvT^Y1(apM6_0L_qYesNHP@hwh zMV8%$PJWV7CYm2Q>Hf)HuQRTHet6^RhvVAW%By~kwESr6bZg(rF-`nK?-#%|i)$^L zUqbzyj5hu9=dt-8v-z{D*9x8@Y)i6TP5qxxP*47s%k8LMs*cH-NjV)uqGCGYwXa0H zgXx*79l-`wM;Ed_u3oaH++o~MIw8UVN)!(0=*TV!C(-fPiqHbC#j;@pOa@$@vZinK zBitI@>i6k=?5`ZSw4i(bNKw}>mMv+Xx#{-Gqfg|!Pgq>}>dhbhM>J$N?b)AlXxPOk zH>$?$s#yJHtE(?|-W?v>-@1LDg3!7zx5vyp`Z%HPj8R8}f)opXjjL~nd+}j?-vw^{ zdTH+mJ04vB{p16aA9k8JsC$!#pN;MLQ8csOUsC@`$FcdEpT62M{948Fr-#QenZ4Lh zw-#Ma+!d{uKYL)?om*dvFJ~?G>e=RX-}N2eY`s3q`@13Wpa0T7=;njtpQX&1X&5$S z@`e39>wMJuO2D0lJx3;eF~0eTy^EGD?efRuiSvie8MAW4>C1~=G=1fN{*%WCR@ly; zx_sA{jn;{S3rn};Eo|X0+tTWK@||aozn_#eu$5$-XF&f^OGkcfIYXkWwrFh;q%`_24pd@rK-L`P|OWG~r_^pRZP~ zdG=fOq{QKwqrb{OvdU&{z;|~J964XGIr~`C$E8IA*SwdFb?ssUzWw0mgZ6zt8#gT{ z(E9fU9=D1wd3)Av`=qR6Y@6oK4z7*-*}Zh*SHH~vc2)4wLnj(4A}&pR(eCqQPATk} z@3daME+&nC^4W}zjVqe3AGl@Ruc2K&jT(7w$?5%lucrOhzx>p1Y}xChzel{Z|9)`q zn_sv#^zXRy!~hG=`}QSKzCYi$Y18EFrb)i8);oUo`{hjh?BBH0RdtsX2v6f6IFMVT zzgqIYb6K&pr7gA~toX|oA}RCbl@-elEOrl{w`kJf+by4e8JSk4F3B%s^YfNZ`X3&% z%nl1IEEu5$b6q+slx@*K!mkDWyyQNgM*Q!J2oMDJwFCqUbo zw)i6yHuDr>3(|^nJ6$&-)VsKk5KM>B6kRCCVRZF|2CZa;CAO?JMH5*qku5Q~1yf7R zyA_Zu%FkzJubbyBcWGJbrdxKk$;Re&tbW}lK9IyP=rC%@gKIWMD=-h3b3 z$Z_+HR`-v;I24@NF>v?qnfcEWJa&~TznuMm$uCVvG!Wq#A?7+i}3B?k@Xiv$>jwid#oXCIH{id zKU<^RHq*P7u;$xL1%jSzqw3uU>@(Td+F$t7UedMatHW=dv+WxGzJ<+S@Ndu*-px2{q?K6T2;O#F;N{r*+ROw?pFb{^xovg27r4?p z>-=nyF8P?bKw^J@HoaOrFx*?5_MzpO@h*9l^SAWu_IuT}dqW>K%PIYB@bFj5b9UDY z>2~mo=%oJbJb(JW_2dJaC%2MB-?%tvf5X)_@sBT9>`^TPQ>f4FDv&ggs2CsJp9wbACh{;KG1BUgNJreBjX>F8&jiVr@V z_NnI4cY#~)&OTdq#dGY8LGsnkqA!a#+*mhk--GO)so&jxy!-a~pXdDg@E5NyJifYj zaK|scu8%A{;?_4Ec{bSXpy&FcPU{WLdK8Q}(0lzVi`8Sq{X4T?{q~ux{(-nn=_QWO zdXM|P;mG>G_6^9c-_5G3Xzr;ek1|&DNsN5bWQXH{+1x@RP!1AXjh2iYjfW~3 zw+V38rOECr3y)HJczLq+wt@JM)BCKk*=a*lwKDgRwsiRA??JtftUpvZgy-UnU#3=v zc*^k1IZlXymLr2I0PNssl0EHh?QK8cpT{3;ZyS>~6wkclEq7U0SqnGQy@tqGw-)xc zoYpqLBQ;vyLn`wC81ED6?H3l%$qV~OUcMf3c}SQ?aE}nV2kXzWUcq753X}U!w713M z+oSL@cs8Q6LefxrO2`U%}DbzT5qyRt&(aYYpno(I}xx_r7M1T)MBJT>Vl^tlpKXwd@pATw725IRX zHL!;|JYE$U-!~>KJ~}K?5fLVvPz{gl9n(t{#g&9lo@WRWHZjns7=kM~h~d$AEqfh! zzj+FL5K^Fb;ZY%)Y`o^5mPAEi$H+ldWJr(reyZr$z6!OyEp%@{nO;rGk;!Qs5E8^` zR;&r(A!(W%B#mak@u()a8boZfw{53Np_kqf?(2;_RXyTk2S$a(M@9FJs>!@vgeEyH zk;jt<5N*k6IRwldL40W!l{z+u)SQ^(u{@f2Sni0v897;+BxP|!weKWGKZ%tNa@h5&ZpGph-WQ<1U+G)_%U2U*`N)N6EN#!wB3Yl{pp z+!sYLrBn-7ojJM|Ze}_GY89L>BC#(mCo4UX>tIk|llb!e4asjdbeW7L-xNVZI9pRRfsMd&_p`@=Q@U7HMobMo`0_DWyX5so9REF~D;BEyg?;z{M5y9)Q zLFRlfK)eOPEsS0y#luk(Tvu5WCNuWnGG0unJq$O)=XB3d6`92#jYymZAz3Vx(`nLc z(9K2?BfiZ3==wiCpTJxEc;ASC_yuu)|NhT;1Uod_;lOORIo7;Xpgz_d zH=J^0S=pIGp_f&bl$eo$+bBacvh3UpSz3lHw0Deb1oS+3+S}W@@kyVVyzI)SuE#c- zOlbP?4IjfFnto`*9L_$<*`K-|-S`9ik;C?Hn9tc>8;$k}&W~GOsg#C^V$xlhJk^Sk zoJ>hH!K#=ROdX*^6I}6Rm_|I5zJ+k)+(81e$c>Loh&f~|xi3-RD1iZ!o>s8fawNf_LDKp5YOzK z>?FWA-sQnT>CuNAX1^dPAok4GK%b3~m&8-5OC#fJ5DBlw_kY_J)K^)Y?)H^3|4tbg zq10R4?hea)pHdgrThhNw*SEd*>54GCh~v&EOPR`1%KC(+>l+S)PB7h-#bIq=-|z-* zMT)NPGi7n#Z2&aXg*8vng|(^(!x!p^QW3UofglS}Bff|GNPR{Slp>iNb`GBVB$E=S zuoo~k2I*%ViI9liO7EkUcU|Gm-&Y2N!F!M5r_`z4tYe@LKoP6x2deQ68slB2)<0D0 zLfwMY`pabd>z|XQRO|PU&Far9i%x3;B+Y^tl|IN?SyZNVlQhdiR7S6CVAz}gg1WxZ z)`jI(g_mE6UMTepaB{Ck=$Q!EM^s>uSgl*@b`mj^`eSO{PPaTb4btnNRiU?Y+ue?7 zSvGx&+d)7jTTd1pl1!Nir>c0S8@1Nm%@Aym)(1Ay8==x~b{hb2n0~DrK4t?`v~E#) z&)rUppiB{XHz!!8~}l<`G;h|(COR-j9z2V=v$%T)Rw z4N?bB!ce>UEA{17DoJ^$TNGI{-4<|B!D%COfKm@O8{JuC#kq}9gTOqXsZltNU-|o} zk`x~*;^IFX{J~yDv0ZmX%VVnI9tjHFOs*`d;H2qAFdSwVhgjK&d}rkh*#R zjGAkv*6;N`t<)c{6gLON0NLV`L@H&sn<@hjXdQr~)So1zW+c5p3Q`K<-296}tO_r^ z3KcyMYx!EK?@m+}4aO7eY8~j0(EFiwBt=~SAf^uBs+>qnP!?JX4AKy;N(Q5}%iYR| z%A#MikxD%T=V?fSKpUdehoqwV(DE34NCGm_^$;tHql7B`Ot(}}XOOB;2(FeDrBr66 z{)|D|sslL&Q);=}c*%JIylSC=Fo_M)-#N56H}>Z5uMGxjho;{iJh^E83qs56tLUfb zuPnS1rPgm>fULs2?^5H*<1&3gPEH{7Pr~$1&@d%av_Mko7P-wK3|%@JE?5#IX%>oi zvUgC0q0}uV)K}_*tyPBoXtGMt10`f244l0 zlNTc^)aX_?E*MFc168H}A)@G-q-YD?^QU$aq|}4GNg=+XD%?MBr626zq9scjKhdg58k)fEf($yCMb{R#WoS`M2eAV^vM2iUwv zSzg&)2_}^eO)>tI&u*#pS5)P%AlUmTR4uxs(ob7W@u|yK=>60>V+&CPK9LlDiopkc z97)$fF6+6-+WVKHGD*=O3ert*%Tnkki36WWiWURG`;b9e=}tYuB(YL|KJbmCh+`>r zlLHVHoq&vR_5nxPey=KUUydXC2hJfUf#b@Jq9Ut z=m^5R50TAIk8^VmEe;XDmKFCB8l>UKK%x84`X(MJV<-hAfGV6#r87u3QfT07NgmyLsVDcS!*rtwi(Zf)gY~H{ko8CR@9vUf^gUp;xs3k;-7| zFwyNm%0r8XiPfS?{Ta0=O{OA#(cANC{Uvmqk|{KBpd=JKRDUEwzaL$sLHY(?Dg#;x zsP}2E_X0~I^hb4E(>;h#)Bz3GF)Dp;Yn#$Mq@vU*$LNpaZ-T10w^*rLeGtG3dS99Q z8KixXtwLX4vb7R@OVL_DF(MN#>Ip$y!;*3tA2mqR0paDZN@WO#EOH%yS=kPOF6s4%jBi9<;rG-(FR;@3v|!5A`fsU?D~t2X$kI)5V~_=nk_QdaVq`J}jF|xmQWk#iju1vtlmVYg--AWZ zOAtljBu6$k6n$|6i6bV0XvPvprK7}2?KVK-7$hS|D)nAjYV=;I`dGIF-6w9(k(3&4 z%t7MZqC&xSS?iT{n0-(pq54$EPVHZI1!HIG5ayDK;(qA04jZH=TA{sGL13m2Mm)miMMR-L$CV%w z2w+YW5rT&_%778XH6y&v#-J91DgiVO;|d5j$LcF?SVSuIvnkS3g{_6wQmI!oxZP53 z;qD7PmX4@xP~;xU=Z5xHtiZftjWMeMrmVPZrl3#I2Z?pl#t@iT5jc&wA}Jh3A&WS^ z73+=cDnURkPW1o|E-X#kpn=cC}bE1A+34sdEUBE8Kf7NmepJA_!Ms`O}_t575( zpYWQSIiK`rxDKWb!oeo$RBE#c4-x(qo4#vlWD`ZI%_af9q5VrXL8>XM1*WVxHhoC~ zUp(6%K!da{Fi@2v$8+SuU={Q+(|V*bTA*thH9#MM&XTTcxg! zQWt_K4V1d3r;Rvg@FlB3YQd2*yNt`|ITGP!2TF88l^;Ja7`)4F79a>sM2S^G6`YvB z22~Szk;|1I?t+b;D2}<;n`3;E{5hU6bd?d6TAx8`3(sw9PH4HNxQ)6PrG6&YEg7Uq z2*#{Fe;*ax)bGZB_yIq|;pU@w(-Ittb8A4eSeE)at^w*_fJ6D^Wr%2yZURM0J=cG6 zvXDY?3SSzuHp;-glA`|b0=t4kKm=mr25`zC9Y+z1r&0D$5TFVOvX&I}pvdTylmS9X zQ2;z@oe&WwBZ5j7Wo?jtLy^Emv<fogz8B(96vLHj}mX&~Yim5pgbOAaL;OydP%)9|;DqX1zB>1qJ^R88<{)PHca zR0N5+QB6PFSRH4K$a4^m@z>n*!04f#z#xq^dW`k?tQnVq(R0`sVoc40JjJ|xE#N{p z0m2A?ag>eU%S)(f_&OSf(WeOS8!~)V{z3H`#7TN{mNH(*CDoOBc~h(fWnGFmqW?#Zo0?OdiP7<+=aoRx-F)*Ny6hX6N7UsAd>H0V)2 zx!kvZ92n2#m6# z)Hx}2J*^R`Hy0_ND^V|ARvOUtPJ=Y zS;4xxT2=yDU*C|VWGVSsjs6d%{$~E924&aN4{N1L zy~Qt(5QFqJC0DpF3p*NnX@wYNTD}^j-y+B$)e>1){?NQvv7K5i&7>d!vA_kq1Q4zT zsyzRilOBxHU^Dt z#-a%=rD;2Jid!C+&F7RGmXK=wP07{}K^KA6x=VdYkrk?lhG;6RTECIVqy3mEH{keI zKpTE@5TYucRR+r--O`w5uv4kQa=rf=as-C3k||5bg@x`V;He=QKHhhgh+P6NSKsMw z{@$mt!e#ZZiz9*zQfH*3Ki^f1nLut#${g$pX&rWq#tA>S@$`g3W8Hj=yHuqFH%QL| zsKgd0)A%A!ab;0|lt@5F$<)&X zL&;ZjVevAhKBr0*xRr_~Df)td`d-hu#j8Pj4=K~Mbt(sj=yLLGkp4(yLTa%(4pi#v zQ2(LiCNY@*k_Ss(tf9E!#vnb#B{HTX9|1cbB>REKbFslw=UYrk6M#^N*$|UkhYK@E z{Q%*b8TK`~!Xs;gR7Oz4er4facV%ElNkK5JrmzP>C8=TIw}ge+MhQo=v0|$0u`dE? z!;&hOwoj<~(a7&%J&&yuZjxD-%W$S!9tB}bdXP12e)=$25oek>@M2g&>nrR?n>I|U z+XJQ%FYu-`B~n<9?sjiOvvJxL9t>+I5&n*qCs$7DwlHFIgPfVjV?U<965FR)RQCKk z)LVl7*6y%K>WlIyL;V9ZHOZ6!5gD-S>RPwq*KcE2F3}EVuPR}yg{B|0kWo_{2h_!@rp1X2ADW%@He&~SE5BXt&)JWZeIsS ze%EW@nk!?8oMO?%=#L+OM1LunTSilJ|2Jh+GeMZ-Gt)!em=BVB>gEeeeQs9JQiU`jbU}#$dxY&$|q`_e!zM14&^xsmM)+Nr%xA(NT+qmpHi^ z;0z1^5@DTyMJw+Xia1*JuMy@8nB08}@%qj|>i*sBm6#mvIcxgQh&J_w07Y64D z3U?k3Bl@xO56@$u^7M;Y!gd?Eak7S;VSM z5s57Dy5jvKl=U9MjpuG%>!I-4gs!+ei@+Ee%fRZbkDD)cT>=oCI&&F|$4$iWL=Sm!vH z_#dj{nab6=n)7wFM9H*`P=3K{EjY#{^Bvm4URvA*`w)dRq~(ue$;zpN&MKJC2&XAT zE5Rj>iUtxVSSojk6E@x)75)+@?7KOtl<>3g4}d=i{#5v*;2#5jg2YibonkvFvm}oB zTtZHHd4Paly49TRG@V9PaG_2I=t_h6f;ZlD>! z?F{U1)+Ir)-`av&{z*q_SM~v%C&`KP>}(FJaGyISt9<}5v|5J0rp8)rr(m%;1&ji2 zpnaMQPt`gq%gY^8o|PL6xq`jQ@hslNt+PTOWF3(d zC4P2ZEjp!4I;d`WN|m%XQZL5%9qg#b@)L(~lC7}<(bGK=t+jqn;iW3I=wO8RLA0q# zKbno8)O(Kx#UKatR^EpsOGEXrxZK0M;MIxULiMLgtw0SH4PrXj$G*Q^Xkgg{H*8Nx zwiJp(ylu}rYUAk9n))zYs;(q6hgo>5hp2V4p#P*32ka{J?Ae|0 z*KxFyTHmOrK34c#t!vm*7b|$a7hu`wK@vw{u*6X<#P}-+#=f|qYA=6(0rwNIENy=( zyI$ywCQeF2xyo=bboxL;E@6bCzZ4w|oe}3`P#O+#Aq^2gCut^mi!5#;MD!dRb>L5u zX&Dd=iKEyFQ&h*N1xDPz83Z9`M)glwW15pwT?28q@ovN%pqr9k4&3W-x4LgGqoR&W#lj0GXeB@IHI zf^K{MJ-u&*&UqL8?Tz$v=}{rtqY&*;i1x-p9F?qle$yK*gu9O-Iw)}rbwYt}I;sjQ zIj%QQ>whva9^{L_d9}V=-M-Ak^#G31Vu}x`Z~_Bjoh}grPZ9&cF#(d}`3H9Pk%51X zf5ksRP5#yVlYoMV_UFwQC@?K(-jZ*~uVm|K)pnEmd6i`SsT8FoV~?a>8DuvoJL9Rv zr1?X=J*IQEZ4zDS_{!cB& zV1X&ndSQJCj(}2SVMUO{iHdxq47N<&z5*7j(jQdo4}!Oo${u~K(wE2Yt?Z6Ace~;p zsRLxn;O|4{DEcU(qWeUllZK##y2&bgVGl;)4i_yo2Mipf7@!zvR`-$k43pkgrH4Jo z;uFoWc;3_aiKdEsn>G{h5!`2+#@ANg?i-C4U-_G=ApiaEf0hGtCe+SfJ<8}$=ItrG zy_~lX@U|y!TaGs3%Xr&|w|nq*I&c5R<2&-UDc7TX_$A(c%-iBIe7d|H%-adPJ&L!d z^7fa!y_L6r9nR&D(c)TRhH~UR~a1d0Wlf zalEbN?J2yyfVY?PHtEu)AM|x_zbf9g9&hwF;cb?;LwP%yx5x4JEZ$zp+Xs0Y`aHN_ zC2tG)`gY^(Al@Fp+h6nL&g1=y`0^T4!CyH;3t{LRGTJ785brnH8!#yda>3PG7`7h6 zT$16K35SDGZqQo`6V(P+pkc~jE@8JV535i|9AB_78(u{m_+ z(*1R}5g7z`lpC*zn_zA%%j5yJL0p69=7o2b{TS#YFu@=|L69pD=b1)#(%pP1Ez|>d z72cC&lTwC4&j|bjD9+H7v}8ot0RMDUh3Q^A$k^F9Z&A{BoRp1u?4LUb5u^@5W*3K*J^3Fb|( zOMsb`iQ6uszIC}}H6FNtUmn^LEbjii8w+m1pNIB`Jb4(GN24bAP`e&u=^$vp2vLSh zXoID|6&5=%HkL=~6+d=l3VvwBxCopW`%87oY_hBqtfDMgp}i$z|FKP#)g_CQqAX!T zi@KIf-F?=KeXI>*?NgU)|2hyK1U|LEJqR1*L4AS=CY0bCjVpDkY%W=yv?voLP~I(| zB*faMA=hu*K;Mx^aV?-+ zZhb*L#<9xblHEz$GV3g>1WOkBX;5}l5woc=bkxA0`j~HUs`qmfTp58Oe=ht&XEEdK zW6L;4OR`#6h&ldQBwI6%&7hAPrc1c7%*b8V9(If0y{dFWDN5FMr(@m zHjK)jY{Nt~$Hy8lpYV88XSHD{FYuVR;tQ=U8L_2}rS)lX7IE3gSuK7dmI&ouCpgS(Zax_2^0H<-v97cSq z4Kt2qCLEzy#8?4G9E?wm+^v}Uf>6e~%JLHOWlinN5lM4=OIC9oTl*|jor=m0`L|54 zq`tufbmfAnW0dlP$vdb`oy$agN5jLom+)CtFQp2>O3ouk3-5!EHXSn2$T=W0LuJ zMdR3cnCXa1_EVTeaFbo94fqZ>+0HOK;U+r-<|y0=u(!Zmg4=wYq4A{<#v0=U*&ku; zB!ipmH84JKlYNYbll=pX5^!2)O+Z_xvd}t<<~aiZp96axOex&7_PPMGlkj1`f!PN) zwQX9Hk(=ySWZ;%zM%fC+x+ep@vkdgkg0FDXyu6(ccm|vx*x{IUpNBgS_FkA@;im6! zTffi!WAfQZyt zG`egsbai1YnH<~F4*2}?=3G#=JqCcla!GhO4(jG0rq1Fa{u-orKrle|oaZ7udi$T? z-mw5l=f8+TEZorRiyI+PGjM|=1%>a&IEaOzxEeA5_d)s?aY{>ot_Cc@c!^`;2D%~= zjfA!9v8}q*Vj9x)K8*;m;9}5L*!THFT zMWtFdvD6@40oLlDqf&ekbP$q(3te>U4EG+fRg7;&xz84E95Z5#RdGk8dFzO?!>Cq@ z?OP%ezGpekc~<^Lo*;Pi6}a%h2^cPX7%0#DeKOP^-OP^v0GBKEg_ponrOsjq5`Zty z=sSuO;8T)l>MXiZSg}R-4X|{^2*nm7H*!8MLb1hFqmLqZm))LWI>xBJpCvQiSFEg0 z>2o&?D=*<#xaQKv-lJ#~$9|=vA5xW?=1nBS7OKFqTz`q2J9aF#{|Y$DI(wAf<)Ca4 zJh(w)|2YBm7R6-YmYl6hj{|y(N#uQY60Qkw(KdS(`Zv>WI`-lmgV5h{ni4;1etub?f3h;Mt;2C-!<~#AMNi>7jO^z#Avh;X&Gts#EC+y%}yJVtJOf_ zMjJ!%4iR1|(qx-ZjBl1OYZ!{#BU_`vb6CN-DJhz4HSll+j^KD{D-(}a)eeiw%uHt# z##BQ!+3!v_-$YYJa;=1O=zWuPjaI`9G-9amMh<0xcW1P@Ibma%#_!Hq@m4~N+894v zqcuKsV|r5w-xYBwPyn_Ljb&nfGQs#a!WgDs?fj!PNg8Z`)+QEvNL;)>@rUC5isaJ z7OFCXY0H%qOr_y1rsQ-+#KlTXCYETpH*heAw}`+iOsI|FQHeuQt)uD;8jZBF$KpLG zt!9KOBPBC?1osFR!+gbrjZq|x%*Cr|F?gj4+2Ku}QJSzZN$I&cC?hl}3&O_mbeTvo z3;i8=fty1#ii~8U(wO4~n;4BE39lUGgrsUf`f=nEij83{N|?jFE~dttPPpJM?xhK% zCy_#+!ib)iBFW3lU_KP7GEpZz@QzRKA;UCD+Hg$ie zYAI9`haf|$9Hh!U^k;lBESd4fdr&61%jJZC-jKp+0kaeMAj4P*(V0jwLxVTIvWa=6 zR64#VqK4N$O`95HARttTK79NtAMUM=|)UKTjZD!8!?2L3z%^2_|4e^6> zhjQHjI&5fK?WN)RqA0wBM%@rvXh>!*^#P1hp{AF)YEN+9`~Ha>5MUFJcIlYB+KJMe zSKJoBpWvi-9oq@qnUY#mI~MuWA}s!)5j6%6diP_(@Z41l)X?_E`CL3~(i+~Ii?mC8 z{|)V0V9K9#T$2`H`uQ<+fJN|7>ACb8YRxsn)~NBuyJC27O8}ZR;0(o}(q^HYM8{Aj6{%sr=}#~j#(Wvp^`vH; zlxLHRbk)lKh9{l~RUn6S*wNLg=Wssa4pB`dPe!Tec`qtYZ=MdSIik+Q3-Zx}@0e{O zB@_S5%Vn&)D8$c1in-vu){Gl}&v#Fb@3rH;&3$v;E72NEa$tSC_O#N*Trt@=d)TsXfj>s-yzhT$XIabjtlN_ytkk zkhi7&OM{jwmqsluTRLD_*0M3n@|HDNE?e%t9Dz~T3x(xa(x3#^```Z}4sdS|3Q5m> z^QqNuca!F@=A!}1!Ewr;HHXDjs~v;7^%7FTSlal}qy5ZBMkkBV~SU{#oBspDAn_&D-9x^LxeC{}oN#?-g6WS8V-WvGv%$QLg>A zW-l{c6?kX=y<+S4imk;~&Q{Tyw2dD-gU_Z2exb^?SwE z{}RR4^Pt%JBh2vs|5a?gn}z;9lMZ8%+|FznBK}Wmw)XaGseHEB@#r=E*S>QM2fxab zSr^T9nw)iZZ-cI%G&^Sf-=x_(FkAEdx-O#VPQ7))Z|r{mFj2DcTmiG(KjiC!FJ{fW z{_;`et!?`!O)uWIR(iL2tkvT9R<5_(^lbiQr&mW;TgQ~_?Gcd^gclTf=gWh2BM0p< zoSL*^d(x}MEv^ek`h4E+w#9}MH^pIHzxP`?eXro@zCfE6GxKG(XPaFc5LnV`wr!86 z(`RnjGUfKP^Urz&SS4?nY5VP*yNia@znEn|amltuBiHWU`qAz4FCt1m{;m0jKK^M7 zo*o+MFh)K-q5qnFp6v%uN?z3KcgcY|*MpC~EIu-3QJW6+FWsIpeAzwgkYn=(f26B( z&i2smp=B3co-Rqrz12?i+1*FBc>L_vN2~iv+F$TlEWP6c&DL+Avigtenlx&*z6IFt z)m6=Dwmt{YnZM9%JX6qcw30;L$*tuf{XLEQPI|4Os3@k*XAibL z%{l5gyVcA|RN0zz974%@LuCjzGs%&u(?;M7Em{7T+O7TlLVI}l1P6zB1bBP<{>Qaj zM?k^r3uq?0Y^L41+wsGrqxV1a!R<2ab9H-5d)5D}@-o&H8eOpyA@`Mc^78lM6uiO@ zb+1P6|H^v$hx5ywvHK2o`DxOk4p$>(N)NYfMbU>Q-yhz@VN&VNr{bmuo}Ki2c~Ve+ zVcVuR=P!A5>Z6}N`2F|#O{Q+~pLoK4vqzgW`ThlV{e9Pa-)sH&m@w;FdpF68&TBp> zHGC2f?6G6%!`~|}_566H;`Z&y8fX}!}<3vSbmiB^#b{#ksqu5lNK%%S&Vib zG)evI{=!3#@)jqTh4>$M8Z`M#qN}rC`{xhNT-dl^ZMO6eZG5i}mdqaf!<{ACR@WaM zj+`Or^s~gf+294|&z_ku%lB&Z$(Z|t-LK5Kn;-V0+I`aHse7GWPPP}#NGcp;`$ufw zIG;|Vwpbq6UfOiRh8~XfuZ|CSSaS7K$Ga()O?qSB)^I&{(4#M&e|K_-$MC8xTVoxz zPM!XG{Cf@80)c69ymHeEr-_3WPyKkiboQzS*U#_C?f;cq+`0*j>c^!kY&4fUPi3-P ztL`q!3H5CFb8G(*C!%65+!>xC+T+5yJo|dW%J_k8TYqz8?bROyj}^0XPGz;QDi8W5 zul4ys3F@^GYwKPO|Krf{4Tjd0o2^={j%xqhdG9v$fs}mt&Y@jW<^`oJJbh@?qXys2 z*qUkk!u46KrzrZ%4x#Bs{H|{l2Vt8 zN49Tss%5W<#oJfkTJ>GYk>@Af?{~c=3D38ivUJ|C#@Bz+*zYZ#bY#~Pg-7Rczl<8Z z>zC%mEjtXE|8bYNq=beCM!NqtZ}ooq=arslenT<#O#<5Q#N+MfsfwVG=r zfDhStHP^yV%+y>DG^)9-KVkqO{PWaYujtd)-D}q!d%JAygR(Ckmt@{Q^4r;)K_}16 zH|%TN%{RcI?zERqGg`0Ct9MxNamTD)W1P19eST+^LDF{!Wi>Sx1b zr+j@4WGK_PDmS@waX4 z^Aq~p{hs&lr{?+{YuW#bn(LY8W3zj1*_-pZV2;-B3&W2eXaCS6WnpJwpBwrml^17s z`+GIl`rF5gzb=k^I4gPhH&;)cTel`Fy6b1Qxsf|IWK9yw7drntskwfeaZq#pi)z2i zoVrVz+|~|WnLpRw(Xn~IggR5&ZH*kh?#`qm_w(P{D8McaGk2W#`ew67+*}nFcTVQ= z`BwW+I@_$Oe^JzKap<$`xg7&PZt>e!8h4H8+3kG?s_Z|SCkRiUR)0f>8<*;>`{|0) zZpQ`(FE2Xmt)6f`X#1(6Uj20rv&Q>Q3}}0JUiqqH6D!7kea~;^+y(h{TWoQ;Ip*~6 zc9S&XIfGUVQ|S)-ud(uL_eG{>qj_$dcmF)!YyXg`_0|^5?e^o@g!^Aic#v|T>90>V zI!^D;4b!)E&rX z{J8bbjBOV^N7rB7DEji8xCBL)4U()U!@mi-S6tk0%4?S>-Tk|MG36u1{S?>e$M`jU z|DbO<@M8^C0($>C@HXb$re~Vt5$qp&O}MZp6yu{Gf!M(d_owh;2kwQ@tvuGhR;+fcyQ{V7x)dLy-n(ywv4g8) z;!=vdHygn=FoQ@~TanPB1*KnX_DbC@cdyDecretngWAdO_L^ch+w}v+uF4*(-(qix|N%QWU5(BS25|CJH+c; zi`ousJJ)((wFZ?%w>0U-Cf(G;{Z>;onZ@l=E3PNo!BtG%Adl%9k7&k9jYrQI%|xIy zKHy|Olm$6^)r#%Lws5t@ZR`HTA4bln;b7h&GR*t?bMNoZExvT4YWCT4jUz_insmx3 zqtB5~7D@jfdv5{|Wx4&2Kkp37%pd}Sf-8ed0xAN6f>yo*sNjl#nzpd(AP5S$peciz z7v*M-T6VL0#iat$a=~&e6SWL84N>#katqW7q(#GpQE~pC^DZ!u-u-^>_jmt}zC7=< zpXWU1InQ~P_ncy{6j$Y?-#w+s|6$3}nQJ#6+Av~v$cw={E=}<)$$xb7Hb2+eKi)o< z_`}2da}V#&J-k2nVeWww2`jx5-&&jZ%45FIXBl6JZn~Jh=ckOH#(XgJ@|bB8pVL3# zlVS-tJhKQFuU;xk*hQ{j8; zFYNIDdGo4nzL`fHrfn zO{cU03;P^R9n8g7E3YRWjQ*qF??ba2GajG4r`LixKfc?z{OeEO`zUR$cg{@rk#P+_ zb6p}o9Q{Ri!&?QzpLfcequ>3fD}zRcp8X_b*`a5iRb_Vl`uNf7Aw%?u7h}e(sAb&L z>VqeLx7;>Bqbr*DLw#fX!L)av-xwlZMT zj~{LraP!l~^?v_L*XK6ect!QdqJepe7l!+Jrt&3E_r5l5;?c2&&xV8)1pL8!;L-K- zE}P~o+jI1fS0@}D%zMqd@ztuue#;Va&pT#ZSRBHcs%;(}Y}b%Jf5@`u$3=vczr65# z&1&g=Xmw9d{VjY_KFF;?)hE%KDXkLK8n{SZMC>1EpH6U{G)Qu z#z_uaqX+t2pZ39^=X_&kpNoIbap27p)teO2&!?@O+$CXegZsVie_FZGbBJ@pH&b(T z+&FiW@4F?cABRp4oAWHc;ONS!lOmI^zc91(4-=*?`62HQn<`9xs!<;utJs`-`kk<) zk-2;7XY|OvlJ{g#V%aZM;G`-(H{m!9DL*Y*C~f~a7VQ24U10QeZS&F#M94o zd6l!B)O&)w5Po=l?q9GFet3QE;q|$P*XRD?C&B+wx%J`oIc&{6ygoO@#?DnSB{sm- z--T#Z<*J$X&zy?>jW_v)JtwaHEwFZbPRqHm{@tuMogCYItLHzsHO?jgH^|smeLH>B z|6`}g?~Q+YjnmxQZ)Gc&pMB-V)^|JBDjqjf9eH?tZdK%}TQHA+4|M4IT&FY_?#$B) z&%^x|R((;lAa?%S%||yM+4AmV?{#y1(f`1nv)5k?PO>|oeJXx`^_2@NJ-d6>oGbre z+B0A7vz^oB=)nm^%w@(d=MBI7X~koj7hDonIlVpp`pu{Nf4u1DGv$UyYh$kZ9GI(X zwD~xuc-o?0-*_hDlM`=beII`)XXoRc$6cA8f913JJGYD&Iym8Z$3sgZgB|~8!Rz-* zPmkYnw)%&CrEh+E`1z3sn--ksOKy%?=Jfj?lU|*hr5oUIJLlfbOnt!h<^8`6ek0|) zCVkPD4eQUY9{ZESSJ6NAR5C8uWQqz;Nof$jxCedKWMnCS6?0{#3Q zH6!pJni=NiWv9*3=W4yfedvRfkU@d|fdSCskexbaeqwftcKrBoKP_}dYGWu_jur|K zQ=tMi#m`aWsCiOScKNiUCN^zWCiKo`r)nS5_UnD2jNf&D|yCD ziHbnLlAwqoLq~-U3mi0RNMP`wfPnB(gTh9KWA`J(-#;*HRDl1GfRLq*8Yq2SkOo^? z$kI==q3B0CB@#39CMM2F?T134pEe_F7O6z_n;3^=3)3=l=V$ssA1-od3fd{5mLd}| z0gf6`V=rJQum9kHA%m&W1Ia>{pFiOSEt`;-Ie%tiGPNih&AVT*PvN>M1}ez9$;15EhmzsMiIAoPY7 z)G{f0`sndv;-eVv$!#qe zx|fAOP!K*2&dqC$kwVf^b5Jyffqy)%LEU^GQ8sZHAPSqs~w&B~yFHVv2RCG@4`%*{v?7z`RL zldr^Yh<>xv=F(QJRiqVdgCUBjlc@oCkeVGoZdA;~QRCwyVxp#wia|o?l+Kls5pBuI zB1TQnO^k?-1y6|s4P<9$Ws{EI?5qq_NrW#a92FBYDJFj6q?idb0;GDwz#+1U-1`Lt z_LEHvf{R!qUG5_p^8>X)$ONbgh8|xU5E26jBqjjt_6rE;_f%9Cx^+U%EYe0hqFw1S z<_Bu2K{>JW=aLfj)D)>4eDCNVFi<;803sHe)iY-iY01n2Y!U$X7QHA+3P(=}tg>3LlbW3~7c?VT-)&89HIswRWlRixT~>{_#+HFWbYcp@;-Ll&)RF zc$6pG$^4QOlFr3Lih_sZvHEElOA>5bB22)Y0WZ`BQdDg9;~5L{gW`;=WD%EyQ=wj% zh5t}z7`W5g@Vk0<(CzB$7Pjk= z9^t#Zn8MhS$A;}n>cH(vaZ~J?*+aQ28F7?9=^paqDmv9cVLmq@!`b#4R{t@c%lIn2d*N5G)loNgj+_1z^-9(>9u3K98mL;5> zAwCrVo^~xc;N&%XX10cj;;!2BW{SU>?0?cz;nGk5c#zLX>8So1rE{4=G|kMKmvE)c zhhJmLgi|Rsqe2Uty8j4U&N_98e*>4v(P$MW~{eod7d0I)hP@y-mE0s(nsNg zGK`k(ic$w#Lrk3mXRJZ{EZv#O;>yeo`Sw1R709!cm3l7aNoe+y&ajzv*=%LyTJVEn8ylfd9|7<;}C< zMt0>*Id;s&lT)Xc5Iyu{F6#NcIt6iV4wQB*$D6O*v+PfYn+{ii`;WZ2rV}#~>~#v> zG`}13Q1@W5_2De^@CfDk5*xCPjP{K}x{Ef(7rT;@_mQ7hC|PjbTfF&ZlFsDL@uoUY zW~TJ}J(!0@(ItHwc;*c!-Yn$hbmrPVoU!<*tx(TU7bWYmkrXyW`HAZ=t;Ua6YsS_}I)?dFSVuNrkplTBNoZd2_8& z?Mv;+S;n8Gd^L6=3<}^&)tTbEmr?kYFwPjYG``Y@^C*g1s;VrpSc0!4Dee;{r|Z_5 z?x-BrwKeRb9Ol{**1Y6+$(=sD*_q;AAKN9GI+M-vwIW(eOYP7q4F=t8( z1PveM&4p-N-Eo9(<%~3D>J@gzAsiEM(RiGRI0bH~9k=@MrkhIFG9O3gaSm;T>FILF z)>rG$-y6E|rhJ7eeKlwy)SekntYxN0P+pxUZ?*wG`rxTmy86~A-O5zD5k;MK%;@UK zOp*O~^F?K60Z*9Y_g_T$9MaYx><<{Tb=`qeTa3N#fY(70Sc!7gDA$v9ZYV}w7?)*~ zmhzo%wrrY#x;?^&6zO}3^ytfVcX*O>*T`^2*)xxg;2j%pTlSkl`=8_e9kXTs72t;G zhHw=b0Qv*{s5yRbRDgs7&=ujJ5jY#7WaVbG%MESsj7J{`{3_Vcw4tDxqs&Zx8Vf|D zKK9I1^A7O*I&UVr(BYA3r8nM7x)7bX3hk$|_caq-A{|-Nq(GxYbD&9i3^f8bX%>q+ z@jPExQuM^*!ng`s#td$7i4C;pclYN9?+g6kI&f*p=Su%@nm4;+?03e~1y8Mpm4`6i z?EQP*)C4|N$C`$D+hB~?G2n}t)!+sD!+eUA=$FqCcGH2Gz5RK!;i8>@Lm&TE9M*0Z z$Nz?lygA37mBWntRhXH*>Vc;V9`G&!pOJPVK3894<`cLgtA9hpAJK*(%wFUnoiJvl z@(AY|3Fp2_X3~Q`pZ^4W(uFryC|LPhgLu>1c>hu7SEL!po7B!|kIuKqlk3pX2lJuI zn>YFByo&}PtjvcuMIxP=b1KT`)D1+_n90osjFoG^cjPgV|Ee57CsN;4D!_LD3$>a0 zm)dt0bagXcSK8!i)t?f)wMvh&MK>(_*BoUMAL!gNme(j`-e47WQBLRHnr@pM)} z>a1{Q!CmZm6OA3>?MGz(jJiP9)l`=o;u`@YrMane^WCCwPcMMH2EK6B+o~*H!GdKt z<-989deW2Y+K@zjj`XTSVqa33*5y%I#m$zuUZ81k*3g1};<%%w!E?tz6bT z-fRyT?eN$l9q~OS9vbJh$C#0aOYl=Uo+tw<1>EHKV&F-D$0Wk@E#b$B#iiS`$(0KC zam2Sry0Cf2IIa^ zFh=V5P_<)^P9r&P9?48@ydkCw`U`D!%iqT4^-)`;Dd6U9RUwVR5cB!&&DA?GmP$B} zlbAb=1D5jZ(YER}7*o`~LX0coZN%S~VEjP#F()WhMM8h%iS03?zd|uz)L|@KLb_s< zSF7w=mV|UdyLDo^;+qm4f_d|I7+ZwHOGroM)7U5cQQyac2d6FPO~sghOEA_K%w*<# z%nb`MulaIrzO$Eu2RsfMB$|NSLHSA`bGSj?Ae>j)Nwi@kINW@x97-d=qHZ16g8vBl zy9)GKwpn3LqWTuAeiFwa#JK4e&nB|b&8$9}j5+6yD{nH?Swy+#uau!; zhE6J!^Oxp&)KR4(8Au5kNa95$;6;VtT_xZ1X4hb5wnKjl=|F2TjQhZ6_kGWZ2CIa5 z2l)vf#lWo)Hi$R()r#}D)YmePs8Y4V;c@WD#@P2;BS*#D+U)T+E z?@P?Qx)X02d4$c|3Oe7}kvH!GpDpaimzMNnrE3Q1O3MaurG@>%;8&CuWA1(vbLY+h zya{uT8_5qsU4L$^t5C~=3Q?wKBAe%>WpQOFb3DhJb`D^sakjkaO|*$uW1hemED2|( zC>P#T+Mk&tJHtPKnG1FNWOV?WoR-9y;_oitJz4nxJm4GEDcfv~Brgdt)njad_vvK+E@_;gyyEUn!)P4JG`AJ)DJFS|`cN8o z31!T@qzChO59#@?tUMI&CcO7XdBoR+w9~~h6Uva+ts?IL!aX^U*`2X&>5O$t0?mIN zz~6zZ@06W=CB9ZoWl&!UWz0Uj$nX`S2Q33V5vtTuT1 zM1-5iZukT71D-|rA>903I5{nqZOh6NFgFVInnZl5>>vX^$xMfbfLHN`n9>})55pWe z5>L1&^OgX2--8#{TP#=m9q~6xeO|pSnKN>C4|hs9YA2TYoLFYDqG_nigIel)P3j-; zIidbi(a&LACCFh@q%_n{qM<0!?<4bzty26eka3SHjF8LCDy$WVjz|_ZKxP*5NnoM_=R}fHKnHM!{{#zhA0H<^htQ>PY}Ua=&ZYg!w$C z58&Ddx#JzoDG4&nN2I*sd|IWNFZqeKt=dGgYD-=@PR{#|lvc`1X@eBv7|sW;sZn+j z`Go{mF?e|Mk`pC&z*o!|f354U4_nsd&bF+=5#snOcUhQaVt3*?j{y{Y5 z^N^<6@Swj&Q!O%(G&YH*ZeYAL#vT>;3ei<#>>*Lkg51=+L|n(y9xBn*i;$_@54;+) zX@V*HCU{H<_GoB+#Xd_M(Uj{vY3%jXnSYViv5C!e}74~CCZw#Csi0IrTuLkk7r%dbVTbN(O{j_5({M<#_UuhlB;=ZvA zGp(Vi4_fNI5A4N&n_w0q-l^Jm+#O=%_? zeIw8EW-Vw-;BRO{EcT}_B936tPog|Xk9sMd>Z5uLSlgQ+JIHnCs9AZrs%e;j+mC3y zC(dnp1#hN3uuAMz|0g6sEBW>10D`5R1F02v|Z>k0DME*gf zr3xFXdG1BPb4)C|PRW}JITma{9YVdBE5F;$jFzj$9#)Nh*`pNl2$(D291k&>pEyVLp|@sV&q#+Oyk;y`*me|8_I*a!FSz z<3)h$JmIig3*Ln=(4kBN@LzSEe?PkH3SQzN&?V^1Xf#_k-GMA`PLBXBhJz-d~Z71|hLMsm^_9o9-zUn6*sC7f##>Ijv_p}J|98fC7*n(OB8Sg55x@~i-# z8Z73y`J{u-NYr5&hW%^QV_AapqA@n16jo@DbH6(*FEXI8+wE|)ufHO%j$mEELiK2K z9rgv(J+Ky5vnT4uu)MnM%2GN9tJ`iolFH@Q4xZ$q^uJ)p_hM{@g0Za>L=L~{E}uD9q~l9~Btepes! zS)40AsSMTk;!X99s6X7sSeM`32RNxx=@dpwpN^$<1Y17VnYV;7vs)$MDgk@^ME?$u z0TONsV|%wMK*XbfQ-LRRZs7?vIGX|e8(#+P{&swe=TM$Fr}*vpB&~zQxfArbp2mX- z>pP*2w&QoVYD&8`MmxCjF=l8ycw#I-{@Cr4hIv7zZOFS=Csi4&WCx*+{g{JW<%8WS zNj?zb5=nLt>ADuL6Y-{ZK?c0U%;Ct1n0KcuU!t=+%t&w$RVfT zd|Ks(a|-e!4fwZ-!U!*2BzZ!E{PD=Q4f)jQ8_ykfK3c3jDV+oSYUFo7+3{X%-ch6x z>XORylFD;v^$Ta`*5x-~uGf3vtfRLf#s}jH>%;Uq%vn6{gV27A#>-}Md}lV#+Zpw{ zGH37UWe3ufaMdc|{sU(y#@U=h8SU|LHHSOV`!T%h19;OXfNypv+8v60YTOr^9W2n) zI!$69V78j00Be2ho2997_Sdx{Pv4c!wCTK0TeU#P^6D75y5c}6PXv+z!wqYKR^U<}om1JKZt30(RU$bLWsVa!(e1|d> zr!L}fkK#{Ko7Tu}3c&t2;Rtl4)@h8?HgB|PHeicHn|#nF8LlX_?S5_PgL7(X%cm&w zer?h02rpIj<;`<|12y0n2sjP{2Nxw;Ae=OJA64~!aNnyW&l6cOcVJp_8)c=rm%rcIsoH~oeLXSM%H{kteJTkq$2U)-ydx(*C zEQsXMV!-67X7g~s8HdM%%J9|#S5p6uBV;q%W{UGC#=#Jp?!T6EGD33S%)^J3pC}9 zaZYEm)V9uWseNTgQ;LV$#uu#aM(v_>l%~;2z5%YTvLn4{ZMEC`TI;zSXtIjs3H!6V zy z(*T??c~_=4&0flHh~iWyeL1d(_hM)Me8aLy3;YpJv>+d~VoT+1>#$Vye0Qh$(<;NPTXL66?kf@;2PA*BorsOV{ z-1U-MCbEO2w}{>8`K;303+y+NMCS#SPs+< zWUR&y{=vA~ji(|I{-JP(!NsG+op||Yz-BZ3sBHRaqs8*+UB1Jw!25JO9uas@7X9Qn z?2)slkU1A|xrhsq3ldWO3;$TbWnF4Wn1mO}jg(yQM)5c5-vy9d!N10hiH(T8Wd5n2 z{@sm}-r7IDKGM4;fFO?;{#0h}pp@*i1*zGClIEvn;M+y%8=OJ(mElt{sTrw>IjK)2 zX3rTK^pu!T{zzwTN)kagCOmFDeS;8qnmN$o@4I;M z;*=z0V^yO>y75~?Wg{ROv`OVi-WvGLoBY($0-+4Sr=|xxt zD*Y5;SVPERL-5LK5Ei0n2@9ey;*m#j$S&o@NWss*SOOg3`-i^%xW)><0brs|DNLv% zkVUI7+*obF?&7QDvA&+!1pr1t7g$2l@u?>uD&e9l_2h8#Jx>%XM}velk*)w zoGt3KK|Pl*GX|MPRlDLcj(M31UMP(hU02BkO$g!1l52;&I9FmEGCKfX_}OLdM=FY; zTxTVkc2N;_ISc`4qmUO-|8>8>ZQl<119x`0PfJUXxrE{_3q6>b%Xp$YC)xHe-D5B}{27xDn>3zzsg@l=uvF2g0c zpqZ9gzP3ct<2$k{9COlFTrl`%X!6!&Y{QBiSK^!XY<6&gV#eSP4JL z5T{rYNAd%O6R*>;3gO$aV#Je75z4|u%0%{uzx!i=&iq==ce;z`I)m$JFWUYL-7Tqe z#a^VvvQAad+ZaWD2WF-{wt9D#w;KB-HJ22|`uDKUX|e29?ZG*ZbY>;^Phs7Nvj|!z z(!O>a?$HY2!r7C!|E$DbH0>qVVh=n4`=17!8#3{%BGd=rbXIZ2VyTM6Ubl}+VYjG6 z`%s|_A94MO_bRtqrLhousFm2qF<|fBlc~~^Ku$F-!c^*}*NAZxt|~BeD?}Qh4D37O zPE6HMtaItilHioXE3nQb{~Fx+i*!M|lUb+($~lQTq5v26c0={#_Q75n=a7D7Aq(}! z-mb+Rd!e&fs2cklDmTPi>`N)0;#O<$J-{%QSBX8Bx_lN|iS@YZ$YbK&bOFbn#`+w5 z`_YFHT^D=Lo~>#7Xj;PRpJepyg0O#pbi)1t?f(;wa8~I%UxD)_ z>Wc!U5$$1mXnCO3)o6Vc}Hibra~=F*!-C@Q?th-9qS^5L*q_Xa$;`V zxah2`3|1q=Pl!m(zJIw+GEA8%Z3@mIJqH=7xvA{BSV9zZWl$B+Kao2>XVfC*djFbr z?FwR7#QbAYp>T#YEy%i67$z}l6GdQoD7J}hm%}7oLHIgC%rDm;lbW20g>qY98CxZ! z`VD>r988ReiuH?~9?RHk4)O8f@sh5TCjD}h{_71rFk^eZ=^vdOG*a2AmmC+A(W&Fx-b|!V>r^db7ofd96=cmW2J1=B3<&l`Ouye3vD&1E;kX%l142`&X}Kr zHeyxCjanqZC4*uW`yT27Hj`3ynJEONSffcDo2pBOwv(K2eJVgdjankGfsl(9<_KDb z#zVIYV|jocxDTJ7oeh0Yar*4kL@Y`Y5ju(#ri5pwL2piC2GL_yCL67c%0g<=@-ZoC zc4~6&nAA+@)=8d_I2SmY#e!|erA|vs%N?DSJpsCf(m*?6I#BjfyGcnii2^~ishP=A z1Y}L%RHj_Q=k`{7$e^~gR)jegC52~X<)lUmJ;#2si_QrL;2=u@y>cszXhl>e8jzTg zwm4Nr9b-FwTZ4#sq4>vti)}HM^+xLivcP~%Ox6SGgkQ$u?W1$XXJw_&pDP80E(ax+kYJcx$1 zwoJyX(Bg@}Q#kgPvZWe#fLf=grDmjzT9leRpY+u*=8c}GaYa3}1r!&RgHi?cV4|X- z6y^jiGBTCU7l?y2&!jHOW$Te1V2GU)lZ6s9Q=u6sn~-;aS|{->8m80Ia`kbEv)FeC zr~0hJR=4R-5!f`q6_qn2Fexp!r9VngA1IOrLn=lp24L*m)a108dEw|a(7cCDRMt$H zv&E#&n-3LOjD3w7g)&8oC0#UZSSvlpg1%*HW(DYR^pHq&QoR$ipe`*>Y94bH`!G5? zEek^^Pa?_Vni&fP%4LCwhrT9aG7+h5sL3C#l=#5|xX?{N+Dg}Lx{{S5_xRMr1*z>u zZZ-Hpc;Z}AO%~g>cQSLca?-OiGyGB)0XLy+T&lpSqM`anb(k!Hf{EswbrqUl&LoT#*ApB9(#IbOsnFDn*iO8J?XcFNAdEqw=C1vA%49*_O z7Gw(3!ffYw=O2Jfz2G?crgAg6#n_)FSSSPb3eSL;vHL7=zXHYsc2hvOH1VwY(%lX zpl>V>5lgg~1AMeS(^lK;rUd``A1{n|7P5`sR=h1_d-V1vwkK>yHPP6ggX3K6Q4Htd z@4plS1}`*Bp@3O%uQ@FmdhHd(%e|gK(2V=qC4Z{LdM(WD7Ekma@9%CE;^ePZa_k?r z$ofr8i^ zZ6uW5F2vFes&S!UHa9IPEdw&2HhO+iMp}+OHT$pH#wq#mr5TSa-Cm!N*Rf~U;wHCs zAJ6`|>uMH#X4r+!g`FR{JLa{)=iYU>S$lc+4_jHy(2*~^{!8P%kE7zpmQR}U>cv%8$CP`8KeTh(pL)^3 zRomK&lb{S#Sc~VN$Dr>uOAD2USphH*PDyQD9Rr61h6Dx=2pam(&h0}xw-4>yItC8& z4+;ng91jby*iG-Iw_>1*EZuXTE6TEHU(uLRidjXrmJ zmRgmnnep1Vx6c3M?DxZKf7ri8KltUMClouiBRBT?}sLZ%#e=Lfy8flJsXD+qmw@3#VW4_|ShU_-#*5n@Ro?{KpkX6^~gpiquX+ z>vVEeVN?PW$SK)AB=Es`7XCKqrxJ3s}U!hsL`KK8n zow%5TgP+l6uN`}>`GmP4X!WKdEPpBX!wAjH9u?qEp~37g`L|)|4-Yw{lLF#%c4cC4Cr9B48ctk zE1yF^M}O?;i_%ZAQ&^Ht*GJ30`ius&Zt%{3&M(o>V*^=2RY=TeoP-=wWlqy^Dtj-prl4 z=2F?8R@a^Ldbih)0|I~frR&GN<{bLjJogVC`xBGrI@FwhH@-WYtn+Moi%VZ#*8I7GjB z{y1ju@TZ&irfujtQMDpox%^!EY8bi=e>HzWT029x!~6n5f?EvTR_!P_YzvK>OeP#4!9Dvt*e9p$+(Y$YtJ}+A}nrb<6>jAqhcox57C8?Rg$35gF+)B zbOBOvN>{7m;?m}%4#FYQoVl{Og5u>Jfj^sT{>znL6f1H2PBaQMZqnY@BhOzxI+?ad zxN+?)WBNb)Z$ZG{Xtv0|m%Ah8*nogQh=IYup)=qmYbXJd_rI!t{;E8=b?D;gj~Dno za`@s0t3E4!FD?8+arE?O$1j{ZYlp#m`P1diC%-b>YX0WkZE3GR|MJmK${)Es@<#dG zilaex2Y&SUU|DnCv7@@H+^v{dowi&ZX&CRGvZ?apyBp3uTiZR+>%#FKH_p!3S+DAU zYR2j*E+2K?T+#F1p>c2dxQzH&+@tf^A)1 zTD#Zhmpd>nqOs`+y2`;~ha*ALvX zIe+-qLmJcVURrp#$2p&uKfPGs*<;qno16oqf>zDjW|_+7UHYoh%{43h*8vri4h>(^ zBWvQl+|(Dk{P5%+*<56M!?rPHvzJwMdg+IQ1G2w)Jnrn431b_M`+Jg%*GCcplZQXG zCSYA-_>yNwcmHUJe#Uciru?%)AjTI)S9G{e5(0+}@(=h|34sqNI~VgG8s*Ayf1hF7 zE?=6?ZyGrw+OzLlgPeOl|Mv0YF45*vr+&ZMR`Q>Gnp*U9?!0?*^<{?mrf%uqKW5Hz zv-7%bZ@Kong>Sxa(J5<9&3jRqpWQlKT3Xq4{vSFHK6v!tcU6I}rEQxu<=rm*F6~Vy zTpzTe_?th?0=H!One6{!Ix!3O2_G=Lamo>w+Ki+lSbmMk@+Q#(UIOp@PY1s1T?)>zue%!$LkB)tpcyz(LkIx+Ng7b?vi>{?qsPM>t(eC|nsA-r>T810kw?VSnDR^Ya}4X^$-5KFYD` z%8fAvrw;c`2z(-8^si5hSrxdlS8n1gV|+o}p3gRnUw`Do*PlL<=$h$$yqkHI;k|DY z?~Xq5(6H_QqbuKshHW1jw*7z7ubp z-HzV8uYCWMGw&8Ubcmm@cX`ml`OjC`>P%_BUe7+)FQ_@%IP}k9pZ@R}%jxt%QIG89 zN7j7QVSV@hoxjvITq@D=ci(M#bM4ZvJ{U0n-pE~VvFGM)U+@0m;fR&bF5HoJ;>f1( zk;`_PvP$QFKc&8M^SzG(mMa~xcEqPzoPWWF|7?#waOs+`Dw0c8+9)8BV9((1vuC^J zn&)Y^J5S$EnD^7sh_R9LItC4&IryUmug>fE;rGX;^gH;M?b)W^{CQ>XydP5w2JO3+ zd~dJq;n7{6eCmzove%B(PkC%qXdnNAm;Vn8h5I9}w~hANnGr`a`A?rQJ{9S|Y2oYN zeR2G-e_?vv;BBwJw&UXQ3x(DM=^)y(b@*do(P_ILL0Q$s%`3Z?Jd@e8@BVEc2A)d! zQ{{=Yh=aDToqKn$LbD^_v*!#y4F74+&6@htUq#!meXrvUjeg>M*9A$B3@}!1tR3~y zIj6)Zm+4(X-uHT8XVN3{f;Wztyl&8ybH>+p-k5rL#f4A!1Mx?5hJUbP^|c?i-Od`2 zTh@8GdC=UThR3cwr;5MSWljIwXVym#d->2#-N|F7rB5wcHfwLz?x3zo?m4gI{qRJ^ z7rAGSe?BTCTfH30IByphwZ+r}B1%g*=a#nyHno-pFTmXA;D=yz|~hZ{>jqzx1N{u%pw zxKQ*@+uu9z7Wc;8&$6z|&)`EDH}1hd_|WVd`EcJln116|!OggFQ*dYB_*#fhzi~@& zGjCYn-u*1|`c}9R2WQ=A7The!U3Xpd&k_7MwANEyV(W3uXq0H5@5hq#L^%xh`LwXl z*OUE-khjFp8oES9mlJUZ5zQ9gaktNo;SYYY%W4pdn^KQIif=?&g098LomNPOKVl)W zL!lIskj=3|xOH&7DX@YQiekkmPXqs2jz#x_Tg9;uTtZBE28vrK-GhEMNGAX)CjdJK zsGrW|Sb`j6deLArq6V!8mNCHs5O zlerO;evS|XyH977I}Fvyf!lw*q-3SF4v2?tIx34E8HtUt2V3>(lRc*#8|Y87g^erD zm=n#H&VNEzx-cQEG*2I1x@2xdX`(l8<{9ZJ8-=tH(En*|ALzKCck$m*rVQ^x`+*Pb z2mUwP540TP&XA3{##jZ$r4o8gZ7{}cG1lx#yzsl7{53H(DIi{z4SXn_}j2i?!U9>x75_VqphEcdgoC-A>* zQ6{+1gHn5d^t0lm$$@y9Grp}=+>I{`hhKTuxo|h^qEUQ}QYq*H9DL8>oFb}RX=y^O z(#uyaa~+lGESA}}JTFb#@)SaOlTcoCyYlc2bf*i@%O+RQrffrN*;k=|m|*1qXH^TF zV!2r;ceqq;yZlYm9)eBEUy1ycR{6^)j`Blof*Zj=-%#&+5Ip{^@L1u__d#ui3I{i5 z#+&vi4b?8}z^|~Cm|g&}Cwe7scENY?0kgYza*8aBaeCumwuN&^--@}*89M!=SCXn6 zgP`kAE4ea$oZ0Sbq7naXYLhc)Fgh&cymQB}vjmT`9p0abJL{=o*RBrR@`|$}aWAE- z;XFUDvboEhO0x?y+XDe@qLCce>$JeT@O38XGVffM=D_3 z7CHn8S27&3dj;d-q5aPPJN7%}ev#dHo?XlEU~%ESn6qA=6q2k`olIb!E&ZtUK2qY{ z_ehB+r)+@zh`6zi6<_+`;qkqFjs2Extgm4P^}BK<-{g&l($#=Qk~>s zX9=GV?61ES-~ViXN&WDkcK^-v^-uO^JlVd5ZqhIVvtf4`d5tu#=6r{DEy}UNVJ-MO!mee2Uut1j7w^VoMcc9WpfUEKK9a{WxrL|K zl|TDGuY8c3@zmH=7k5k6%dyyI!Z<{3cqL{p>_RN&vx_nn6M!yB%G6_5^c z!4?36UDZR*Y-6KSkEV-GT)lC@ja=8KHdW z6M^jmLFY;(R?TF`7xJM1Z=I5CtFkgrM>cN&={!a|nXaSpJm$v}NK5!4T{~!JwTv^; zWkNQAjsV9(`Ov*fuoG_l0lx}*(d+V+K6ORVaUL$%A~q9#pjSCB9B`1{b1Dz^hs^>! zfUg#^DCtC@a%!LqOa)yxkd92y8)WiE9>QZO+YaSu^=HH zIK7B)l5>ltwiiR!y`K8f3SJ>C`c=*^!~;LFULV+Z_2oH3rxK{?fS_uKou@@BbhI+u2W(150sm5e>{g*aR>=K>v=nsTbfAC00{VerI8+e8K+xCY* zukHJz5dBE~(TVy4WArL?xBor;@io#*{UPYvu^Jz{A2dG3iQ}WnYJBYe8^%YQ_64+z zkAJ*B80^&u<3s8X>W4@g8{0V_(tTBraU9ofP1`O7LErQqosdW3SwG(aC1lWp~?M-+S8as#UsR9JAfbUum4qv5i;3 zgTD71jrdVW7qP3xK73alYM(0C1?M<*b<`M<{ z>ZD`50DM>n`=|!={c)so#Ut3Q1TUmKuAGlC7wZ|Jysl((N#wH$y^#lc)39CaM(agN z>)Fp1_MBjQM6xYl4G+b;K_^%t%A)kpjeboFo#>S|u#=29R?yLixvt6^Hoeu&-&ShH zIiU>SJ?|d^eh;|ZC>_T+iRq4r>1c0(($?Iwlne2RPDTTCZV6?zOHTV|hCtBcx=2OT4qCFKWdkNO<`WQT<4Zdo}<{-C~DgfpYL70yc7rMJd0%^M;- zCSg1f4pfOEZfO5TVFx{E;mk;TF@z@`?M}e{ZQU@~EFe1`u;p0;c}>XYCF7JcQre%! zK+ikueWoiknl*UzoW`ME>3H%@*qk27xvojGWoIU!JOj$}RiApLP;=^)v7D-C+*1Bm z9`cI@xLe&EU+BYWd{;NC3QHth|DJO!N=M!SXlwJ5k6Y-4^p|zyn6dIP-gNSacai=% z=)MnT^VEPZ;~H=J6mz@YhtE3!`@w^wG7dPR{0v7vPsKSDX%d<7Q_yUb7c+X>@+J#x zc5X*M!ls}J@ebt2C&F>NK>LTe4(VgJGNTWk?T}5;$HMx-0rq+#`$2a;+$h*ct}5U4fggzW?;!K|5^if_!3TibYR~}TcLQ)y2$)FMA2w&)N{ODQk2T$Z{N)Xs zNhFJSPuH00+@aqOwo0fU#JSS7>;;q|^np(7gG(4^7nNOn<#?&@f+>$+Q|(C|WH!;J zn%Ms$Y(g0r_j-)`sVK9AXsvbJPo{Cd8nO%z91&eWH{GT#c-qkL-#zAA?FNeU_+H!n z{yt>q?SMd^BrlTfuJhpYCw;?wDlhUrq?>LS2OI3O6s0FR@}@6g`{fE`HjNsxTbOsz z70gvvF2QaN$$Z!YiiZsvi^ZnY@+9Uejt#q#%#2r{kMIK-hn$4N6`Zj*a1PlsM(e>m z2#3_y@1Sq$VEg_0*hNh~O4Z4_umMFQn!`6ZOkdKJ)|`J9Ha=snj9_HrAgE3QKCT;3 zREstcuhT!qI@N{422UU8`GXwMdC(YvH$n!e-jDqxmB1rA3$iH5mc&1b!6%76VqJ(n z#5|N=kG^qJvHijK$)}a_k-Y3?EAmKHBIpge2Z=w@+JR(hY7?cwBk)lbXj*_XPl29<{ZO*;D9QNH87cD>H-QIPb}g)wW6dKX1utdE4=%S4QG@Ke|g?3T{aJ7n@LuoJcw{GbkF zk!Z>leZ5bbdsIi-!bf$TeE>dPC43H{J`>=T?79JO2Edyj_4Qd9mm`?jqdhKdI6s!Y5fbFja0FDHNe-%4s2e6G#}zP*9|njk>bCFqOmQaO<*CkJ6< zf0D|hF-3g>eqE*$$`I`uqH$G`PmdMlt*136E#g{bile`=(O84{Ayj8Od#hysU6@Ny z7U`z_6#YSXYj0aqg}K@r_1FPU8Hf7;LkaLlc3L>>$IL<8W%Nxj>N$)yQ+t0!81YD~ zyL_9aHc~x}=*KMhDb0772MIn089re?6!$rZr;`nI%!$6RBWI#Bqy0|sW1cA?{77(T zNO04+1N5R!h735b4zxyRNm$$Y(mHJzU<1y5_ksU!uw_BkaWtRFaTvR8;@+^zhy8_l z2^xMeof}Yov29(-{)9A#6(W7UfwHXQx*~3ig3VjmEqw8jb})rl)!T?U!5SvW3@z}I zJcoH8<}hFebc?-!H^72DA(CrEz0wz9TU6vn?qwB_6{Ni~-*g9Y+_c(ZZ`~J^ z>myd|LPx@q7U;l4q>uy+X*hsw2+E)o_DrosF(u%&5ZS$#rfB!b9O+ss7e=x;RFKdN>!c9xs=FSv`b%iJw=g z(nOhzc#_O#8)NUc{uSrDTewG4H&X(VZK0z*csR!=5Z&er}N9=wl zCa9>=4(sJ`?}in2*lW{>@4e~06V^eHuPU+LCOJ$CykGK#joonXqFUILq&c_KP0OYP z+ooZ}7v_*1NzCIu9bxki_6kWx(!U-?_7TeydUrOy=?9viaf~p6LF9Sj+QT)gn88-MRoOq)Wb%4gozU$4KFL!~xK%~)I#Cg5}>8M=|$V+YBXvbWr z-OGW8kAykL5EF*6QP+t#??k*SaJog&A$_?$i@T!i;QJQvQLohaR$}jiaMFkHfN@Cg zM={;z$48)C{ZN4||bZ{XP#GoYvh`SQbnOSHWN`RKhj-s@d>Qwbiz3#~Eh zJHU^zPJRRY*z0o12T!>K``z_`BOm)uwUEWB9hH<9V~ooBP{l9C8Vo!|kdIxcKkCLZ z(+QMCeL`cdceqc{5#WK^M`aNXsGKbdb@~;h+V@fu&QOt#WReH11(S2;)X;c=rJROD zz(@2~ zFS}ZWO~w0PnwO7)kAVh-b>;o$FTh{D0cpf`OJ}xdpFD5M^Oqayp>^Ve(sj5`9O21Y zUfqgyslkSo*V`};$XP-kb2K(Q@D97DTR}T2EqFV{bLw%l?ov^h2l^VeNYtRAdi1vn zb}6|dK1B?+ak~I^C*TBnXx&tpX9_v(P_mgD#L>gb3n3r7s$15Z!q_6Yw{;!RR{o^^ z)!J_8s%7Gx6>I)Z>)Dy8Pd!jLqb@6qp)oJ95I0{&9$bD$jpz8J<#6#O(k ziczmxdappZ8aQ|y@R3bolJ#~W9_vNH4_SM%+F!IoEX+NU%pHh$TpGg~f;SJwyQ>>) zZa}__2@kKCFe$u7ruPpWMfth{^GXTvDDH71?6WlRsN*E!TKRWd_%RRdHelZgcLM?p z7@v)ppY@dAOWCs5M(w0DLby&0=cN5Pq;IJ&Ujca<^%0MI3ou%@L&h2Ad6JjQWm?~% z66KZl^V>Usf%e0|zXPOkTpa@Z2{1sOkk>yltXTi~Rv^6`PJ1wiaTbq$i+fSr3xiyx zG|FiJ|9UOx46p=uMq9e0Y|a^bj(DGhaWA)(+AinW2YMwNC6uoMbPhSJlYTMn3AmPF zZH%>w1Yg^Fgndk^gYcpUUWBr1MSes35>y^+u#^!_elzb|*_%cA>lha#uCch*{wV>j zSZ5~mA<-H6UD5wSJyL(ka2H#_O=E%9C${Jl8V5puNj%PaTRGszZP1v6dA{>Ax5)RgNu2mY{A+ur~KDqSXx0MMo?whI3N~EQ6cfyyM zhG1`3hW{4U$zngWu2V!lc~IErr@aPD5az9Yn0XuS25iUP{SJ3#roEAJ?D=jRz|0X? z2fC_S_}V&oA8l(N4rhzlGl0Ce2W#??_qIUHU~a|OyKP=_yk)K3emoF8?}I!;`%sN& z-%ARyJ-(=?6!Halig|YLE}MDqT@`E?lkD(3`bq^pM(?_n|Jy*5zP)R<8tS6r%T|(RF9H|j&$j+cIf}hHudk*ug%7oqW zO$p#RxJ%QCWPT-J$K4Vk9gT?~JK`fpf3tVf82f&ka~QeaTd0r5>paUtLhctazALJ9(XKU)@?InCG$AoF$d>;X^=6$h5RuH z^Bip1<6V`Gv${B@r2A5aYH!GIbk@W`PZ_W4d>k+aXivrw^JhntF%W&FU&^0Vhj!cS z>u4~=>jpJo97u9ghjfznNoGn$|Ln&Y_y%)PA>dSF?ph5vX&$8Zx83&^?K08$YP)_H z`NkpN9OR?^#5ra) z;Y7fJRhfgpOG{C1p|JK;r=J2&N>R2@7v|3K@KYS&yMgLOT6+II-oM41aN4D)+xMtj zls`MCDk?sd@pu_y(5;=AA3l)mQ0o3|qE#Xih@ z5oOlBVOt8mx}I!~5uK{A?vdv5U19O+Z@>Xl;Am5}>vdVlODDXq5zd8B8yZ(9%NtC%`#9N!p&jmZT-M z9s-`W0eaz5?fsa5+Qisa3t~pA`G0?F@15)n0X?7heLtV~&F3@Od#}AN&wAFgp7q?; z+FG|FS5=f(O}36oo_(LSX*RkB_aIrU*jl|Dy}lk8h&5{4NzBr(i7QhbY^%*_E^zvNihf@~-@=`ZfkFy4A&CY2(_0r(h$xdu_xRCPqP)2)THGb!^zr23mkB8!|Us)MsAKaLh*Ji?ZgI01Ov^%&UcvRms z{R?TDqpz^uNnWAea`_0g#+*Tx-iv+q)!?}3z!$A@(c-JKh)XeJk=J@T_$2r`I&Zvn zb^i?HGUn~PV5sgv?h~4umso3`hvlrg775Qw>1F_B5 z07I9{uU1`_w|y}@awf9o+tbpQkbXI7A?Clg-rG-Hmb9=*&v|WdYf%AqQrbcOow5)4 z>cMHO-SF5mdBDsXcxrb>OK*Xdzll8a>`>kEsl$D>bw7O=pNSmC0{RI}vPz+)=rfGl zNyh9%a9XrycOcn4BVgjgd%3=_n|zYRPTI&%R!i?@@r?;}(8#+RyTn$ z?)`*AAK$~4sy>PD_uUEaf>-o@8k^NSkk5$E=z1V_Jmb;}w)dY508^|bPF;(ra~1Xd ziFu`Q3}dg%U`{M1uCyQB?(ZdcPPezmBqhq3^E{1M@8P zonU-C{PwQo8@C%{<>FKNF0AINVt#waTYSqFTX@jwcn%s+-J${2@z={^DUCt?cx#IA zTo{~Ccar@n1GE)qtRKv@^24jGta;dW7hq$KGtSNM{VnuO_u~5{tRL~qxDN-Gl#H`V zo$t3!ZT+O7b887}_-yZeIK;hM$40jfKd%++A3;VE?RVirJGs(MI%|;lZ(ghTwfc^WoR|ag z#+=sa=%^oLKA8DQzu;5JV%ELaD3_|cmc6_SSg+>8+Y~$P?9*rc*zz3qt77O$b$tI- zVwD&h#SbO0McBo5QqL&2TVm8LJKlS_5+j)kv$C&`WpQ5)lUao`ZDcn87Bw@d#54xfW(J4D(y-#fjjB&|U$! z%x`U{uA)q9b}w`7<=taiw5GIViYNHI4t}isYJb|${JmEfvCmdkj zzWT0M>MPLiYs`r=%sG^&!FhX%1X9NAZj&gQ8=_0OhqF2QR|)6Dki*{z5;VA>mXTleia$IZm{2D?1o4G9Yw^#|xfb65-N{BQTXDKQNpQsJ1F<=>3AD!H zf2WZZzh(Mb+Soe|IhDSyAu)sMjrPeb02x*g0dpY8+pv9i;eErbaa0As@58jg*-h*5!8R42( zs^kL235EMbQ}V}mldirvd^opGHX`xU<_XrE1i15jrS?x7aAed8zKzH}>nZoKrmA~e zSyStgq2<%}^XNhPkAK7AyYyMGFA5K@BPRv_bZ5*18guToj)b+2`1-kOy#@ctqG@3Y^;W%t=X$?R|FgYM$!cFWOUijdvbzhSlfkufrP8ZJocUApZ?`h`=+ z1Kjv{GjMv5#VVCmIcZ`m%4!`SX5uV z;+@VsY(l1Z>Tk|kum^Z&Kw~QND0ZC){(#w(D~wqk&FrOUBQ7w(I^@Y1TL$2x_$Pu5 zRx&UReHHoM!p>9$ZAWZ7DgX1v4OSAlv!el?P|w_{6y5XAvmgF2JJzuW8DuYVU zW2~v|vtp?qvDSzO1nJjZ%->r4ya~#SZ^_nY=AHB?-81ht;oJ25z`e|E@q}*yUp+k9 zgE!8zO@F3=$3gD%!DDS9JOH~zRIyD5O9mX8BEB0~Qot~58*uF0nm3-DM8qx-RzFD-#SDj7@h+?~L`hI+iR z>aSN;{q>g(Iqx*q?T6@74r8VHukzyEOlijt=8KyghTrG67^3ILj9+O0TG|VZ%Kt)) zaB2_lO}sHQf_xYK5j5TgkA01Nj~P3$~B#I`b_09pI6FIgC9`{^T9wtgFA0 z^}%~@K!(!&FEfk|WPC!axc~YC_ix@o*=B59;>D%4ckNZ2^EO{v)Xr^`ez_PrB$#0+ zuhOMoew8%IM|+@4^*_XVFIn>h@}8r!=ePbhdDb!aK9^SBtM`Glbk)0#G|N{ncs;hV zNH!Vq-u%|F%%N`N&ilw0qTL@s*X_{t9%xAT+bi0J#@jTH@B=)~di7BkKc4^n!^8M8 z{&x>w-(!sZ@c##Gynf$L&q<^IK!13N->{tJ*;sYPkYh)atn~xxLH1&;&25$Kl{V8+A;K8Ot1%lw}PJ&VU0oFQvWqwY#@?CHYn{YmEd((=)R3xn3`U$Q3u5nIJX z-mSSVwpaZ66n5n$lns#93xC>qptMmkglI2;Tw8N_X#35qr=8ea(M@ksES2hd0soF@ zs~k84lOqd<>c0EhAn^v%Odrp+_BJvuI{!d>IV{_W8}Xhw`zh+B2`^#n)^V-7?8TgC zvyXF1Vw+<(9~tMTH4PqEt}zX>&2fh}~IEtWqm=lvZBcITu^X>|5;c;m&bZ z^3$?sQckwv4dmZX+U=ytS5iX1kP}la)2(vF5{M`MU%ZoTGeO>cr0e}za;r~XFfu(b zsqGrd+(7yDl!J~;InO7cepa$3gpq}wXMbAde*Dlju_Dk~A92$e^|4eWjNU=oM)+a` z8;kB)W0nrbJ^KCcKQa7EYoYK_HrBeeojx`*PH}AFr-4Q7N%q>bVcEc};#g|-G{-kC zzbUf8QQ5{#o(e}dmH$LGTM`l$>RzBc39i;r4!I^lP?JU;S-384h4%JPeVQ!c&&#s ztwGxR^a5uos{eOF2dfzW#da{c%+Bm5MzOWi&{V}<_R-ae=GfQP-{6DGAAjM&7OAj~ zh6V@Qrb3JCuWZ|wYrWJ!J%wYfR1xFw4|qHAJ})hI;LiFR&v&EO--T~8hqYwKbjSW% z1+CA-Z>xUIqijiqXg|~VZ9~Wno6uM8!XGY~rwjQZ#xG2op6lUf2Sd(1bhdPpdv9@H z<=&rWUu!Y?OJs6=btymjV!F8ghTnAV<6PJ9BaR}clIv1_7jd89x`iK3+?=qh>zMYC zY1Fo9&%HP8x%X;sC+#;+sjqJ17p8m{*Wd8dn$S$0ZT!^VO463{i)SI{7+Uu2No1|o z9v9K#UAzyGU${-rhnyZ&p1Z;8cffJdvO0+i===)5ukw3{-^2Wn?>pN9R%bgui$BdP zM|K-t7v;yiVjTtO_R;}pm;D>D4t!!J?nANd9t{lF123kWcNUF!@z>xl&C@H& zv0Ka*A4u?Q^;pTzynr4E{e>A@`15SikKmV0EuLy+wW0?oUkHALPHy&sRI!I<))j}h z$#+-j;z&G7u^u+{N(QN+|0-wojODx=Lr1GcizcmNT=D|!E(xzq=AG)Xi!+k&&m%=U z!^xMi#hSF`Zdye~@F5FKhj?ofYgWjLt!rVQfat6k8V|kO*>{@3np_3m zm>z&G7OTVjn8$ zN0s{Z@4=GYcUs9^yRGETjrilG3yIvTm=MYBnl z-MA9@)bw$=vxcaDPM_U1g*wc7!Zn{V=3RsHPW9`Z>i2kA3p`BzL(MnsCkkE7_&knn zr#Q3(U3#|oj${&WY2A#UXW|0V=2Jp+Ts&+Km<|js zomaC@IuE+9uHYBvUi~up%VQndXQB1LjE6rK3!TNo-#}2dXzbEKvuEX4gsbMN)(7cr zcLC#ZWRs_`4dl^ABDZsH;U?mYp(*)AUdh{0a5HBnO$Emx?7iqT$uM=mTiO!;czSL; zV3iZom;4&{$O_TNiQ6oK2F}VG=)|Yt+Wihm9+Rh{eq zQ8-uQNuHzfyCodvz1*p86~ua}oRfS-VRU<2uWgrnOA)YVF+zK3)bNilth_ zc~?w^QtG(rPT;=V?VG>f#0Ac-r`;lCQ+VU-!g_1KQs@Sr0r?OSUBP42maDtkL(o+AJ{gJ^j+Ys5S@trt2^p)sZY^u%fe%?OD;{odFLLLlRR>!5>ALo7v;}a#W z7e@SI!+blrp~zV$vf1~R;CU12k>Wr~*ICo%r-ZLKIIUz{HuL@&c;Mim-EwjzHXUGP z{u%kd1fF>2ixn-*NuG0CJ9yUoA+ELkUuZkQdM!BAzlV9=%=1;ivSCtgqv}+BUfiF~ z!9YG*T`XRPO$nXo#Wf{?l*)#nqX&7etQymC3FRew53;^$J>HUG@zH#L9vlfL5%G_g z*?Ty4)3(LnLpmWinY~K)@Q(=hw#{11^C@%;KkOGfupf&8=NVw%M7^8X8?L%*84pjt zth93u=TUwh?MO}(?aPk$H1$d6UW*Lw*aq@ikD#yABMUsqoK#=MdxNxdI*`-Y%Y2O^ zx16S}X2wvlK>w89^Oe{@Gvg@y4e+dTXSh1&^m6Vo_j)HhjV8OxH%qJ|Yo&Wu9@ndg z1sTTUu+3QG5$e#nd``S#4gFaH{ONF^|Bry{7|-V(r?mRp-@N|+OsoILZ(6@2*BZIY zrSt6NW6@!=TYv7#HZ|b-Pwu_?nN2@O>l-$x5q;aPXXOX((eiIj%l}mat8;FRN3&Nk zwj=TFz^ipwF^_G)T!b7x7oAryXE0ABJJutM%ML-Bv9XLUkB??ca^{0xCmgCpulouz`OR1SYMY*0ScB(Hv>si`b0vG(Qo#w>q^9C? zBTj&_Td*1IV87&U`GBaOSdac1*3vL#zX@%}Ilp8UWxewSBo`edpW2*Bn`$f0HG}+d z+P;Cj`|P}aJul|I#=iB{ZsdYjf)lZ6Or+gR@RZql0zAS;AFXFC@Z!@|r}`MCzPH;} z>Jazhh1jIA38{ay8+Oic7LAT(r}D;0eC74~9D9mrsTn@r{6wIo2_3tVIaI~3`QHO2 zyOFDn{0xt8f?q%A(v@r-UR@gR8W-n`XHJ+HfDrRa>!f5XXzGy=u!V}OmQcun&$BnE zto}@%{ZqAuapvV%qig%~IPf}SP2MBYiB1BGxkne`EV->kz^s1z;c{ws_^2l@Do!yy zuj=>vs02?oFpEZCB34S*A31w>TX(|S^xWea*sjj`dQGm>%657_l=HTG{mI4OWMOKXo-c8qqw`Z=*K;)ByuWgO>R~-!>1)F$+oboiQsZRjan|6Nr1qna)?Ytf z)}dqi_k9d9CLRs=^WnJOGTQig<0~DlSMn|Gho&x+Ueoq5&LvP8*(&^SMcx8jg8NUv zmfohSfNq&%w!?8A|Zt?Xv- zOU(D&ci!__(@U`v>b_Dly+Gmpm-Fy#f1(d>~U8b5p)2V0`1<_7xXf3@R#c_9{ z3l`?HuV2@9qnjfm7B00`H$k_Bw>r=8@?(mnryXow<4nA3hW~lFl@!m>d#h)hu?L%b z@@kG~e7t=UCs}JxKzBVW!3)@!eg^wp&Kdx6ypRj;;wk zMxA}AoRdY}d$6C$W{o_t6g_?Ejtu(8{f;coh|#scIoCk;h;qv*Z=#)^SbSC^k*vE6~ zgm1@wp3%QtvKKf%h`iCx*m*qgU$}n`o;9b~N=m#%} z!r6ZCrE}3PoE+j`wg_YDkCc)JUpYdSd3haVSb{cS5O?-Wx>R(R%@1;%YaylD_wuaW4cMj-@Cc{btYc^M7wwB2 zwzt2Ryb1cQIastXmipOq?89W_8kxRi_H?TW>A})*lZ#DEu@7OcCrJgn? zj?$*ud;LDgR!{tPvKyLHYw@C~$&^{(R6}3y<2VPr^S=?pCaVo$T4;)b+m%-}~th-vfo_&*0H#ztbGp%sLnX z|H29L$I;VAl}{bLr;N4$}uid*ZiKTwx-M@!eDet}_minQ0 z-&2v=!@XG}o)}&u_};_TlXrr%lca5QaP|&^vyuAQFx@#il;o0n=8R&1G>86#9L#u` z`J?nVn?oNb|7PY8Ji*ZCl{}}*Vj8IQcF|)VVSkG`L!gE^`W46S*P0CsN|y}wWzsZ; zU!xzouBG4UbvyNX{yC>ljL(p)C;1ARh<=T)|}SiennNWG`s zhd<4`8s-@GxnuZka_n{3%ecRs_JuFy`wi=kVEh<);l;<^uXpf9**}+&)=7D{zGENZ zS+d0|yw~+&`lB)xlmXU{jjjP?-$MC_R0={%ZvMXN}uKo{a7rw}+bCeswc$V`#7b9OGv5u4a^Rqr+#7 z+nKP_w{E?2$L%H3)Hk)KvHdI0{&D-?Zr_emX0&lrUiCM9%q;#!qf=z<%UK<9_I6k|CidnMdXv844hVH(+^$E7^V3Uzys&Nj8Af==H?9ADJss`zKA|lH3XB+nVU|0nAc|q z-m~reU#Fhqzyj@+s!qW#8a(G&Bjg3%n+^i+xy~B#lH;PYfM`KSlcpTn$e z(J90@5DVYWK4s}FeEvUw2WTo&HMBb9lGbp*VWE_-q$;2KCX; z6C%{Xyhz2-)2nzFae1fs1$1Ea_Birb{iIN%p@p;k&yQGR11Z0r|8FqOHSa|L=f`^cnizqQ3tWd06oTe*8N9 z9I20aeLl^8TIopj$b0ft>r9aW;sjH{F|GB?74el{P-i{*boQSrQcJiRy!d?a&k&<} zl05?_@WW_-r)O5 z`vCe_V+E z0gW`Ft4MDSy%@Mj@g5mGAH=2=OKxJTs+F^edg8=?7S+c0dU~_p?xwX~`(=eU^(T~+ zkCXZyLMCE;MZW0xJ$+TaW&V5(Za%)Pr97kak&$#-O5bYAtd2D&tn&Y&&YCN^KOkGh zNLv(SZs^<_?+RbLL}3{C;Fj!j9=2IK^URqOv;Fy9I4$5z&u`-O@T++3G_g+h2J0UV zg*&$u+IIg&^z+bX?d>JZ6Y;&KSLb7!w_cjXS%{3+Lm_*tkwX+8i;vL6hF}Yjz3QPH z-u)b(a}E4QYs9PYM~i#aq5KKXIZ_#mdDuz3ob>izi>62mS$I6pv4)v>;p6WommR>01Gv0Z*1}8*Wzdz`obegWFYD;o^2_RMi2=s`ApP|0 zb)Vs0K8pwFui~~8i{8aLIJiF0BK^yJn~uF5OUBk$pB`Udtyqy$*z^=DaQc0$&x@_{ ze)y8gz?<4-lkoih%5xWMGHYuT`(x=T_ERg?Ad9wofJg83Ewtn0A(lM)3VfxD*n?iy zJAFer5y(Cq=36GSiFN3s9QzWCK3Gpo^)cYy5y&-hyl~G zZk++Bwwh>5ddWUwt#`7PV$;nMe{LmBF=`R={9)46M&(zYSF~rEx&BA`whNq9TAk&6 z$QyClLEZfW5j$|0Ihm{q<{j>Z2c85^#lWW+4-SpqQo|gQ&F1d9*#qsw7^vPnJFl?; z`=Q{=WgH(&gYgSK7zN)3o}KyrU+48tyZmiLEXU)0&_8sSzE{uV3r-Ax`juZx}k_10kb6)xv;U(5SG z^uY*gf9)=-rGPO-9zC1`ZHBEEAJ+cnUe>e#6$C<0y`Zgwh;q3mM%#Sen=k-~uD;T#pae=Z^byG&;Fg*XWTknEbeuMfWzPg*q z*G%2CQHCr8ZJ9mw$SK)}2L~<2#agZSxb7Lmr4dssyT{-YR(WcCV%v}56%oY@Eq7!R zAD^#2F(ZJF+mTVUH)Rn0eJAjx!*mlc^*#|RmkbIFrTWI`e-b;OG5I90Brc1!@NI>| za~WUiAp#A-jjqdMfCk6cV!y$dRg-}HI*qWS%) zGsriEy0<_Z%45Onz(eU-`G8+~`e^SIQ-yqnUy5@Sj&sHcbn@~X(V~F8|=jvJde<;Lx1++IjPqJGt01wR7=q;Q*(;J*$Zg2su-Ulus!f}Ix;~wxT z-Xk5a{*}Sm4^EG@gzb#OGr><`Fw=~?Y!AWxmnCBp^Bb4j`G++Z3X!c$JrzzpULC@{ zX$!p9&=z!Gt#~~@3?KGjI8WJ|%$Vgyq3Pr`&~}RP7fl}zUz~BH5b;e zu*w_YA(6Ln2F!P?7OfQt$-U^JUD%_5^+iwbtZlVgkZ*Gi;Qw3>?-id2RU%_DKf~7& z-^Bbqs&fnA8O!He$yd1-|A^pQ_x!5tgRPEWi(f^%;>AW^@!3p()Tfs_>$l*Pol5lB zz0yklN;J&=%d_YY+%}7@!0l-CcbfPD;eUw!()0Q0FYTS7zXi}AFiR(%3jS+oOMFXn zShBd{k^C`Ze|X&=hxVT>XMFmRCqJG+riX_c8NHJF{IdL9jYR;t5!uPe^6*v3$zHy% zbFM(88#@u>YRV$3&!n6ytCwqUkSA~X_=S;;#V?TK^c{ySvJtTkwMR7GKAHV}wDDPf z7Bc%()r-uowWEu@h>olsihA{rl;?7z1b`38b0yRpq2A|5ljn%3)mdSKK6y@d9`SMU z?mM2=SzO_x2DTn&4} zq`?Jt`8!2Vz;G5lZFK2r{OI&lBYGmw5Iv>m^V3t>yCHtIn>8Kyb$(m-<;b2J!^!v3 zU+3(dVVn%l3omYacyAFj)cQj=rcwLZ6U;gJ?xOhaDwcB=0rPok#pGlY=|!yNJDKm( z!Q0&b9^85y`8Nb^cvdWS^;>eb?VMCiz{~%dpUZyxOd(`@Z?spaq#Z5T&AMY$$_Bz8OL}&lT z`m~8U=9P@;Sf62Cy`Od>;5WjvnF~E*&G`lECs|i(?HuuLzq4kDrnOFMO+>f9nsFP- zCmA@KwYPV-OQX=QpXX^kSG0o<>jZw)*M?X1tT zQ+4E7f4~|jA>Vq=zUCZ(xx~BQ6ep&ug_!OKp^3VWGcS3c{_b4--OO+CL+1Cr(Ba_5 zi;Qem!#?Q<@&YndT_=0?BccU+oUsi_|1$HOb1Fl?+sE8dTp9YpltO#V>fO*;CVY_d zkIJ!;miK)G+D8s}fqc=iv2xjkly4V!Y^;j7io;@Q1alVv3vTE5o_nay>W5vr{_kN69Z>obWLQrRWADMV_&ZG z?i2323(Y&NMVZuDX=gWP-ZrKjTW6B9pQiA=)SEu}y3YN!awgE8@TB(QpSN!+yp3-g zNS3|dx@i^PRQwcja24%EXs?p?CQ>Fo7Mm#fBEEc1o(r$3wS!ZX?@G$4ea=~~jt3?* zPNMxf+NS-a+W$WLkQnFWIL7-F^g6md-m!lTJ`q0p`hAw+|C$3Q&;?70fjnts;vj2q zp!HVdP|^7%gYa+WgLLf>d>~BB4tAxw<%~1qQO%squ@<7=U;~mYv4{0m<7B~$xMsm) za#S9@AQ@Q5T%eAZ{-m=CooC4@e>Kn9=KKxmwrpTCy8S-Rnb6$c1JCJlcxi|7_p#2= z_-ySPQQa1Gj-lULE4=4gt%*K9_b2KQAHZhUp*-0O`92v}&B;*T`#Pe?QOoSms$zJU zVkSiYy_W|~>_7|UdM_VSA{)esCy-OzI0*UC+K?+06Cj?uin^+5gGRsWq&@ZJ_4{Hi z;5&IPyO*>7blC2teeauymGj_29$3``4ibwDtZkdGi>30wX%jFloagHBc=(~1}9 z`-K{(#1AHy7jZQ_&gbiK^iT(1ui$f5TXw_b~z+Y`uAE(#6z3d$0t6kJj*qw$5|cX_3I0`zSCOAn$;nmFMcmvbDsXz)r_gB%j3tu zi!5y720A&r%3DXYrgYGc-e9a_ja#o`Z7Z-h^j;V%=R3g3O6~iECx^IJ*|BnHs4fm1 zI%9{u1XE`6tDQfy5#Di=c!#_p@rtMvD;sm5Nd1${zm$dpg-ytGEZF>ec=p@DT8CjtX{$Ws`;D`UHkF5>dW8x zIlMCz72i}jm1)7Y&`7@y!>8ew$zRd;zriy_Yio8{CBpTuUmx76^+J8Q{TeHIn0J#n zTk4ltz!ROco%(MQ&u>{5zh~2>);;WNo&6B~)EHXefj(A4U&()ipADb!_{0!RYUVie z#*2^eWE-1vS+Jc@mUDWd?4ya^j$9@^Y}F;!k`U*UhHuk2=B$!D^Q3qVyekCH3IBf8 zJ@f3Tt2}gQrID+>@WB z@lxMpo9fN};x=8M%l^VP_+{z);KhT;^?$)mYv5i!4EGQn`Qjf;o(3+^515zOl@6@ZYLd`HKScL_cH5%Vs$vf za;W}iumh+)fBlLVYhq24ji8q@@*~Jrt~#FKd9*f_*Q{k}@f)MzPcUiy)j5{<6sRobO8(J!%Gc5UK<;+6tuvXv%{$e-gYW8o zD(mJ~cTv|a?DQJ<`apK$Liok`;T+BX;_!~R)~<#r$sXdC|F9vD)OprA>#OP`>jsE5 zXx0AuyWz3@toN(%{nzrn)}kv8ZBu+)4QF}rYu^{h@3%Oc7yO|c7AH%{U(z!U`NwX7 zDIEF8PAl2Qxl6}CykwLy`%4>1 zfB5Tvgl}G6(V{*re|2yv_&JgZpUfa8HTHq>##(T&h;-%oIL*pimGZuQ_-EQokp?xD8zc$z=crv6@152jjWSuct9KZ4) zuw)$iICX2j{MqHd4xJ9mS=9ex;Og?Eu69K^=LcA=3nmk75JY}seyE*U(5`{Q7e}J_ z#U}b(L+prX6!`PgWvjxX;FFj7&sp*5v!>nUbDVY?<|IvZSUJpg-@C1eUrw(xqpt?&x2jlJlj3MTVy3WnY(WXUUV5V zzlY&<&QIbTXVzhTV>=t4juTgJ^6Yo`nD_~5p9aq5b4SA2 zFgGcirC_ztcU}ql&V~(+Z+#sZgZbTBP8`KB?9wQ-&#W|#$FY28`nrHZDZ&2TX znF=3r`c)L1_mp%_@gDUP9=65QWfRNB{Bq7Pb;^3>)L+Rp>ht;L$8i5W`Nrw9>Fa){ zukcrQOy-&~iP6uW(=X9+=?J>bG5vynn(?S-JjCk-^H}Dj`kv#UYrpmN@5Ms$c>QqT zPme>}Yjk{5e}fx~%s8rz-hYp+Yeui=eFu6a-x0{+e4eoNx$3FJVC~3=t={~DO$FdO z+6Jx#Psm=>(Z(5j=#h1~`!^Rb7^TQ4FV3~|#S@O?RhYQTW7ERe0>F*%QY3p|$a++= zQA;3J-ohT6O`N;d>*A^i-X4GBy3L{c;sdq0v4^9@)3)neH+Z6S+VaXC=PVGuDUf8J z{!Ozp^(1#G?d z#s>}p+brTcfl=R0PO_Khr546KenNJmY1hP0Smod#=RU5dk=u4~K1L1iYwY?g#kR$` zisu$_jks%}cu=$ao75EsPa!wG37kN8S!;8xl=QlWp>_(cQ5*`s($za9Uz)ZrzNUvX z-QP?8kX>M4Q6IzXi)DP;BJ1uND41qB-+`TEtycevQ_i=6&o`G1J^A>5H~3k=H&x{; zw)kBMUDP9st$?3m8{9gJH0Ajic|8W18QSPI-%8FkyrmPK zqB)*m%(z% zdX#R)-R;9@XIeOT@%#=Bzf>P&qu3G1?ysl)GGgY|(!SdDpZDi)SFrZbW|7-gx_use zAF;-c9T6X!zHb-(%E+*?Aw_7@IpcchOehm~$~cv(4fRXyr;klK-6&5x-#nxJN5qe{ zPZK-Yk;<_P%|1=Vp(@W)_2-9MH>INY)dKSrE!QhOzQlc;2>bIw#` z_QWO4@U6&LD@$`rI`h1-1$Rg{3sOIRo$I@vSfwWDTyQmG$8F^boNZwbZu(pa-06Mp0q%p=t#kZvYu@$4 zPg=o43w>&)uJ5k2lHZ*HKfatZ*k)4yJGjU8ptGoTF5B*noF9QLcjs=)oFDNGc!B() z^tod>aO)cv>9lC^Cpz)Yr|4aRt!n|_8lk>E)~8|LAdXh_5aSxJ zjB{qQ`u%12b2l~ttpUathdtQg z^&`*N)A$yV=ZnyR?)B%4gHJxG3l7D5Vxu?`pT0;o@7bZ4v;RWtTrG7(9!(S|ekwja zqr`@+j}Te1CHD(MCJ`CJWgrNBGKa zxG>2&d1MZ2k@ijJ@>@ea1+0^t5u9c8P40v%h36m}z*kosxEGcTOq1_Mqg&$dw{}5q z5#ZMT5Urhp^)BG=%3YYMSrs1`;Jxl^xo<_zD#G?3L*CQe77Tn}Y<4H_zX3j;&K--N zX!u*fei+n7sKL>{&VCk?zVqz#A$WcAb78&pXq>quITkzXv2443n<;OPO|AuI z#h6Ry@N7JiOIdeiJK~$WW0Uw|hT_tf%DxI88xfaI-z~~?x^d|x^eN%9&zQcA68|uA zUjh44fJOU?YvFg;%KK?&DQS<$FBEQG&_UWNtrh#21Hfl+=J)*$(YH@tGIg@YR_l1i zx)lRX-5KYs8~Po!Zi81}y~cMTc&E&NQ+V6)=lqZ0#gFn<;r(CdsC$SGe0E7sCX-$5 z6gH`w!&X}vzh+|T6U=#>25s2J)?KGLxy!_GVdKkgt@``m)>W*dvYEyd3x{2{!5Nz) zLAxZWZ)iB*UUI&zcPF&3H5YnYUG!*u!7S>l{5ES9bAAmvPIG|Re%gtU-oia=ANKRU zdo~3J$`-K4X+39j-a!3N2ZD8(T!HDOXUFd-kS$WWa51!1Ex(@R1Fi3rdHO&}{}a$g z^ElI&Ql(p@BOK*G^VLx8FA0#|#S@40%u(hIm(o5n`Uw=}g5X-@d(`N;8dY>N6WO*`wmWRL4O$7mmGa~xQ5 z3_a&4_WF@M$QlWFit#IgtAhuoCgaQ>oe9+hKKAphF`VquwfN5|)`KSGf{#$A@k6B9 zWG(*Gj#XS@e1V&v8o7RW`_oP$FPvcQ>OoG>I+Os1oA~J*jbFec{l4#!{d44Nt(`UV zt>pHn!1o>4;*hJqq5FHC`>*N#F6aJX-EVO2zsf!EJ(9cp!X$fxl26iRBCu>g_ThT^ zTu=X1*XPNX*znPT1o!pG?MkaBZOaBL$(nG}T6l2n!^HlQ9?@L3-)Z)o*HA~%YIq}g z&&8LW{+zA%7@6h);slAQ7mT6(g{IDKWR^I6Y{q63LPm|_pH)9QX*>Z;6<{g>P^T_@&#x=6+CL|-Gh>o14rLrtm9vC?qB0x zxJ>Cv|7RdW3)VdFdDpHnX*kU@ys{pg`r&z=vYn*$autrdTpZWC{i&osJ-pL-gdV=X z#=0w7{3GeY>pAtX5q#D;b3EdXkLbLc@ri%5!px%t?R)^7sNSEt_4?O@bJ5)__>gGt zcTa)?@EHT{Cw1@A-Z9;~wD)V>gD>Uz1^4l{Kzj$smri?+ljh;#&1mlj|rIPS${<&BQ98L$=p5Kg#&_9dIA9Szqht2a*$99aHZ<#Jl74O*mAW z{`k(TbPgJS>FsKLIu0#2@yoIFo#^a-t<9=K{=sa^iD}S&n>C#CF2BmRxleFjit%Te zxiK|~Z@wR1OSzoZnY>s0JG}B(Ivm2eb;F_&=M!p>z9O0ZVVxv;8!T<7WbGN@d zBb0pk?^X-3Nyp|84-pC$;In&bn|yi8ijhar4-10@{e66s^LU^D8(x0@Y3#(z*` z#IYeupAjBqBi0(a=D?P1$MH`ozx=BG=snM~M`DNkMU?$gApdZs-KjXFqnm1y`>!Encx?{qKS$J`0BJ~(}vO8nJSgX`M^Q_nfBva4;$+PqD4c8EFi z8uImyK%O~2`4!q8r0pu&j))G8|H8!Bai{(8PTw_5|@Gj}JT#Pto_= z`r#=zaP}Ya>Z3it+05LlWZtpAt(4f&qnnr$k~5Y50)BqI3%T!VXy8EM5wQVooDqDqPD;v?jl# zH7E3L*~qQ_>%l|s)1Upp1+QOw{IuY_^BsqgW0Uek|C-~|-VEI~KeoLZ z`L#o~dhOd>f~>oXc06C^De8C@AFlIlMd!?fVqg-S&zu?DsxnQog^D*Vcl>Q9fc>QT z=B)OfOp6w=9w{H=AC(Sf#&aJ)sVgSA@nKi~0He3t>A9PD-Q3_SF@EP8?|Z!QrXSgicP-

l6@4tc8N5VA~I#-O;aK8jwH}g?6 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 S2U$OlRhm)2P)^SQ)BgZ@5?ieR literal 0 HcmV?d00001 diff --git a/easytier-gui/src/App.vue b/easytier-gui/src/App.vue new file mode 100644 index 0000000..520a0ad --- /dev/null +++ b/easytier-gui/src/App.vue @@ -0,0 +1,254 @@ + + + + + + + + + + \ No newline at end of file diff --git a/easytier-gui/src/components/Config.vue b/easytier-gui/src/components/Config.vue new file mode 100644 index 0000000..fd73c77 --- /dev/null +++ b/easytier-gui/src/components/Config.vue @@ -0,0 +1,154 @@ + + + diff --git a/easytier-gui/src/components/Status.vue b/easytier-gui/src/components/Status.vue new file mode 100644 index 0000000..7674511 --- /dev/null +++ b/easytier-gui/src/components/Status.vue @@ -0,0 +1,358 @@ + + + \ No newline at end of file diff --git a/easytier-gui/src/main.rs b/easytier-gui/src/main.rs deleted file mode 100644 index 2b6f670..0000000 --- a/easytier-gui/src/main.rs +++ /dev/null @@ -1,1095 +0,0 @@ -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release - -use std::{ - env::current_exe, - sync::{atomic::AtomicU32, Arc, Mutex}, - time::Duration, -}; - -use anyhow::Context; -use dashmap::DashMap; -use easytier::{ - common::config::{ - ConfigLoader, NetworkIdentity, PeerConfig, TomlConfigLoader, VpnPortalConfig, - }, - utils::{cost_to_str, float_to_str, list_peer_route_pair}, -}; -use egui::{Align, Layout, Separator, Widget}; -use egui_extras::{Column, Size, StripBuilder, TableBuilder}; -use egui_modal::Modal; -use humansize::format_size; -use launcher::{EasyTierLauncher, MyNodeInfo}; -use serde::{Deserialize, Serialize}; -use text_list::TextListOption; - -use easytier::rpc::cli::NatType; - -pub mod launcher; -pub mod text_list; -pub mod toggle_switch; - -#[derive(Deserialize, Serialize)] -struct TextsForI18n { - // Main window - network_config_label: String, - - config_change_notify: String, - - unnamed_network_name: String, - new_network: String, - del_network: String, - - current_status_label: String, - running_text: String, - stopped_text: String, - - virtual_ipv4_label: String, - network_name_label: String, - network_secret_label: String, - - networking_method_label: String, - public_server_method: String, - manual_method: String, - standalone_method: String, - public_server_url_label: String, - peer_urls_label: String, - - proxy_cidr_label: String, - - optional_hint_text: String, - - enable_vpn_portal_label: String, - vpn_portal_listen_port_label: String, - vpn_portal_client_cidr_label: String, - - listerners_label: String, - rpc_port_label: String, - - copy_config_button: String, - - advanced_settings: String, - - node_info_label: String, - route_table_label: String, - other_info_label: String, - running_event_label: String, - vpn_portal_info_btn: String, - - event_time_table_col: String, - detail_table_col: String, -} - -impl TextsForI18n { - fn new_english() -> Self { - Self { - unnamed_network_name: "default".to_string(), - - new_network: "New Network".to_string(), - del_network: "Remove Current".to_string(), - - current_status_label: "Current Status".to_string(), - running_text: "Running. Press To Stop: ".to_string(), - stopped_text: "Stopped, Press To Run: ".to_string(), - config_change_notify: "*Config Changed. Need Rerun".to_string(), - - virtual_ipv4_label: "Virtual IPv4".to_string(), - network_name_label: "Network Name".to_string(), - network_secret_label: "Network Secret".to_string(), - - networking_method_label: "Networking Method".to_string(), - public_server_method: "Public Server".to_string(), - manual_method: "Manual".to_string(), - standalone_method: "Standalone".to_string(), - peer_urls_label: "Peer URLs".to_string(), - - optional_hint_text: "Optional".to_string(), - - enable_vpn_portal_label: "Enable VPN Portal".to_string(), - vpn_portal_listen_port_label: "VPN Listen Port".to_string(), - vpn_portal_client_cidr_label: "VPN Client CIDR".to_string(), - - listerners_label: "Listeners".to_string(), - rpc_port_label: "RPC Port".to_string(), - - copy_config_button: "Copy Config".to_string(), - - advanced_settings: "Advanced Settings".to_string(), - - node_info_label: "Node Info".to_string(), - route_table_label: "Route Table".to_string(), - other_info_label: "Other Info".to_string(), - running_event_label: "Running Event".to_string(), - - vpn_portal_info_btn: "VPN Portal Info".to_string(), - - network_config_label: "Network Config".to_string(), - public_server_url_label: "Public Server URL".to_string(), - proxy_cidr_label: "Proxy CIDR".to_string(), - event_time_table_col: "Event Time".to_string(), - detail_table_col: "Detail".to_string(), - } - } - - fn new_chinese() -> Self { - Self { - unnamed_network_name: "default".to_string(), - new_network: "新建网络".to_string(), - del_network: "删除当前".to_string(), - - current_status_label: "当前状态".to_string(), - running_text: "运行中。点击停止: ".to_string(), - stopped_text: "已停止,点击运行: ".to_string(), - config_change_notify: "*配置已更改,需要重新运行".to_string(), - - virtual_ipv4_label: "虚拟IPv4".to_string(), - network_name_label: "网络名称".to_string(), - network_secret_label: "网络密钥".to_string(), - - networking_method_label: "组网方式".to_string(), - public_server_method: "公共服务器".to_string(), - manual_method: "手动".to_string(), - standalone_method: "独立模式".to_string(), - peer_urls_label: "节点URL".to_string(), - - optional_hint_text: "可选".to_string(), - - enable_vpn_portal_label: "启用VPN门户".to_string(), - vpn_portal_listen_port_label: "VPN监听端口".to_string(), - vpn_portal_client_cidr_label: "VPN客户端CIDR".to_string(), - - listerners_label: "监听器".to_string(), - rpc_port_label: "RPC端口".to_string(), - - copy_config_button: "复制配置".to_string(), - - advanced_settings: "高级设置".to_string(), - - node_info_label: "节点信息".to_string(), - route_table_label: "路由表".to_string(), - other_info_label: "其他信息".to_string(), - running_event_label: "运行事件".to_string(), - - vpn_portal_info_btn: "VPN门户信息".to_string(), - - network_config_label: "网络配置".to_string(), - public_server_url_label: "公共服务器URL".to_string(), - proxy_cidr_label: "子网代理".to_string(), - event_time_table_col: "事件时间".to_string(), - detail_table_col: "详情".to_string(), - } - } -} - -static TEXTS_MAP: once_cell::sync::Lazy> = - once_cell::sync::Lazy::new(DashMap::new); - -// 0: English, 1: Chinese -static LANGUAGE: AtomicU32 = AtomicU32::new(0); - -static MESSAGE_BOX: once_cell::sync::Lazy>>> = - once_cell::sync::Lazy::new(Default::default); - -#[macro_export] -macro_rules! TEXT { - ($name:ident) => { - TEXTS_MAP - .get(&LANGUAGE.load(std::sync::atomic::Ordering::Relaxed)) - .unwrap() - .$name - .clone() - }; -} - -#[derive(derivative::Derivative, Deserialize, Serialize, PartialEq)] -enum NetworkingMethod { - PublicServer, - Manual, - Standalone, -} - -#[derive(derivative::Derivative, Deserialize, Serialize)] -struct NetworkInstancePane { - running: bool, - virtual_ipv4: String, - network_name: String, - network_secret: String, - networking_method: NetworkingMethod, - - public_server_url: String, - peer_urls: Vec, - - proxy_cidrs: Vec, - - enable_vpn_portal: bool, - vpn_portal_listne_port: String, - vpn_portal_client_cidr: String, - - advanced_settings: bool, - - listener_urls: Vec, - rpc_port: String, - - modal_title: String, - modal_content: String, - - #[serde(skip)] - launcher: Option, -} - -impl NetworkInstancePane { - fn default() -> Self { - Self { - running: false, - virtual_ipv4: "".to_string(), - network_name: TEXT!(unnamed_network_name), - network_secret: "".to_string(), - networking_method: NetworkingMethod::PublicServer, - - public_server_url: "tcp://easytier.public.kkrainbow.top:11010".to_string(), - peer_urls: vec![], - - proxy_cidrs: vec![], - - enable_vpn_portal: false, - vpn_portal_listne_port: "11222".to_string(), - vpn_portal_client_cidr: "10.14.14.0/24".to_string(), - - advanced_settings: false, - - listener_urls: vec![ - "tcp://0.0.0.0:11010".to_string(), - "udp://0.0.0.0:11010".to_string(), - "wg://0.0.0.0:11011".to_string(), - ], - - rpc_port: "15888".to_string(), - - modal_title: "".to_string(), - modal_content: "".to_string(), - - launcher: None, - } - } -} - -impl NetworkInstancePane { - fn gen_config(&self) -> Result { - let cfg = TomlConfigLoader::default(); - cfg.set_inst_name(self.network_name.clone()); - cfg.set_network_identity(NetworkIdentity { - network_name: self.network_name.clone(), - network_secret: self.network_secret.clone(), - }); - - if self.virtual_ipv4.len() > 0 { - cfg.set_ipv4( - self.virtual_ipv4.parse().with_context(|| { - format!("failed to parse ipv4 address: {}", self.virtual_ipv4) - })?, - ) - } - - match self.networking_method { - NetworkingMethod::PublicServer => { - cfg.set_peers(vec![PeerConfig { - uri: self.public_server_url.parse().with_context(|| { - format!( - "failed to parse public server uri: {}", - self.public_server_url - ) - })?, - }]); - } - NetworkingMethod::Manual => { - let mut peers = vec![]; - for peer_url in self.peer_urls.iter() { - if peer_url.is_empty() { - continue; - } - peers.push(PeerConfig { - uri: peer_url - .parse() - .with_context(|| format!("failed to parse peer uri: {}", peer_url))?, - }); - } - - cfg.set_peers(peers); - } - NetworkingMethod::Standalone => {} - } - - let mut listener_urls = vec![]; - for listener_url in self.listener_urls.iter() { - if listener_url.is_empty() { - continue; - } - listener_urls.push( - listener_url - .parse() - .with_context(|| format!("failed to parse listener uri: {}", listener_url))?, - ); - } - cfg.set_listeners(listener_urls); - - for n in self.proxy_cidrs.iter() { - cfg.add_proxy_cidr( - n.parse() - .with_context(|| format!("failed to parse proxy network: {}", n))?, - ); - } - - cfg.set_rpc_portal( - format!("127.0.0.1:{}", self.rpc_port) - .parse() - .with_context(|| format!("failed to parse rpc portal port: {}", self.rpc_port))?, - ); - - if self.enable_vpn_portal { - cfg.set_vpn_portal_config(VpnPortalConfig { - client_cidr: self.vpn_portal_client_cidr.parse().with_context(|| { - format!( - "failed to parse vpn portal client cidr: {}", - self.vpn_portal_client_cidr - ) - })?, - wireguard_listen: format!("0.0.0.0:{}", self.vpn_portal_listne_port) - .parse() - .with_context(|| { - format!( - "failed to parse vpn portal wireguard listen port. {}", - self.vpn_portal_listne_port - ) - })?, - }); - } - - Ok(cfg) - } - - fn is_easytier_running(&self) -> bool { - self.launcher.is_some() && self.launcher.as_ref().unwrap().running() - } - - fn need_restart(&self) -> bool { - let Ok(cfg) = self.gen_config() else { - return false; - }; - - if !self.is_easytier_running() { - return false; - } - - self.launcher.as_ref().unwrap().running_cfg() != cfg.dump() - } - - fn update_advanced_settings(&mut self, ui: &mut egui::Ui) { - ui.label(TEXT!(listerners_label)); - text_list::text_list_ui( - ui, - "listeners", - &mut self.listener_urls, - Some(TextListOption { - hint: "e.g: tcp://0.0.0.0:11010".to_string(), - }), - ); - ui.end_row(); - - ui.label(TEXT!(rpc_port_label)); - ui.text_edit_singleline(&mut self.rpc_port); - ui.end_row(); - } - - fn start_easytier(&mut self) { - let mut l = EasyTierLauncher::new(); - l.start(|| self.gen_config()); - self.launcher = Some(l); - } - - fn update_basic_settings(&mut self, ui: &mut egui::Ui) { - ui.label(TEXT!(current_status_label)); - ui.horizontal(|ui| { - if self.launcher.is_none() || !self.launcher.as_ref().unwrap().running() { - self.running = false; - ui.label(TEXT!(stopped_text)); - } else { - self.running = true; - ui.label(TEXT!(running_text)); - } - - if toggle_switch::toggle_ui(ui, &mut self.running).clicked() { - if self.running { - self.start_easytier(); - } else { - self.launcher = None; - } - } - - if let Some(inst) = &self.launcher { - ui.label(inst.error_msg().unwrap_or_default()); - } - }); - ui.end_row(); - - ui.label(TEXT!(virtual_ipv4_label)); - ui.horizontal(|ui| { - egui::TextEdit::singleline(&mut self.virtual_ipv4) - .hint_text("e.g: 10.144.144.3") - .ui(ui); - ui.label("/24"); - }); - ui.end_row(); - - ui.label(TEXT!(network_name_label)); - egui::TextEdit::singleline(&mut self.network_name) - .hint_text(TEXT!(optional_hint_text)) - .ui(ui); - ui.end_row(); - - ui.label(TEXT!(network_secret_label)); - egui::TextEdit::singleline(&mut self.network_secret) - .hint_text(TEXT!(optional_hint_text)) - .ui(ui); - ui.end_row(); - - ui.label(TEXT!(networking_method_label)); - ui.horizontal(|ui| { - ui.selectable_value( - &mut self.networking_method, - NetworkingMethod::PublicServer, - TEXT!(public_server_method), - ); - ui.selectable_value( - &mut self.networking_method, - NetworkingMethod::Manual, - TEXT!(manual_method), - ); - ui.selectable_value( - &mut self.networking_method, - NetworkingMethod::Standalone, - TEXT!(standalone_method), - ); - }); - ui.end_row(); - - match self.networking_method { - NetworkingMethod::PublicServer => { - ui.label(TEXT!(public_server_url_label)); - ui.text_edit_singleline(&mut self.public_server_url); - ui.end_row(); - } - NetworkingMethod::Standalone => {} - NetworkingMethod::Manual => { - ui.label(TEXT!(peer_urls_label)); - text_list::text_list_ui( - ui, - "peers", - &mut self.peer_urls, - Some(TextListOption { - hint: "e.g: tcp://192.168.99.12:11010".to_string(), - }), - ); - ui.end_row(); - } - } - - ui.label(TEXT!(proxy_cidr_label)); - text_list::text_list_ui( - ui, - "proxy_cidr", - &mut self.proxy_cidrs, - Some(TextListOption { - hint: "e.g: 10.147.223.0/24".to_string(), - }), - ); - ui.end_row(); - - ui.label(TEXT!(enable_vpn_portal_label)); - toggle_switch::toggle_ui(ui, &mut self.enable_vpn_portal); - ui.end_row(); - - if self.enable_vpn_portal { - ui.label(TEXT!(vpn_portal_listen_port_label)); - ui.text_edit_singleline(&mut self.vpn_portal_listne_port); - ui.end_row(); - - ui.label(TEXT!(vpn_portal_client_cidr_label)); - ui.text_edit_singleline(&mut self.vpn_portal_client_cidr); - ui.end_row(); - } - - ui.label(TEXT!(advanced_settings)); - toggle_switch::toggle_ui(ui, &mut self.advanced_settings); - ui.end_row(); - - if self.advanced_settings { - self.update_advanced_settings(ui); - } - } - - fn update_config_zone(&mut self, ui: &mut egui::Ui) { - StripBuilder::new(ui) - .size(Size::exact(25.0)) - .size(Size::remainder()) - .size(Size::exact(15.0)) - .size(Size::exact(100.0)) - .size(Size::exact(20.0)) - .vertical(|mut strip| { - strip.cell(|ui| { - ui.horizontal(|ui| { - ui.label(TEXT!(network_config_label)); - if self.need_restart() { - ui.label(TEXT!(config_change_notify)); - } - }); - }); - - strip.cell(|ui| { - ui.with_layout( - Layout::top_down(Align::LEFT).with_cross_justify(true), - |ui| { - egui::ScrollArea::vertical().show(ui, |ui| { - egui::Grid::new("grid") - .spacing([10.0, 15.0]) - .show(ui, |ui| { - self.update_basic_settings(ui); - }); - }); - }, - ); - }); - - strip.cell(|ui| { - Separator::default().spacing(10.0).ui(ui); - }); - - if let Ok(cfg) = self.gen_config() { - // ui.separator(); - strip.cell(|ui| { - ui.with_layout( - Layout::top_down(Align::LEFT).with_cross_justify(true), - |ui| { - egui::ScrollArea::vertical().show(ui, |ui| { - ui.text_edit_multiline(&mut cfg.dump()); - }); - }, - ); - }); - strip.cell(|ui| { - ui.with_layout( - Layout::top_down(Align::Center).with_cross_justify(true), - |ui| { - if ui.button(TEXT!(copy_config_button)).clicked() { - ui.output_mut(|o| o.copied_text = cfg.dump()); - }; - }, - ); - }); - } else { - strip.cell(|_ui| {}); - strip.cell(|_ui| {}); - } - }); - // ui.vertical_centered_justified(|ui| { - // ui.group(|ui| {}); - // }); - } - - fn update_event_table(&mut self, ui: &mut egui::Ui) { - let table = TableBuilder::new(ui) - .striped(true) - .resizable(true) - .cell_layout(egui::Layout::left_to_right(egui::Align::Center)) - .column(Column::auto()) - .column(Column::remainder()) - .stick_to_bottom(true) - .min_scrolled_height(0.0); - - let table = table.header(20.0, |mut header| { - header.col(|ui| { - ui.strong(TEXT!(event_time_table_col)); - }); - header.col(|ui| { - ui.strong(TEXT!(detail_table_col)); - }); - }); - - let mut events = vec![]; - if let Some(l) = self.launcher.as_ref() { - if l.running() { - events.extend(l.get_events()); - } - }; - - table.body(|mut body| { - for (time, event) in events.iter() { - body.row(20.0, |mut row| { - row.col(|ui| { - ui.monospace(time.format("%Y-%m-%d %H:%M:%S").to_string()); - }); - row.col(|ui| { - ui.monospace(format!("{:?}", event)); - }); - }); - } - if events.len() < 10 { - for _ in 0..(10 - events.len()) { - body.row(20.0, |mut row| { - row.col(|ui| { - ui.monospace("".to_string()); - }); - row.col(|ui| { - ui.monospace("".to_string()); - }); - }); - } - } - }); - } - - fn update_node_info(&mut self, ui: &mut egui::Ui, node_info: MyNodeInfo) { - let add_card = |ui: &mut egui::Ui, content: String| { - if ui.button(&content).clicked() { - ui.output_mut(|o| o.copied_text = content); - }; - }; - - ui.horizontal_wrapped(|ui| { - add_card( - ui, - format!("{}: {}", "Virtual IPV4: ", node_info.virtual_ipv4), - ); - - add_card( - ui, - format!( - "{}: {:#?}", - "UDP NAT Type:", - NatType::try_from(node_info.stun_info.udp_nat_type).unwrap() - ), - ); - - for (idx, l) in node_info.listeners.iter().enumerate() { - add_card(ui, format!("Listener {}: {}", idx, l)); - } - - for (idx, ipv4) in node_info.ips.interface_ipv4s.iter().enumerate() { - add_card(ui, format!("Local IPV4 {}: {}", idx, ipv4)); - } - - if node_info.ips.public_ipv4.len() > 0 { - add_card(ui, format!("Public IPV4: {}", node_info.ips.public_ipv4)); - } - }); - } - - fn update_route_table(&mut self, ui: &mut egui::Ui) { - let table = TableBuilder::new(ui) - .striped(true) - .resizable(true) - .cell_layout(egui::Layout::left_to_right(egui::Align::Center)) - .column(Column::auto()) - .column(Column::auto()) - .column(Column::auto()) - .column(Column::auto()) - .column(Column::auto()) - .column(Column::auto()) - .column(Column::remainder()) - .stick_to_bottom(true) - .min_scrolled_height(0.0); - - let table = table.header(20.0, |mut header| { - header.col(|ui| { - ui.strong("Virtual IP"); - }); - header.col(|ui| { - ui.strong("HostName"); - }); - header.col(|ui| { - ui.strong("Cost"); - }); - header.col(|ui| { - ui.strong("Latency"); - }); - header.col(|ui| { - ui.strong("TX"); - }); - header.col(|ui| { - ui.strong("RX"); - }); - header.col(|ui| { - ui.strong("LossRate"); - }); - }); - - let mut peers = vec![]; - let mut routes = vec![]; - if let Some(l) = self.launcher.as_ref() { - if l.running() { - routes.extend(l.get_routes()); - peers.extend(l.get_peers()); - } - }; - - let pairs = list_peer_route_pair(peers, routes); - - table.body(|mut body| { - for pair in pairs.iter() { - body.row(20.0, |mut row| { - row.col(|ui| { - ui.monospace(&pair.route.ipv4_addr); - }); - row.col(|ui| { - ui.monospace(pair.route.hostname.to_string()); - }); - row.col(|ui| { - ui.monospace(cost_to_str(pair.route.cost)); - }); - row.col(|ui| { - ui.monospace(float_to_str(pair.get_latency_ms().unwrap_or_default(), 2)); - }); - row.col(|ui| { - ui.monospace(format_size( - pair.get_tx_bytes().unwrap_or_default(), - humansize::DECIMAL, - )); - }); - row.col(|ui| { - ui.monospace(format_size( - pair.get_rx_bytes().unwrap_or_default(), - humansize::DECIMAL, - )); - }); - row.col(|ui| { - ui.monospace(float_to_str(pair.get_loss_rate().unwrap_or_default(), 2)); - }); - }); - } - }); - } - - fn update(&mut self, ui: &mut egui::Ui) -> egui_tiles::UiResponse { - // Give each pane a unique color: - // let color = egui::epaint::Hsva::new(0.103 as f32, 0.5, 0.5, 1.0); - // ui.painter().rect_filled(ui.max_rect(), 0.0, color); - ui.add(egui::Separator::default().spacing(5.0)); - - const CONFIG_PANE_WIDTH: f32 = 440.0; - - let mut modal_ref = MESSAGE_BOX.lock().unwrap(); - let modal = modal_ref.as_mut().unwrap(); - modal.show(|ui| { - // these helper functions help set the ui based on the modal's - // set style, but they are not required and you can put whatever - // ui you want inside [`.show()`] - modal.title(ui, self.modal_title.clone()); - modal.frame(ui, |ui| { - modal.body(ui, self.modal_content.clone()); - }); - modal.buttons(ui, |ui| { - // After clicking, the modal is automatically closed - if modal.button(ui, "Copy And Close").clicked() { - ui.output_mut(|o| o.copied_text = self.modal_content.clone()); - modal.close(); - }; - }); - }); - - let node_info = if let Some(l) = self.launcher.as_ref() { - l.get_node_info() - } else { - Default::default() - }; - - StripBuilder::new(ui) - .size(Size::exact(CONFIG_PANE_WIDTH)) - .size(Size::remainder()) - .horizontal(|mut strip| { - strip.cell(|ui| { - self.update_config_zone(ui); - }); - - strip.strip(|builder| { - builder - .size(Size::exact(100.0)) - .size(Size::relative(0.4)) - .size(Size::exact(20.0)) - .size(Size::remainder()) - .vertical(|mut strip| { - strip.cell(|ui| { - ui.label(TEXT!(node_info_label)); - ui.group(|ui| { - egui::ScrollArea::both().show(ui, |ui| { - self.update_node_info(ui, node_info.clone()); - }); - }); - }); - - strip.cell(|ui| { - ui.label(TEXT!(route_table_label)); - ui.with_layout( - Layout::top_down(Align::LEFT).with_cross_justify(true), - |ui| { - ui.group(|ui| { - egui::ScrollArea::both().show(ui, |ui| { - self.update_route_table(ui); - }); - }); - }, - ); - }); - - strip.cell(|ui| { - ui.horizontal_wrapped(|ui| { - ui.label(TEXT!(other_info_label)); - if ui.button(TEXT!(vpn_portal_info_btn)).clicked() { - self.modal_title = TEXT!(vpn_portal_info_btn); - self.modal_content = - node_info.vpn_portal_cfg.unwrap_or_default(); - modal.open(); - } - }); - }); - - strip.cell(|ui| { - ui.label(TEXT!(running_event_label)); - ui.with_layout( - Layout::top_down(Align::LEFT).with_cross_justify(true), - |ui| { - ui.group(|ui| { - egui::ScrollArea::both().show(ui, |ui| { - self.update_event_table(ui); - }); - }); - }, - ); - }); - }); - }); - }); - - egui_tiles::UiResponse::None - } -} - -struct MainWindowTabsBehavior { - simplification_options: egui_tiles::SimplificationOptions, - add_child_to: Option, - remove_child: Option, -} - -impl Default for MainWindowTabsBehavior { - fn default() -> Self { - let simplification_options = egui_tiles::SimplificationOptions { - all_panes_must_have_tabs: true, - ..Default::default() - }; - Self { - simplification_options, - add_child_to: None, - remove_child: None, - } - } -} - -// ref: https://github.com/rerun-io/egui_tiles/blob/main/examples/advanced.rs -impl egui_tiles::Behavior for MainWindowTabsBehavior { - fn tab_title_for_pane(&mut self, pane: &NetworkInstancePane) -> egui::WidgetText { - format!("{}", pane.network_name).into() - } - - fn pane_ui( - &mut self, - ui: &mut egui::Ui, - _tile_id: egui_tiles::TileId, - pane: &mut NetworkInstancePane, - ) -> egui_tiles::UiResponse { - pane.update(ui) - } - - fn top_bar_right_ui( - &mut self, - _tiles: &egui_tiles::Tiles, - ui: &mut egui::Ui, - tile_id: egui_tiles::TileId, - _tabs: &egui_tiles::Tabs, - _scroll_offset: &mut f32, - ) { - ui.add_space(7.0); - let cur_lang = LANGUAGE.load(std::sync::atomic::Ordering::Relaxed); - if ui - .button(format!( - "{}{}", - "🌐", - if cur_lang == 0 { "中" } else { "En" } - )) - .clicked() - { - LANGUAGE.store(1 - cur_lang, std::sync::atomic::Ordering::Relaxed); - } - - ui.separator(); - - if ui - .button(format!("{}{}", "➕", TEXT!(new_network))) - .clicked() - { - self.add_child_to = Some(tile_id); - } - - if _tabs.children.len() > 1 - && ui - .button(format!("{}{}", "➖", TEXT!(del_network))) - .clicked() - { - if let Some(tid) = _tabs.active { - self.remove_child = Some(tid); - } - } - } - - fn simplification_options(&self) -> egui_tiles::SimplificationOptions { - self.simplification_options - } - - /// The height of the bar holding tab titles. - fn tab_bar_height(&self, _style: &egui::Style) -> f32 { - 40.0 - } - - /// Width of the gap between tiles in a horizontal or vertical layout, - /// and between rows/columns in a grid layout. - fn gap_width(&self, _style: &egui::Style) -> f32 { - 1.0 - } - - /// No child should shrink below this width nor height. - fn min_size(&self) -> f32 { - 32.0 - } - - /// Show we preview panes that are being dragged, - /// i.e. show their ui in the region where they will end up? - fn preview_dragged_panes(&self) -> bool { - false - } -} - -#[derive(serde::Deserialize, serde::Serialize)] -struct MyApp { - tree: egui_tiles::Tree, - - #[serde(skip)] - behavior: MainWindowTabsBehavior, -} - -impl MyApp { - fn default() -> Self { - let mut tiles = egui_tiles::Tiles::default(); - let mut tabs = vec![]; - tabs.push(tiles.insert_pane(NetworkInstancePane::default())); - let root = tiles.insert_tab_tile(tabs); - let tree = egui_tiles::Tree::new("my_tree", root, tiles); - - Self { - tree, - behavior: Default::default(), - } - } -} - -impl eframe::App for MyApp { - fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { - if let Some(tile_id) = self.behavior.add_child_to.take() { - let tiles = &mut self.tree.tiles; - let new_pane = NetworkInstancePane::default(); - let new_tab = tiles.insert_pane(new_pane); - if let Some(egui_tiles::Tile::Container(egui_tiles::Container::Tabs(tabs))) = - self.tree.tiles.get_mut(tile_id) - { - tabs.add_child(new_tab); - tabs.set_active(new_tab); - } - } - - if let Some(tile_id) = self.behavior.remove_child.take() { - let tiles = &mut self.tree.tiles; - tiles.remove(tile_id); - } - - ctx.request_repaint_after(Duration::from_secs(1)); // animation - egui::CentralPanel::default().show(ctx, |ui| { - self.tree.ui(&mut self.behavior, ui); - }); - } - - fn save(&mut self, _storage: &mut dyn eframe::Storage) { - eframe::set_value(_storage, eframe::APP_KEY, &self); - } -} - -fn init_text_map() { - TEXTS_MAP.insert(0, TextsForI18n::new_english()); - TEXTS_MAP.insert(1, TextsForI18n::new_chinese()); -} - -fn check_sudo() -> bool { - let is_elevated = elevated_command::Command::is_elevated(); - if !is_elevated { - let Ok(my_exe) = current_exe() else { - return true; - }; - let elevated_cmd = elevated_command::Command::new(std::process::Command::new(my_exe)); - let _ = elevated_cmd.output(); - } - is_elevated -} - -fn load_fonts(ctx: &egui::Context) { - let mut fonts = egui::FontDefinitions::default(); - fonts.font_data.insert( - "my_font".to_owned(), - egui::FontData::from_static(include_bytes!("../assets/msyh.ttc")), - ); - fonts - .families - .get_mut(&egui::FontFamily::Proportional) - .unwrap() - .insert(0, "my_font".to_owned()); - fonts - .families - .get_mut(&egui::FontFamily::Monospace) - .unwrap() - .push("my_font".to_owned()); - ctx.set_fonts(fonts); -} - -fn main() -> Result<(), eframe::Error> { - if !check_sudo() { - return Ok(()); - } - env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`). - init_text_map(); - - let options = eframe::NativeOptions { - viewport: egui::ViewportBuilder::default().with_inner_size([800.0, 600.0]), - ..Default::default() - }; - - eframe::run_native( - "EasyTier", - options, - Box::new(|ctx| { - load_fonts(&ctx.egui_ctx); - let mut message_box = MESSAGE_BOX.lock().unwrap(); - *message_box = Some(Modal::new(&ctx.egui_ctx, "MessageBox")); - - let mut app = MyApp::default(); - if let Some(storage) = ctx.storage { - if let Some(state) = eframe::get_value(storage, eframe::APP_KEY) { - app = state; - } - } - Box::new(app) - }), - ) -} diff --git a/easytier-gui/src/main.ts b/easytier-gui/src/main.ts new file mode 100644 index 0000000..f5438ed --- /dev/null +++ b/easytier-gui/src/main.ts @@ -0,0 +1,353 @@ +import "./styles.css"; +import "primevue/resources/themes/aura-light-green/theme.css"; +import "primeicons/primeicons.css"; +import "primeflex/primeflex.css"; + +import { createPinia, defineStore } from 'pinia' + +import { createMemoryHistory, createRouter } from 'vue-router' + +import { createApp } from "vue"; +import PrimeVue from 'primevue/config'; +import App from "./App.vue"; +import { invoke } from "@tauri-apps/api/tauri"; + +import { v4 as uuidv4 } from 'uuid'; + +import ToastService from 'primevue/toastservice'; + + +const pinia = createPinia() + +export enum NetworkingMethod { + PublicServer = "PublicServer", + Manual = "Manual", + Standalone = "Standalone", +} + +export interface NetworkConfig { + instance_id: string, + + virtual_ipv4: string + network_name: string + network_secret: string + + networking_method: NetworkingMethod, + + public_server_url: string, + peer_urls: Array, + + proxy_cidrs: Array, + + enable_vpn_portal: boolean, + vpn_portal_listne_port: number, + vpn_portal_client_network_addr: string, + vpn_portal_client_network_len: number, + + advanced_settings: boolean, + + listener_urls: Array, + rpc_port: number, +} + +function default_network(): NetworkConfig { + return { + instance_id: uuidv4(), + + virtual_ipv4: "", + network_name: "default", + network_secret: "", + + networking_method: NetworkingMethod.PublicServer, + + public_server_url: "tcp://easytier.public.kkrainbow.top:11010", + peer_urls: [], + + proxy_cidrs: [], + + enable_vpn_portal: false, + vpn_portal_listne_port: 22022, + vpn_portal_client_network_addr: "", + vpn_portal_client_network_len: 24, + + advanced_settings: false, + + listener_urls: [ + "tcp://0.0.0.0:11010", + "udp://0.0.0.0:11010", + "wg://0.0.0.0:11011", + ], + rpc_port: 15888, + } +} + +export interface NetworkInstance { + instance_id: string, + + running: boolean, + error_msg: string, + + detail: any, +} + +export const useNetworkStore = defineStore('network', { + state: () => { + const networkList = [default_network()]; + return { + // for initially empty lists + networkList: networkList as NetworkConfig[], + // for data that is not yet loaded + curNetwork: networkList[0], + + // uuid -> instance + instances: {} as Record, + + networkInfos: {} as Record, + } + }, + + getters: { + lastNetwork(): NetworkConfig { + return this.networkList[this.networkList.length - 1]; + }, + + curNetworkId(): string { + return this.curNetwork.instance_id; + }, + + networkInstances(): Array { + return Object.values(this.instances); + }, + + networkInstanceIds(): Array { + return Object.keys(this.instances); + } + }, + + actions: { + addNewNetwork() { + this.networkList.push(default_network()); + }, + + delCurNetwork() { + const curNetworkIdx = this.networkList.indexOf(this.curNetwork); + this.networkList.splice(curNetworkIdx, 1); + const nextCurNetworkIdx = Math.min(curNetworkIdx, this.networkList.length - 1); + this.curNetwork = this.networkList[nextCurNetworkIdx]; + }, + + removeNetworkInstance(instanceId: string) { + delete this.instances[instanceId]; + }, + + addNetworkInstance(instanceId: string) { + this.instances[instanceId] = { + instance_id: instanceId, + running: false, + error_msg: "", + detail: {}, + }; + }, + + updateWithNetworkInfos(networkInfos: Record) { + this.networkInfos = networkInfos; + for (const [instanceId, info] of Object.entries(networkInfos)) { + if (this.instances[instanceId] === undefined) { + this.addNetworkInstance(instanceId); + } + this.instances[instanceId].running = info["running"]; + this.instances[instanceId].error_msg = info["error_msg"]; + this.instances[instanceId].detail = info; + } + }, + + loadFromLocalStorage() { + const networkList = JSON.parse(localStorage.getItem("networkList") || '[]'); + let result = []; + for (const cfg of networkList) { + result.push({ + ...default_network(), + ...cfg, + }); + } + if (result.length === 0) { + result.push(default_network()); + } + this.networkList = result; + this.curNetwork = this.networkList[0]; + }, + + saveToLocalStroage() { + localStorage.setItem("networkList", JSON.stringify(this.networkList)); + } + } +}) + +export async function parseNetworkConfig(cfg: NetworkConfig): Promise { + const ret: string = await invoke("parse_network_config", { cfg: JSON.stringify(cfg) }); + return ret; +} + +export async function runNetworkInstance(cfg: NetworkConfig) { + const ret: string = await invoke("run_network_instance", { cfg: JSON.stringify(cfg) }); + return ret; +} + +export async function retainNetworkInstance(instanceIds: Array) { + const ret: string = await invoke("retain_network_instance", { instanceIds: JSON.stringify(instanceIds) }); + return ret; +} + +export async function collectNetworkInfos() { + const ret: string = await invoke("collect_network_infos", {}); + return JSON.parse(ret); +} + +import { createI18n } from 'vue-i18n' + +const messages = { + en: { + "network": "Network", + "networking_method": "Networking Method", + "public_server": "Public Server", + "manual": "Manual", + "standalone": "Standalone", + "virtual_ipv4": "Virtual IPv4", + "network_name": "Network Name", + "network_secret": "Network Secret", + "public_server_url": "Public Server URL", + "peer_urls": "Peer URLs", + "proxy_cidrs": "Subnet Proxy CIDRs", + "enable_vpn_portal": "Enable VPN Portal", + "vpn_portal_listen_port": "VPN Portal Listen Port", + "vpn_portal_client_network": "Client Sub Network", + "advanced_settings": "Advanced Settings", + "listener_urls": "Listener URLs", + "rpc_port": "RPC Port", + "config_network": "Config Network", + "running": "Running", + "error_msg": "Error Message", + "detail": "Detail", + "add_new_network": "Add New Network", + "del_cur_network": "Delete Current Network", + "select_network": "Select Network", + "network_instances": "Network Instances", + "instance_id": "Instance ID", + "network_infos": "Network Infos", + "parse_network_config": "Parse Network Config", + "run_network_instance": "Run Network Instance", + "retain_network_instance": "Retain Network Instance", + "collect_network_infos": "Collect Network Infos", + "settings": "Settings", + "exchange_language": "切换中文", + "exit": "Exit", + + "chips_placeholder": "e.g: {0}, press Enter to add", + "off_text": "Press to disable", + "on_text": "Press to enable", + + "show_config": "Show Config", + "close": "Close", + + "my_node_info": "My Node Info", + "peer_count": "Connected", + "upload": "Upload", + "download": "Download", + "show_vpn_portal_config": "Show VPN Portal Config", + "show_event_log": "Show Event Log", + "peer_info": "Peer Info", + "route_cost": "Route Cost", + "hostname": "Hostname", + "latency": "Latency", + "upload_bytes": "Upload", + "download_bytes": "Download", + "loss_rate": "Loss Rate", + }, + cn: { + "network": "网络", + "networking_method": "网络方式", + "public_server": "公共服务器", + "manual": "手动", + "standalone": "独立", + "virtual_ipv4": "虚拟IPv4地址", + "network_name": "网络名称", + "network_secret": "网络密码", + "public_server_url": "公共服务器地址", + "peer_urls": "对等节点地址", + "proxy_cidrs": "子网代理CIDR", + "enable_vpn_portal": "启用VPN门户", + "vpn_portal_listen_port": "监听端口", + "vpn_portal_client_network": "客户端子网", + "advanced_settings": "高级设置", + "listener_urls": "监听地址", + "rpc_port": "RPC端口", + "config_network": "配置网络", + "running": "运行中", + "error_msg": "错误信息", + "detail": "详情", + "add_new_network": "添加新网络", + "del_cur_network": "删除当前网络", + "select_network": "选择网络", + "network_instances": "网络实例", + "instance_id": "实例ID", + "network_infos": "网络信息", + "parse_network_config": "解析网络配置", + "run_network_instance": "运行网络实例", + "retain_network_instance": "保留网络实例", + "collect_network_infos": "收集网络信息", + "settings": "设置", + "exchange_language": "Switch to English", + "exit": "退出", + "chips_placeholder": "例如: {0}, 按回车添加", + "off_text": "点击关闭", + "on_text": "点击开启", + "show_config": "显示配置", + "close": "关闭", + + "my_node_info": "当前节点信息", + "peer_count": "已连接", + "upload": "上传", + "download": "下载", + "show_vpn_portal_config": "显示VPN门户配置", + "show_event_log": "显示事件日志", + "peer_info": "节点信息", + "hostname": "主机名", + "route_cost": "路由", + "latency": "延迟", + "upload_bytes": "上传", + "download_bytes": "下载", + "loss_rate": "丢包率", + } +} + +function saveLocaleToLocalStorage(locale: string) { + localStorage.setItem("locale", locale); +} + +export function loadLocaleFromLocalStorage(): string { + return localStorage.getItem("locale") || "en"; +} + +export const i18n = createI18n({ + legacy: false, + locale: 'en', // set locale + fallbackLocale: 'cn', // set fallback locale + messages, +}) + +export function changeLocale(locale: 'en' | 'cn') { + i18n.global.locale.value = locale; + saveLocaleToLocalStorage(locale); +} + +const app = createApp(App); +app.use(i18n, { useScope: 'global' }) +app.use(pinia) +app.use(PrimeVue); +app.use(ToastService); +app.mount("#app"); + +export const router = createRouter({ + history: createMemoryHistory(), + routes: [{ path: "/", component: App }] +}); diff --git a/easytier-gui/src/styles.css b/easytier-gui/src/styles.css new file mode 100644 index 0000000..99fb8a4 --- /dev/null +++ b/easytier-gui/src/styles.css @@ -0,0 +1,33 @@ +@layer tailwind-base, primevue, tailwind-utilities; + +@layer tailwind-base { + @tailwind base; +} + +@layer tailwind-utilities { + @tailwind components; + @tailwind utilities; +} + +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 12px; + line-height: 24px; + font-weight: 400; + + color: #0f0f0f; + background-color: white; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +.card { + background: var(--surface-card); + padding: 2rem; + border-radius: 10px; + margin-bottom: 1rem; +} \ No newline at end of file diff --git a/easytier-gui/src/text_list.rs b/easytier-gui/src/text_list.rs deleted file mode 100644 index b743f62..0000000 --- a/easytier-gui/src/text_list.rs +++ /dev/null @@ -1,57 +0,0 @@ -#[derive(Default)] -pub struct TextListOption { - pub hint: String, -} - -pub fn text_list_ui( - ui: &mut egui::Ui, - id: &str, - texts: &mut Vec, - option: Option, -) { - let option = option.unwrap_or_default(); - // convert text vec to (index, text) vec - let mut add_new_item = false; - let mut remove_idxs = vec![]; - - egui::Grid::new(id).max_col_width(200.0).show(ui, |ui| { - for i in 0..texts.len() { - egui::TextEdit::singleline(&mut texts[i]) - .hint_text(&option.hint) - .show(ui); - - ui.horizontal(|ui| { - if ui.button("➖").clicked() { - remove_idxs.push(i); - } - - if i == texts.len() - 1 { - if ui.button("➕").clicked() { - add_new_item = true; - } - } - }); - - ui.end_row(); - } - - if texts.len() == 0 { - if ui.button("➕").clicked() { - add_new_item = true; - } - ui.end_row(); - } - }); - - let new_texts = texts - .iter() - .enumerate() - .filter(|(i, _)| !remove_idxs.contains(i)) - .map(|(_, t)| t.clone()) - .collect::>(); - *texts = new_texts; - - if add_new_item && texts.last().map(|t| !t.is_empty()).unwrap_or(true) { - texts.push("".to_string()); - } -} diff --git a/easytier-gui/src/toggle_switch.rs b/easytier-gui/src/toggle_switch.rs deleted file mode 100644 index 1e51060..0000000 --- a/easytier-gui/src/toggle_switch.rs +++ /dev/null @@ -1,107 +0,0 @@ -//! Source code example of how to create your own widget. -//! This is meant to be read as a tutorial, hence the plethora of comments. - -/// iOS-style toggle switch: -/// -/// ``` text -/// _____________ -/// / /.....\ -/// | |.......| -/// \_______\_____/ -/// ``` -/// -/// ## Example: -/// ``` ignore -/// toggle_ui(ui, &mut my_bool); -/// ``` -pub fn toggle_ui(ui: &mut egui::Ui, on: &mut bool) -> egui::Response { - // Widget code can be broken up in four steps: - // 1. Decide a size for the widget - // 2. Allocate space for it - // 3. Handle interactions with the widget (if any) - // 4. Paint the widget - - // 1. Deciding widget size: - // You can query the `ui` how much space is available, - // but in this example we have a fixed size widget based on the height of a standard button: - let desired_size = ui.spacing().interact_size.y * egui::vec2(2.0, 1.0); - - // 2. Allocating space: - // This is where we get a region of the screen assigned. - // We also tell the Ui to sense clicks in the allocated region. - let (rect, mut response) = ui.allocate_exact_size(desired_size, egui::Sense::click()); - - // 3. Interact: Time to check for clicks! - if response.clicked() { - *on = !*on; - response.mark_changed(); // report back that the value changed - } - - // Attach some meta-data to the response which can be used by screen readers: - response.widget_info(|| egui::WidgetInfo::selected(egui::WidgetType::Checkbox, *on, "")); - - // 4. Paint! - // Make sure we need to paint: - if ui.is_rect_visible(rect) { - // Let's ask for a simple animation from egui. - // egui keeps track of changes in the boolean associated with the id and - // returns an animated value in the 0-1 range for how much "on" we are. - let how_on = ui.ctx().animate_bool(response.id, *on); - // We will follow the current style by asking - // "how should something that is being interacted with be painted?". - // This will, for instance, give us different colors when the widget is hovered or clicked. - let visuals = ui.style().interact_selectable(&response, *on); - // All coordinates are in absolute screen coordinates so we use `rect` to place the elements. - let rect = rect.expand(visuals.expansion); - let radius = 0.5 * rect.height(); - ui.painter() - .rect(rect, radius, visuals.bg_fill, visuals.bg_stroke); - // Paint the circle, animating it from left to right with `how_on`: - let circle_x = egui::lerp((rect.left() + radius)..=(rect.right() - radius), how_on); - let center = egui::pos2(circle_x, rect.center().y); - ui.painter() - .circle(center, 0.75 * radius, visuals.bg_fill, visuals.fg_stroke); - } - - // All done! Return the interaction response so the user can check what happened - // (hovered, clicked, ...) and maybe show a tooltip: - response -} - -/// Here is the same code again, but a bit more compact: -#[allow(dead_code)] -fn toggle_ui_compact(ui: &mut egui::Ui, on: &mut bool) -> egui::Response { - let desired_size = ui.spacing().interact_size.y * egui::vec2(2.0, 1.0); - let (rect, mut response) = ui.allocate_exact_size(desired_size, egui::Sense::click()); - if response.clicked() { - *on = !*on; - response.mark_changed(); - } - response.widget_info(|| egui::WidgetInfo::selected(egui::WidgetType::Checkbox, *on, "")); - - if ui.is_rect_visible(rect) { - let how_on = ui.ctx().animate_bool(response.id, *on); - let visuals = ui.style().interact_selectable(&response, *on); - let rect = rect.expand(visuals.expansion); - let radius = 0.5 * rect.height(); - ui.painter() - .rect(rect, radius, visuals.bg_fill, visuals.bg_stroke); - let circle_x = egui::lerp((rect.left() + radius)..=(rect.right() - radius), how_on); - let center = egui::pos2(circle_x, rect.center().y); - ui.painter() - .circle(center, 0.75 * radius, visuals.bg_fill, visuals.fg_stroke); - } - - response -} - -// A wrapper that allows the more idiomatic usage pattern: `ui.add(toggle(&mut my_bool))` -/// iOS-style toggle switch. -/// -/// ## Example: -/// ``` ignore -/// ui.add(toggle(&mut my_bool)); -/// ``` -pub fn toggle(on: &mut bool) -> impl egui::Widget + '_ { - move |ui: &mut egui::Ui| toggle_ui(ui, on) -} diff --git a/easytier-gui/src/vite-env.d.ts b/easytier-gui/src/vite-env.d.ts new file mode 100644 index 0000000..fc81239 --- /dev/null +++ b/easytier-gui/src/vite-env.d.ts @@ -0,0 +1,7 @@ +/// + +declare module "*.vue" { + import type { DefineComponent } from "vue"; + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/easytier-gui/tailwind.config.js b/easytier-gui/tailwind.config.js new file mode 100644 index 0000000..a28ce71 --- /dev/null +++ b/easytier-gui/tailwind.config.js @@ -0,0 +1,12 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + "./index.html", + "./src/**/*.{vue,js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [], +} + diff --git a/easytier-gui/tsconfig.json b/easytier-gui/tsconfig.json new file mode 100644 index 0000000..f82888f --- /dev/null +++ b/easytier-gui/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/easytier-gui/tsconfig.node.json b/easytier-gui/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/easytier-gui/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/easytier-gui/vite.config.ts b/easytier-gui/vite.config.ts new file mode 100644 index 0000000..596e131 --- /dev/null +++ b/easytier-gui/vite.config.ts @@ -0,0 +1,31 @@ +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; + +import Components from 'unplugin-vue-components/vite'; +import { PrimeVueResolver } from 'unplugin-vue-components/resolvers'; + +// https://vitejs.dev/config/ +export default defineConfig(async () => ({ + plugins: [ + vue(), + Components({ + dts: true, + resolvers: [ + PrimeVueResolver() + ] + })], + + // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` + // + // 1. prevent vite from obscuring rust errors + clearScreen: false, + // 2. tauri expects a fixed port, fail if that port is not available + server: { + port: 1420, + strictPort: true, + watch: { + // 3. tell vite to ignore watching `src-tauri` + ignored: ["**/src-tauri/**"], + }, + }, +})); diff --git a/easytier-gui/yarn.lock b/easytier-gui/yarn.lock new file mode 100644 index 0000000..3777a46 --- /dev/null +++ b/easytier-gui/yarn.lock @@ -0,0 +1,1663 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@antfu/utils@^0.7.6": + version "0.7.7" + resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz" + integrity sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg== + +"@babel/parser@^7.23.9": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" + integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== + +"@babel/runtime@^7.21.0": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz" + integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== + dependencies: + regenerator-runtime "^0.14.0" + +"@css-render/plugin-bem@^0.15.12": + version "0.15.12" + resolved "https://registry.npmjs.org/@css-render/plugin-bem/-/plugin-bem-0.15.12.tgz" + integrity sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw== + +"@css-render/vue3-ssr@^0.15.10", "@css-render/vue3-ssr@^0.15.12": + version "0.15.12" + resolved "https://registry.npmjs.org/@css-render/vue3-ssr/-/vue3-ssr-0.15.12.tgz" + integrity sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg== + +"@emotion/hash@~0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + +"@intlify/core-base@9.12.0": + version "9.12.0" + resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.12.0.tgz" + integrity sha512-6EnWQXHnCh2bMiXT5N/IWwkcYQXjmF8nnEZ3YhTm23h1ZfOylz83D7pJYhcU8CsTiEdgbGiNdqyZPKwrHw03Ng== + dependencies: + "@intlify/message-compiler" "9.12.0" + "@intlify/shared" "9.12.0" + +"@intlify/message-compiler@9.12.0": + version "9.12.0" + resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.12.0.tgz" + integrity sha512-2c6VwhvVJ1nur+2cN2NjdrmrV6vXjvyxYVvtUYMXKsWSUwoNURHGds0xJVJmWxbF8qV9oGepcVV6xl9bvadEIg== + dependencies: + "@intlify/shared" "9.12.0" + source-map-js "^1.0.2" + +"@intlify/shared@9.12.0": + version "9.12.0" + resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.12.0.tgz" + integrity sha512-uBcH55x5CfZynnerWHQxrXbT6yD6j6T7Nt+R2+dHAOAneoMd6BoGvfEzfYscE94rgmjoDqdr+PdGDBLk5I5EjA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@juggle/resize-observer@^3.3.1": + version "3.4.0" + resolved "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz" + integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@rollup/pluginutils@^5.0.4": + version "5.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rollup/rollup-android-arm-eabi@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz#ca0501dd836894216cb9572848c5dde4bfca3bec" + integrity sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA== + +"@rollup/rollup-android-arm64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz#154ca7e4f815d2e442ffc62ee7f64aee8b2547b0" + integrity sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ== + +"@rollup/rollup-darwin-arm64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz#02b522ab6ccc2c504634651985ff8e657b42c055" + integrity sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q== + +"@rollup/rollup-darwin-x64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz#217737f9f73de729fdfd7d529afebb6c8283f554" + integrity sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA== + +"@rollup/rollup-linux-arm-gnueabihf@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz#a87e478ab3f697c7f4e74c8b1cac1e0667f8f4be" + integrity sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g== + +"@rollup/rollup-linux-arm64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz#4da6830eca27e5f4ca15f9197e5660952ca185c6" + integrity sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w== + +"@rollup/rollup-linux-arm64-musl@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz#0b0ed35720aebc8f5e501d370a9ea0f686ead1e0" + integrity sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw== + +"@rollup/rollup-linux-powerpc64le-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz#024ad04d162726f25e62915851f7df69a9677c17" + integrity sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw== + +"@rollup/rollup-linux-riscv64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz#180694d1cd069ddbe22022bb5b1bead3b7de581c" + integrity sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw== + +"@rollup/rollup-linux-s390x-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz#f7b4e2b0ca49be4e34f9ef0b548c926d94edee87" + integrity sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA== + +"@rollup/rollup-linux-x64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz#0aaf79e5b9ccf7db3084fe6c3f2d2873a27d5af4" + integrity sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA== + +"@rollup/rollup-linux-x64-musl@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz#38f0a37ca5015eb07dff86a1b6f94279c179f4ed" + integrity sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g== + +"@rollup/rollup-win32-arm64-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz#84d48c55740ede42c77373f76e85f368633a0cc3" + integrity sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA== + +"@rollup/rollup-win32-ia32-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz#c1e0bc39e20e760f0a526ddf14ae0543af796605" + integrity sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg== + +"@rollup/rollup-win32-x64-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz" + integrity sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew== + +"@tauri-apps/api@^1": + version "1.5.3" + resolved "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz" + integrity sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA== + +"@tauri-apps/cli-darwin-arm64@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.11.tgz#a831f98f685148e46e8050dbdddbf4bcdda9ddc6" + integrity sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A== + +"@tauri-apps/cli-darwin-x64@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.11.tgz#0afae17fe1e84b9699a6b9824cd83b60c6ebfa59" + integrity sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag== + +"@tauri-apps/cli-linux-arm-gnueabihf@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.11.tgz#c46166d7f6c1022105a13d530b1d1336f628981f" + integrity sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ== + +"@tauri-apps/cli-linux-arm64-gnu@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.11.tgz#fd5c539a03371e0ab6cd00563dced1610ceb8943" + integrity sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ== + +"@tauri-apps/cli-linux-arm64-musl@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.11.tgz#bf7f940c3aca981d7c240857a86568d5b6e8310f" + integrity sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg== + +"@tauri-apps/cli-linux-x64-gnu@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.11.tgz#17323105e3863a3f36d51771e642e489037ba59b" + integrity sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw== + +"@tauri-apps/cli-linux-x64-musl@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.11.tgz#83e22026771ec8ab094922ab114a7385532aa16c" + integrity sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w== + +"@tauri-apps/cli-win32-arm64-msvc@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.11.tgz#817874d230fdb09e7211013006a9a22f66ace573" + integrity sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q== + +"@tauri-apps/cli-win32-ia32-msvc@1.5.11": + version "1.5.11" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.11.tgz#dee1a00eb9e216415d9d6ab9386c35849613c560" + integrity sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA== + +"@tauri-apps/cli-win32-x64-msvc@1.5.11": + version "1.5.11" + resolved "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.11.tgz" + integrity sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg== + +"@tauri-apps/cli@^1": + version "1.5.11" + resolved "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.11.tgz" + integrity sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw== + optionalDependencies: + "@tauri-apps/cli-darwin-arm64" "1.5.11" + "@tauri-apps/cli-darwin-x64" "1.5.11" + "@tauri-apps/cli-linux-arm-gnueabihf" "1.5.11" + "@tauri-apps/cli-linux-arm64-gnu" "1.5.11" + "@tauri-apps/cli-linux-arm64-musl" "1.5.11" + "@tauri-apps/cli-linux-x64-gnu" "1.5.11" + "@tauri-apps/cli-linux-x64-musl" "1.5.11" + "@tauri-apps/cli-win32-arm64-msvc" "1.5.11" + "@tauri-apps/cli-win32-ia32-msvc" "1.5.11" + "@tauri-apps/cli-win32-x64-msvc" "1.5.11" + +"@types/estree@1.0.5", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/katex@^0.16.2": + version "0.16.7" + resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" + integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== + +"@types/lodash-es@^4.17.9": + version "4.17.12" + resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.198": + version "4.17.0" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz" + integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== + +"@types/uuid@^9.0.8": + version "9.0.8" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + +"@vitejs/plugin-vue@^5.0.4": + version "5.0.4" + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz" + integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ== + +"@volar/language-core@1.11.1", "@volar/language-core@~1.11.1": + version "1.11.1" + resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz" + integrity sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw== + dependencies: + "@volar/source-map" "1.11.1" + +"@volar/source-map@1.11.1", "@volar/source-map@~1.11.1": + version "1.11.1" + resolved "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz" + integrity sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg== + dependencies: + muggle-string "^0.3.1" + +"@volar/typescript@~1.11.1": + version "1.11.1" + resolved "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz" + integrity sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ== + dependencies: + "@volar/language-core" "1.11.1" + path-browserify "^1.0.1" + +"@vue/compiler-core@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz" + integrity sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.21" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.21", "@vue/compiler-dom@^3.3.0": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz" + integrity sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA== + dependencies: + "@vue/compiler-core" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/compiler-sfc@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz" + integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.21" + "@vue/compiler-dom" "3.4.21" + "@vue/compiler-ssr" "3.4.21" + "@vue/shared" "3.4.21" + estree-walker "^2.0.2" + magic-string "^0.30.7" + postcss "^8.4.35" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz" + integrity sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q== + dependencies: + "@vue/compiler-dom" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/devtools-api@^6.5.0", "@vue/devtools-api@^6.5.1": + version "6.6.1" + resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz" + integrity sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA== + +"@vue/language-core@1.8.27": + version "1.8.27" + resolved "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz" + integrity sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA== + dependencies: + "@volar/language-core" "~1.11.1" + "@volar/source-map" "~1.11.1" + "@vue/compiler-dom" "^3.3.0" + "@vue/shared" "^3.3.0" + computeds "^0.0.1" + minimatch "^9.0.3" + muggle-string "^0.3.1" + path-browserify "^1.0.1" + vue-template-compiler "^2.7.14" + +"@vue/reactivity@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz" + integrity sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw== + dependencies: + "@vue/shared" "3.4.21" + +"@vue/runtime-core@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz" + integrity sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA== + dependencies: + "@vue/reactivity" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/runtime-dom@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz" + integrity sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw== + dependencies: + "@vue/runtime-core" "3.4.21" + "@vue/shared" "3.4.21" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz" + integrity sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg== + dependencies: + "@vue/compiler-ssr" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/shared@3.4.21", "@vue/shared@^3.3.0": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz" + integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g== + +acorn@^8.11.3: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +autoprefixer@^10.4.19: + version "10.4.19" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + dependencies: + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: + version "1.0.30001606" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz" + integrity sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg== + +chokidar@^3.5.3, chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +computeds@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz" + integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-render@^0.15.10, css-render@^0.15.12: + version "0.15.12" + resolved "https://registry.npmjs.org/css-render/-/css-render-0.15.12.tgz" + integrity sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw== + dependencies: + "@emotion/hash" "~0.8.0" + csstype "~3.0.5" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +csstype@~3.0.5: + version "3.0.11" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz" + integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== + +date-fns-tz@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-2.0.1.tgz" + integrity sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA== + +date-fns@^2.30.0: + version "2.30.0" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.4.668: + version "1.4.729" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.729.tgz" + integrity sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +evtd@^0.2.2, evtd@^0.2.4: + version "0.2.4" + resolved "https://registry.npmjs.org/evtd/-/evtd-0.2.4.tgz" + integrity sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw== + +fast-glob@^3.3.0, fast-glob@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^10.3.10: + version "10.3.12" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz" + integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.6" + minimatch "^9.0.1" + minipass "^7.0.4" + path-scurry "^1.10.2" + +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@^11.8.0: + version "11.9.0" + resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz" + integrity sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^2.3.6: + version "2.3.6" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jiti@^1.21.0: + version "1.21.0" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^10.2.0: + version "10.2.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.30.3, magic-string@^0.30.7: + version "0.30.9" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz" + integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: + version "7.0.4" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +muggle-string@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz" + integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +naive-ui@^2.38.1: + version "2.38.1" + resolved "https://registry.npmjs.org/naive-ui/-/naive-ui-2.38.1.tgz" + integrity sha512-AnU1FQ7K/CbhguAX++V4kCFjk7h7RvWt4nvZPRjORMpq+fUIlzD+EcQ5Cv1VqDloNF8+eMv4Akc2Ogacc9S+5A== + dependencies: + "@css-render/plugin-bem" "^0.15.12" + "@css-render/vue3-ssr" "^0.15.12" + "@types/katex" "^0.16.2" + "@types/lodash" "^4.14.198" + "@types/lodash-es" "^4.17.9" + async-validator "^4.2.5" + css-render "^0.15.12" + csstype "^3.1.3" + date-fns "^2.30.0" + date-fns-tz "^2.0.0" + evtd "^0.2.4" + highlight.js "^11.8.0" + lodash "^4.17.21" + lodash-es "^4.17.21" + seemly "^0.3.8" + treemate "^0.3.11" + vdirs "^0.1.8" + vooks "^0.2.12" + vueuc "^0.4.58" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.2: + version "1.10.2" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz" + integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pinia@^2.1.7: + version "2.1.7" + resolved "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz" + integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + vue-demi ">=0.14.5" + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== + dependencies: + postcss-selector-parser "^6.0.11" + +postcss-selector-parser@^6.0.11: + version "6.0.16" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.23, postcss@^8.4.35, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +primeflex@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/primeflex/-/primeflex-3.3.1.tgz" + integrity sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ== + +primeicons@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/primeicons/-/primeicons-7.0.0.tgz" + integrity sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw== + +primevue@^3.51.0: + version "3.51.0" + resolved "https://registry.npmjs.org/primevue/-/primevue-3.51.0.tgz" + integrity sha512-BdMveidLSr0fNJ5+mxuke8mMCHyiXwvfDP4iwPr6R98rl3E0Wcm1u4/RKVrL7o0Iq606SXyhPQL3LGyAfXngcA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +resolve@^1.1.7, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^4.13.0: + version "4.14.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.14.1.tgz" + integrity sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.14.1" + "@rollup/rollup-android-arm64" "4.14.1" + "@rollup/rollup-darwin-arm64" "4.14.1" + "@rollup/rollup-darwin-x64" "4.14.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.14.1" + "@rollup/rollup-linux-arm64-gnu" "4.14.1" + "@rollup/rollup-linux-arm64-musl" "4.14.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.14.1" + "@rollup/rollup-linux-riscv64-gnu" "4.14.1" + "@rollup/rollup-linux-s390x-gnu" "4.14.1" + "@rollup/rollup-linux-x64-gnu" "4.14.1" + "@rollup/rollup-linux-x64-musl" "4.14.1" + "@rollup/rollup-win32-arm64-msvc" "4.14.1" + "@rollup/rollup-win32-ia32-msvc" "4.14.1" + "@rollup/rollup-win32-x64-msvc" "4.14.1" + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +seemly@^0.3.6, seemly@^0.3.8: + version "0.3.8" + resolved "https://registry.npmjs.org/seemly/-/seemly-0.3.8.tgz" + integrity sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA== + +semver@^7.5.4: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +source-map-js@^1.0.2, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwindcss@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz" + integrity sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +treemate@^0.3.11: + version "0.3.11" + resolved "https://registry.npmjs.org/treemate/-/treemate-0.3.11.tgz" + integrity sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +typescript@^5.0.2: + version "5.4.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz" + integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== + +unplugin-vue-components@^0.26.0: + version "0.26.0" + resolved "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.26.0.tgz" + integrity sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ== + dependencies: + "@antfu/utils" "^0.7.6" + "@rollup/pluginutils" "^5.0.4" + chokidar "^3.5.3" + debug "^4.3.4" + fast-glob "^3.3.1" + local-pkg "^0.4.3" + magic-string "^0.30.3" + minimatch "^9.0.3" + resolve "^1.22.4" + unplugin "^1.4.0" + +unplugin@^1.4.0: + version "1.10.1" + resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz" + integrity sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg== + dependencies: + acorn "^8.11.3" + chokidar "^3.6.0" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.6.1" + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +vdirs@^0.1.4, vdirs@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/vdirs/-/vdirs-0.1.8.tgz" + integrity sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw== + dependencies: + evtd "^0.2.2" + +vfonts@^0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/vfonts/-/vfonts-0.0.3.tgz" + integrity sha512-nguyw8L6Un8eelg1vQ31vIU2ESxqid7EYmy8V+MDeMaHBqaRSkg3dTBToC1PR00D89UzS/SLkfYPnx0Wf23IQQ== + +vite@^5.0.0: + version "5.2.8" + resolved "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz" + integrity sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA== + dependencies: + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +vooks@^0.2.12, vooks@^0.2.4: + version "0.2.12" + resolved "https://registry.npmjs.org/vooks/-/vooks-0.2.12.tgz" + integrity sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q== + dependencies: + evtd "^0.2.2" + +vue-demi@>=0.14.5: + version "0.14.7" + resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz" + integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA== + +vue-i18n@^9.12.0: + version "9.12.0" + resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.12.0.tgz" + integrity sha512-rUxCKTws8NH3XP98W71GA7btAQdAuO7j6BC5y5s1bTNQYo/CIgZQf+p7d1Zo5bo/3v8TIq9aSUMDjpfgKsC3Uw== + dependencies: + "@intlify/core-base" "9.12.0" + "@intlify/shared" "9.12.0" + "@vue/devtools-api" "^6.5.0" + +vue-router@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz" + integrity sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ== + dependencies: + "@vue/devtools-api" "^6.5.1" + +vue-template-compiler@^2.7.14: + version "2.7.16" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz" + integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-tsc@^1.8.5: + version "1.8.27" + resolved "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz" + integrity sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg== + dependencies: + "@volar/typescript" "~1.11.1" + "@vue/language-core" "1.8.27" + semver "^7.5.4" + +vue@^3.3.4: + version "3.4.21" + resolved "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz" + integrity sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA== + dependencies: + "@vue/compiler-dom" "3.4.21" + "@vue/compiler-sfc" "3.4.21" + "@vue/runtime-dom" "3.4.21" + "@vue/server-renderer" "3.4.21" + "@vue/shared" "3.4.21" + +vueuc@^0.4.58: + version "0.4.58" + resolved "https://registry.npmjs.org/vueuc/-/vueuc-0.4.58.tgz" + integrity sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg== + dependencies: + "@css-render/vue3-ssr" "^0.15.10" + "@juggle/resize-observer" "^3.3.1" + css-render "^0.15.10" + evtd "^0.2.4" + seemly "^0.3.6" + vdirs "^0.1.4" + vooks "^0.2.4" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz" + integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.3.4: + version "2.4.1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz" + integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg== diff --git a/easytier/src/common/config.rs b/easytier/src/common/config.rs index 99a300d..b4cae4d 100644 --- a/easytier/src/common/config.rs +++ b/easytier/src/common/config.rs @@ -9,6 +9,7 @@ use serde::{Deserialize, Serialize}; #[auto_impl::auto_impl(Box, &)] pub trait ConfigLoader: Send + Sync { fn get_id(&self) -> uuid::Uuid; + fn set_id(&self, id: uuid::Uuid); fn get_inst_name(&self) -> String; fn set_inst_name(&self, name: String); @@ -111,7 +112,7 @@ pub struct Flags { struct Config { netns: Option, instance_name: Option, - instance_id: Option, + instance_id: Option, ipv4: Option, network_identity: Option, listeners: Option>, @@ -246,21 +247,17 @@ impl ConfigLoader for TomlConfigLoader { let mut locked_config = self.config.lock().unwrap(); if locked_config.instance_id.is_none() { let id = uuid::Uuid::new_v4(); - locked_config.instance_id = Some(id.to_string()); + locked_config.instance_id = Some(id); id } else { - uuid::Uuid::parse_str(locked_config.instance_id.as_ref().unwrap()) - .with_context(|| { - format!( - "failed to parse instance id as uuid: {}, you can use this id: {}", - locked_config.instance_id.as_ref().unwrap(), - uuid::Uuid::new_v4() - ) - }) - .unwrap() + locked_config.instance_id.as_ref().unwrap().clone() } } + fn set_id(&self, id: uuid::Uuid) { + self.config.lock().unwrap().instance_id = Some(id); + } + fn get_network_identity(&self) -> NetworkIdentity { self.config .lock() diff --git a/easytier/src/common/global_ctx.rs b/easytier/src/common/global_ctx.rs index 8b342bb..f4a62d5 100644 --- a/easytier/src/common/global_ctx.rs +++ b/easytier/src/common/global_ctx.rs @@ -13,7 +13,7 @@ use super::{ pub type NetworkIdentity = crate::common::config::NetworkIdentity; -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)] pub enum GlobalCtxEvent { TunDeviceReady(String), diff --git a/easytier/src/utils.rs b/easytier/src/utils.rs index b5d4539..be3f047 100644 --- a/easytier/src/utils.rs +++ b/easytier/src/utils.rs @@ -1,6 +1,8 @@ +use serde::{Deserialize, Serialize}; + use crate::rpc::cli::{NatType, PeerInfo, Route}; -#[derive(Debug)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct PeerRoutePair { pub route: Route, pub peer: Option,