diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 72e9c7a1..34698b80 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -11,10 +11,32 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
- - name: Dart and Flutter Package Publisher
+ - name: Replace symlinks before publish
+ run: ./scripts/replace_symlinks_before_publish.sh
+
+ - name: Publish agent_dart
+ uses: k-paxian/dart-package-publisher@master
+ with:
+ credentialJson: ${{ secrets.CREDENTIAL_JSON }}
+ force: true
+ relativePath: packages/agent_dart
+ skipTests: true
+ suppressBuildRunner: true
+
+ - name: Publish agent_dart_base
+ uses: k-paxian/dart-package-publisher@master
+ with:
+ credentialJson: ${{ secrets.CREDENTIAL_JSON }}
+ force: true
+ relativePath: packages/agent_dart_base
+ skipTests: true
+ suppressBuildRunner: true
+
+ - name: Publish agent_dart_ffi
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
force: true
+ relativePath: packages/agent_dart_ffi
skipTests: true
suppressBuildRunner: true
diff --git a/.github/workflows/runnable.yml b/.github/workflows/runnable.yml
index 408cb371..74792ea6 100644
--- a/.github/workflows/runnable.yml
+++ b/.github/workflows/runnable.yml
@@ -14,19 +14,25 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
+ os: [macos-latest]
steps:
- uses: actions/checkout@v3
+ - uses: dtolnay/rust-toolchain@stable
+ with:
+ toolchain: stable
+ components: rustfmt, clippy
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
- java-version: '11'
+ java-version: '17'
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- - run: dart --version
- - run: flutter --version
- - run: flutter pub get
- - run: flutter test ./test/agent_dart_test.dart # This is the only test that's runnable on actions.
- - run: dart pub publish --dry-run
+ - uses: bluefireteam/melos-action@v3
+ - name: Replace symlinks
+ run: ./scripts/replace_symlinks_before_publish.sh
+ - run: cargo build --package=agent_dart
+ - run: cd packages/agent_dart_base && dart test ./test/agent_dart_base_test.dart
+ - name: Publish dry run
+ run: melos run publish-dry-run
if: github.repository == 'AstroxNetwork/agent_dart'
diff --git a/.gitignore b/.gitignore
index 84d6396b..8527aaa2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,6 @@
.dart_tool/
.idea/
.vscode/
-.iml
.packages
.pub/
@@ -10,21 +9,31 @@
build/
.env
-pubspec.lock
-rust/target
-rust/Cargo.lock
+# Miscellaneous
+*.class
+*.log
+*.pyc
+*.swp
+.atom/
+.buildlog/
+.history
+.svn/
-_main.dart
+# IntelliJ related
+*.ipr
+*.iws
+
+# Flutter/Dart/Pub related
+pubspec_overrides.yaml
+**/doc/api/
+.pub-cache/
+.flutter-plugins
+.flutter-plugins-dependencies
+**/pubspec.lock
# build files
/platform-build/
/target/
-# rust/headers/
-# rust/dylib/
-# macos/cli/
-# macos/libagent_dart.a
-# ios/libagent_dart.a
-# android/src/main/jniLibs/
-# linux/libagent_dart.so
-# windows/agent_dart.dll
+/Cargo.lock
+/platform-build
diff --git a/.pubignore b/.pubignore
deleted file mode 100644
index d0d88e7c..00000000
--- a/.pubignore
+++ /dev/null
@@ -1,31 +0,0 @@
-.DS_Store
-.dart_tool/
-.idea/
-.vscode/
-.iml
-
-.packages
-.pub/
-
-build/
-example/build
-
-.env
-pubspec.lock
-
-rust/target
-rust/Cargo.lock
-
-_main.dart
-
-# build files
-/platform-build/
-/target/
-/test/_dylib/
-
-# Specified to pub.dev
-/.github/
-/rust/
-/protobuf/
-/scripts/
-/CODEOWNERS
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d38d1421..4d69bc79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ that can be found in the LICENSE file. -->
# Changelog
+## 1.0.0-dev.25
+
+- Prepare for monorepo.
+
## 1.0.0-dev.24
- Implement subaccount as `Principal.subAccount`, which also removes the `subAccount` parameter
diff --git a/Cargo.lock b/Cargo.lock
deleted file mode 100644
index ddefd358..00000000
--- a/Cargo.lock
+++ /dev/null
@@ -1,2033 +0,0 @@
-# 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.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
-dependencies = [
- "cfg-if",
- "cipher 0.3.0",
- "cpufeatures",
- "ctr 0.8.0",
- "opaque-debug",
-]
-
-[[package]]
-name = "aes"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
-dependencies = [
- "cfg-if",
- "cipher 0.4.4",
- "cpufeatures",
-]
-
-[[package]]
-name = "aes-gcm"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
-dependencies = [
- "aead",
- "aes 0.8.3",
- "cipher 0.4.4",
- "ctr 0.9.2",
- "ghash",
- "subtle",
-]
-
-[[package]]
-name = "agent_dart"
-version = "0.0.1"
-dependencies = [
- "aes 0.7.5",
- "aes-gcm",
- "anyhow",
- "bip32",
- "bip39",
- "block-modes",
- "bytebuffer",
- "ed_compact",
- "flutter_rust_bridge",
- "flutter_rust_bridge_codegen",
- "flutter_rust_bridge_macros",
- "hmac",
- "k256",
- "p256",
- "pbkdf2",
- "rand",
- "scrypt",
- "serde",
- "serde_bytes",
- "serde_cbor",
- "serde_json",
- "serde_with",
- "sha2 0.10.8",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "allo-isolate"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f56b7997817c178b853573e8bdfb6c3afe02810b43f17d766d6703560074b0c3"
-dependencies = [
- "anyhow",
- "atomic",
- "backtrace",
- "chrono",
-]
-
-[[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.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
-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.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-dependencies = [
- "windows-sys",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
-dependencies = [
- "anstyle",
- "windows-sys",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
-dependencies = [
- "backtrace",
-]
-
-[[package]]
-name = "atomic"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "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 = "base16ct"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
-
-[[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
-name = "bip32"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30ed1d6f8437a487a266c8293aeb95b61a23261273e3e02912cdb8b68bf798b"
-dependencies = [
- "bs58",
- "hmac",
- "k256",
- "once_cell",
- "pbkdf2",
- "rand_core 0.6.4",
- "ripemd",
- "sha2 0.10.8",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "bip39"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29b9e657de8ff1c3488a4ab77cb51d604eab53415ce34f0bc800f2eac9b13c28"
-dependencies = [
- "bitcoin_hashes",
- "rand_core 0.4.2",
- "serde",
- "unicode-normalization",
-]
-
-[[package]]
-name = "bitcoin_hashes"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4"
-
-[[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.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array",
-]
-
-[[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 = "block-modes"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e"
-dependencies = [
- "block-padding",
- "cipher 0.3.0",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
-[[package]]
-name = "bs58"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
-dependencies = [
- "sha2 0.9.9",
-]
-
-[[package]]
-name = "build-target"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b"
-
-[[package]]
-name = "bumpalo"
-version = "3.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
-
-[[package]]
-name = "bytebuffer"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e822a21389d388828152aeae8bb43049196b09076e2a138f53351d8cf6576cf3"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "bytemuck"
-version = "1.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
-
-[[package]]
-name = "byteorder"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29b2aa490a8f546381308d68fc79e6bd753cd3ad839f7a7172897f1feedfa175"
-
-[[package]]
-name = "camino"
-version = "1.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "cargo-platform"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "cargo_metadata"
-version = "0.14.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
-dependencies = [
- "camino",
- "cargo-platform",
- "semver",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "cbindgen"
-version = "0.24.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
-dependencies = [
- "clap 3.2.25",
- "heck",
- "indexmap",
- "log",
- "proc-macro2",
- "quote",
- "serde",
- "serde_json",
- "syn 1.0.109",
- "tempfile",
- "toml",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "js-sys",
- "num-traits",
- "wasm-bindgen",
- "windows-targets",
-]
-
-[[package]]
-name = "cipher"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
-]
-
-[[package]]
-name = "clap"
-version = "3.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "atty",
- "bitflags 1.3.2",
- "clap_lex 0.2.4",
- "indexmap",
- "strsim",
- "termcolor",
- "textwrap",
-]
-
-[[package]]
-name = "clap"
-version = "4.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex 0.5.1",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "colored"
-version = "1.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355"
-dependencies = [
- "is-terminal",
- "lazy_static",
- "winapi",
-]
-
-[[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "const-oid"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
-
-[[package]]
-name = "convert_case"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-bigint"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
-dependencies = [
- "generic-array",
- "rand_core 0.6.4",
- "subtle",
- "zeroize",
-]
-
-[[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 = "ct-codecs"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
-
-[[package]]
-name = "ctr"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
-dependencies = [
- "cipher 0.3.0",
-]
-
-[[package]]
-name = "ctr"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
-dependencies = [
- "cipher 0.4.4",
-]
-
-[[package]]
-name = "darling"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2",
- "quote",
- "strsim",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
-dependencies = [
- "darling_core",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "dart-sys"
-version = "4.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d8b5680b5c2cc52f50acb2457d9b3a3b58adcca785db13a0e3655626f601de6"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "delegate-attr"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "der"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
-dependencies = [
- "const-oid",
- "pem-rfc7468",
- "zeroize",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer 0.10.4",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "ecdsa"
-version = "0.14.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c"
-dependencies = [
- "der",
- "elliptic-curve",
- "rfc6979",
- "signature",
-]
-
-[[package]]
-name = "ed25519"
-version = "1.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7"
-dependencies = [
- "signature",
-]
-
-[[package]]
-name = "ed_compact"
-version = "0.1.0"
-dependencies = [
- "ct-codecs",
- "ed25519",
- "flutter_rust_bridge_codegen",
- "flutter_rust_bridge_macros",
- "getrandom",
-]
-
-[[package]]
-name = "either"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
-
-[[package]]
-name = "elliptic-curve"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
-dependencies = [
- "base16ct",
- "crypto-bigint",
- "der",
- "digest 0.10.7",
- "ff",
- "generic-array",
- "group",
- "hkdf",
- "pem-rfc7468",
- "pkcs8",
- "rand_core 0.6.4",
- "sec1",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "enum-iterator"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689"
-dependencies = [
- "enum-iterator-derive",
-]
-
-[[package]]
-name = "enum-iterator-derive"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "enum_dispatch"
-version = "0.3.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
-dependencies = [
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
-
-[[package]]
-name = "fern"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee"
-dependencies = [
- "chrono",
- "colored",
- "log",
-]
-
-[[package]]
-name = "ff"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
-dependencies = [
- "rand_core 0.6.4",
- "subtle",
-]
-
-[[package]]
-name = "flutter_rust_bridge"
-version = "1.82.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23a5a7a1cd030cd63f53eafe2496eb4e40f520800e6e9b78cae6f3f3ba7f3c2b"
-dependencies = [
- "allo-isolate",
- "anyhow",
- "backtrace",
- "build-target",
- "bytemuck",
- "cc",
- "chrono",
- "console_error_panic_hook",
- "dart-sys",
- "flutter_rust_bridge_macros",
- "js-sys",
- "lazy_static",
- "libc",
- "log",
- "parking_lot",
- "threadpool",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "flutter_rust_bridge_codegen"
-version = "1.82.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5cefe80a6230c66eff7172db1d3979071ad0091b657ad6b683e692dee7875c8"
-dependencies = [
- "anyhow",
- "atty",
- "cargo_metadata",
- "cbindgen",
- "chrono",
- "clap 4.4.6",
- "convert_case",
- "delegate-attr",
- "enum-iterator",
- "enum_dispatch",
- "fern",
- "itertools",
- "lazy_static",
- "log",
- "pathdiff",
- "quote",
- "regex",
- "serde",
- "serde_yaml",
- "strum_macros",
- "syn 2.0.37",
- "tempfile",
- "thiserror",
- "toml",
- "topological-sort",
-]
-
-[[package]]
-name = "flutter_rust_bridge_macros"
-version = "1.82.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7fe743d921bedf4578b9472346d03a9643a01cd565ca7df7961baebad534ba5"
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "ghash"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
-dependencies = [
- "opaque-debug",
- "polyval",
-]
-
-[[package]]
-name = "gimli"
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
-
-[[package]]
-name = "group"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
-dependencies = [
- "ff",
- "rand_core 0.6.4",
- "subtle",
-]
-
-[[package]]
-name = "half"
-version = "1.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
-
-[[package]]
-name = "hkdf"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
-dependencies = [
- "hmac",
-]
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest 0.10.7",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows",
-]
-
-[[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 = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "inout"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi 0.3.3",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-
-[[package]]
-name = "js-sys"
-version = "0.3.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "k256"
-version = "0.11.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b"
-dependencies = [
- "cfg-if",
- "ecdsa",
- "elliptic-curve",
- "sha2 0.10.8",
- "sha3",
-]
-
-[[package]]
-name = "keccak"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
-dependencies = [
- "cpufeatures",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.148"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
-
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db"
-
-[[package]]
-name = "lock_api"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
-[[package]]
-name = "memchr"
-version = "2.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
-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 0.3.3",
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.32.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "os_str_bytes"
-version = "6.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
-
-[[package]]
-name = "p256"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594"
-dependencies = [
- "ecdsa",
- "elliptic-curve",
- "sha2 0.10.8",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec 1.11.1",
- "windows-targets",
-]
-
-[[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 = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest 0.10.7",
- "hmac",
- "password-hash",
- "sha2 0.10.8",
-]
-
-[[package]]
-name = "pem-rfc7468"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac"
-dependencies = [
- "base64ct",
-]
-
-[[package]]
-name = "pkcs8"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
-dependencies = [
- "der",
- "spki",
-]
-
-[[package]]
-name = "polyval"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.67"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core 0.6.4",
-]
-
-[[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.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "regex"
-version = "1.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "rfc6979"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb"
-dependencies = [
- "crypto-bigint",
- "hmac",
- "zeroize",
-]
-
-[[package]]
-name = "ripemd"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f"
-dependencies = [
- "digest 0.10.7",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustix"
-version = "0.38.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531"
-dependencies = [
- "bitflags 2.4.0",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys",
-]
-
-[[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.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
-
-[[package]]
-name = "salsa20"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
-dependencies = [
- "cipher 0.4.4",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "scrypt"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d"
-dependencies = [
- "hmac",
- "password-hash",
- "pbkdf2",
- "salsa20",
- "sha2 0.10.8",
-]
-
-[[package]]
-name = "sec1"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
-dependencies = [
- "base16ct",
- "der",
- "generic-array",
- "pkcs8",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.188"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_bytes"
-version = "0.11.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "serde_cbor"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
-dependencies = [
- "half",
- "serde",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.188"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.107"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_with"
-version = "1.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
-dependencies = [
- "serde",
- "serde_with_macros",
-]
-
-[[package]]
-name = "serde_with_macros"
-version = "1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "serde_yaml"
-version = "0.8.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
-dependencies = [
- "indexmap",
- "ryu",
- "serde",
- "yaml-rust",
-]
-
-[[package]]
-name = "sha2"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest 0.10.7",
-]
-
-[[package]]
-name = "sha3"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
-dependencies = [
- "digest 0.10.7",
- "keccak",
-]
-
-[[package]]
-name = "signature"
-version = "1.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
-dependencies = [
- "digest 0.10.7",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "smallvec"
-version = "0.6.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
-dependencies = [
- "maybe-uninit",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
-
-[[package]]
-name = "spki"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
-dependencies = [
- "base64ct",
- "der",
-]
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "strum_macros"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 1.0.109",
-]
-
-[[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.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
-dependencies = [
- "cfg-if",
- "fastrand",
- "redox_syscall",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
-name = "thiserror"
-version = "1.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.37",
-]
-
-[[package]]
-name = "threadpool"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
-dependencies = [
- "num_cpus",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "topological-sort"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d"
-
-[[package]]
-name = "typenum"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-
-[[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.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09c8070a9942f5e7cfccd93f490fdebd230ee3c3c9f107cb25bad5351ef671cf"
-dependencies = [
- "smallvec 0.6.14",
-]
-
-[[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 = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 2.0.37",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.37",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.87"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
-
-[[package]]
-name = "web-sys"
-version = "0.3.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "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.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
-
-[[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_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[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_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[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_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
diff --git a/Cargo.toml b/Cargo.toml
index 2277a01c..5e7e9026 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,9 +1,13 @@
[workspace]
members = [
- "rust/agent_dart",
- "rust/ed_compact",
+ "packages/agent_dart_ffi/native/agent_dart",
+ "packages/agent_dart_ffi/native/ed_compact",
+]
+exclude = [
+ "packages/agent_dart/native",
+ "packages/agent_dart_base/native",
]
[profile.release]
lto = true
-opt-level = 'z'
\ No newline at end of file
+opt-level = 'z'
diff --git a/README.md b/README.md
index 6d0d5869..6eb974a3 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
An agent library built for Internet Computer for Dart and Flutter apps.
-**Join the Discord channel: [![Discord](https://img.shields.io/discord/845497925298815036?color=purple&logo=discord&style=flat-square)](https://discord.gg/aNzRuePmUY)**
+**Join the Discord channel: [![Discord](https://img.shields.io/discord/845497925298815036?color=purple&logo=discord&style=flat-square)](https://discord.gg/xRVJfPnKGd)**
---
@@ -13,7 +13,7 @@ An agent library built for Internet Computer for Dart and Flutter apps.
- [Agent Dart](#agent-dart)
- [📃 Table of content](#-table-of-content)
- - [⚡️ Quick start](#️-quick-start)
+ - [⚡️ Quick start](#-quick-start)
- [For Dart/Flutter app](#for-dartflutter-app)
- [For iOS projects](#for-ios-projects)
- [For developing the plugin](#for-developing-the-plugin)
@@ -22,11 +22,11 @@ An agent library built for Internet Computer for Dart and Flutter apps.
- [📖 Documentation](#-documentation)
- [🔧 Helpers/Tooling](#-helperstooling)
- [💡 Examples](#-examples)
- - [🧘♂️ Motivation](#️-motivation)
+ - [🧘♂️ Motivation](#-motivation)
- [🏆 Milestones](#-milestones)
- [👨💻 Contributing](#-contributing)
- [🔗 Reference and related projects](#-reference-and-related-projects)
- - [⚠️ FAQ](#️-faq)
+ - [⚠️ FAQ](#-faq)
- [Build rust libraries for iOS/MacOS](#build-rust-libraries-for-iosmacos)
- [Network problem in macOS](#network-problem-in-macos)
@@ -69,9 +69,7 @@ make sure you've done the following setup the build settings.
## 🚦 Prerequisites
- [CMake](https://cmake.org/) v3.2+
-- [Xcode](https://developer.apple.com/xcode/) v13+
- [Rust](https://www.rust-lang.org/) v1.64+
-- [Node.js](https://nodejs.org/) v16+
## 🧰 Resources
@@ -129,28 +127,20 @@ we will document them as much as possible.
By contributing to agent_dart, you agree that your contributions will be licensed under its MIT License.
1. Fork this library and add your own branch like `{feat|fix|test|dep}-{detail}`.
-
2. Follow the [Prerequisites](#-prerequisites).
-
3. Build rust dependencies for all supported platforms:
-
-```shell
-sh ./scripts/bootstrap
-```
-
+ ```shell
+ sh ./scripts/bootstrap
+ ```
4. Start the example.
-
-```shell
-cd example
-flutter run
-```
-
+ ```shell
+ cd example
+ flutter run
+ ```
5. Tests. (Unit Test and Integration Test)
-
-```shell
-flutter test
-```
-
+ ```shell
+ flutter test
+ ```
6. Commit and make a pull request.
## 🔗 Reference and related projects
diff --git a/agent_dart_workspace.iml b/agent_dart_workspace.iml
new file mode 100644
index 00000000..7fea928f
--- /dev/null
+++ b/agent_dart_workspace.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 721f086b..9611fdcd 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,16 +1,20 @@
include: package:lints/recommended.yaml
analyzer:
+ errors:
+ invalid_annotation_target: ignore
exclude:
- - 'lib/protobuf/**.dart'
- - 'rust/bridge/ffi/**.dart'
+ - 'packages/**/**.g.dart'
+ - 'packages/**/**.freezed.dart'
+ - 'packages/**/bridge_generated.dart'
+ - 'packages/**/types.pb*.dart'
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
linter:
rules:
avoid_print: false
- avoid_redundant_argument_values: true
+ avoid_redundant_argument_values: false
always_declare_return_types: true
directives_ordering: true
prefer_const_constructors: true
@@ -20,8 +24,9 @@ linter:
prefer_final_in_for_each: true
prefer_final_locals: true
prefer_single_quotes: true
- require_trailing_commas: true
+ require_trailing_commas: false
sort_constructors_first: true
sort_unnamed_constructors_first: true
unnecessary_await_in_return: true
+ unnecessary_library_name: false
unnecessary_parenthesis: true
diff --git a/android/.gitignore b/android/.gitignore
deleted file mode 100644
index cabef984..00000000
--- a/android/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.iml
-.gradle
-/local.properties
-.idea/
-.DS_Store
-/build
-/captures
-/src/main/jniLibs/
-/.cxx
diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt
deleted file mode 100644
index 7170d2d0..00000000
--- a/android/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-set(LibraryVersion "agent_dart-v1.0.0") # generated; do not edit
-
-# Unlike the Windows & Linux CMakeLists.txt, this Android equivalent is just here
-# to download the Android binaries into src/main/jniLibs/ and does not build anything.
-# The binary download/extraction is difficult to do concisely in Groovy/Gradle,
-# at least across host platforms, so we are just reusing our Linux/Windows logic.
-
-# The Flutter tooling requires that developers have CMake 3.10 or later
-# installed. You should not increase this version, as doing so will cause
-# the plugin to fail to compile for some customers of the plugin.
-cmake_minimum_required(VERSION 3.10)
-
-# Project-level configuration.
-set(PROJECT_NAME "agent_dart") # Should match the name field in the pubspec.yaml.
-project(PROJECT_NAME)
-
-# Download the binaries if they are not already present.
-set(LibRoot "${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs")
-set(ArchivePath "${CMAKE_CURRENT_SOURCE_DIR}/${LibraryVersion}.tar.gz")
-if(NOT EXISTS ${ArchivePath})
- file(DOWNLOAD
- "https://github.com/AstroxNetwork/agent_dart/releases/download/${LibraryVersion}/android.tar.gz"
- ${ArchivePath}
- TLS_VERIFY ON
- )
-endif()
-
-# Extract the binaries, overriding any already present.
-file(REMOVE_RECURSE ${LibRoot})
-file(MAKE_DIRECTORY ${LibRoot})
-execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar xzf ${ArchivePath}
- WORKING_DIRECTORY ${LibRoot}
-)
diff --git a/android/agent_dart-v1.0.0.tar.gz b/android/agent_dart-v1.0.0.tar.gz
deleted file mode 100644
index b2a97700..00000000
Binary files a/android/agent_dart-v1.0.0.tar.gz and /dev/null differ
diff --git a/android/build.gradle b/android/build.gradle
deleted file mode 100644
index 6aa637e8..00000000
--- a/android/build.gradle
+++ /dev/null
@@ -1,47 +0,0 @@
-group 'com.astrox.agent_dart'
-version '1.0-SNAPSHOT'
-
-buildscript {
- ext.kotlin_version = '1.7.10'
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.2.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
-rootProject.allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-
-android {
- compileSdkVersion 33
-
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
- }
-
- defaultConfig {
- minSdkVersion 23
- }
-
- // Trigger the binary download/update over in CMakeLists.txt
- externalNativeBuild {
- cmake {
- path "CMakeLists.txt"
- }
- }
-}
-
-dependencies {
-}
diff --git a/android/src/main/kotlin/com/astrox/agent_dart/AgentDartPlugin.kt b/android/src/main/kotlin/com/astrox/agent_dart/AgentDartPlugin.kt
deleted file mode 100644
index 29f095db..00000000
--- a/android/src/main/kotlin/com/astrox/agent_dart/AgentDartPlugin.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.astrox.agent_dart
-
-import androidx.annotation.NonNull
-
-import io.flutter.embedding.engine.plugins.FlutterPlugin
-import io.flutter.plugin.common.MethodCall
-import io.flutter.plugin.common.MethodChannel
-import io.flutter.plugin.common.MethodChannel.MethodCallHandler
-import io.flutter.plugin.common.MethodChannel.Result
-
-/** AgentDartPlugin */
-class AgentDartPlugin: FlutterPlugin, MethodCallHandler {
- /// The MethodChannel that will the communication between Flutter and native Android
- ///
- /// This local reference serves to register the plugin with the Flutter Engine and unregister it
- /// when the Flutter Engine is detached from the Activity
- private lateinit var channel : MethodChannel
-
- override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
- channel = MethodChannel(flutterPluginBinding.binaryMessenger, "agent_dart")
- channel.setMethodCallHandler(this)
- }
-
- override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
- if (call.method == "getPlatformVersion") {
- result.success("Android ${android.os.Build.VERSION.RELEASE}")
- } else {
- result.notImplemented()
- }
- }
-
- override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
- channel.setMethodCallHandler(null)
- }
-}
diff --git a/example/.metadata b/example/.metadata
deleted file mode 100644
index a8ebbd60..00000000
--- a/example/.metadata
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file tracks properties of this Flutter project.
-# Used by Flutter tool to assess capabilities and perform upgrades etc.
-#
-# This file should be version controlled and should not be manually edited.
-
-version:
- revision: fa5883b78e566877613ad1ccb48dd92075cb5c23
- channel: dev
-
-project_type: app
diff --git a/example/README.md b/example/README.md
deleted file mode 100644
index 5425e790..00000000
--- a/example/README.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# agent_dart_example
-
-**This example is pretty outdated, hang tight**
-## IMPORTANT NOTICE
-This example is for showing how interaction is done only.
-For more complex examples, please stay tuned, we will update the README of the root
-## how to run example
-
-1. use [create-ic-app](https://github.com/MioQuispe/create-ic-app) to bootstrap a local canister project
-
- Follow instructions here:
- [https://github.com/MioQuispe/create-ic-app#get-started](https://github.com/MioQuispe/create-ic-app#get-started)
-
- It will runs a example `counter` canister on your machine.
-
- **The counter function is included `caller`, the authorization won't make difference**
-
-2. dfx port is running randomly. You should be seeing that after you run:
- ```
- dfx start --background
- ```
- Usually, it is 5 digits integer. like `60916`
-
-3. write down the counter(*NOT* front end assets) canister id:
-
- eg:
- ```bash
- Installing canisters...
- Creating UI canister on the local network.
- The UI canister on the "local" network is "r7inp-6aaaa-aaaaa-aaabq-cai" # <<< !NOT! this one
- Installing code for canister assets, with canister_id rrkah-fqaaa-aaaaa-aaaaq-cai # <<< !NOT! this one
- ...
- ...
- Installing code for canister counter, with canister_id ryjl3-tyaaa-aaaaa-aaaba-cai # <<< THIS IS CORRECT !!
- Deployed canisters.
- ```
-
-4. go back to `agent_example`, change `lib/main.dart`
-
- ```dart
- void initCounter() {
- _counter = AgentFactory.create(
- canisterId: "ryjl3-tyaaa-aaaaa-aaaba-cai", // << change this
- url: "http://localhost:60916", //<< change the port
- idl: idl
- )
- .hook(Counter());
- }
- ```
-
-5. run flutter
-
- use android emulator or ios emulator to run
-
- ```bash
- flutter run
- ```
-
- if you want to run flutter on macos, please do the following:
-
- - first `flutter run -d macos`, it will build and run first.
- - Then you will came up with an error:
- ```
- SocketException: Connection failed (OS Error: Operation not permitted, errno = 1)
- ```
-
- - Go to file `DebugProfile.entitlements` and `ReleaseProfile.entitlements` under directory macos/Runner/, add the following:
- ```
- com.apple.security.network.client
-
- ```
-
\ No newline at end of file
diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml
deleted file mode 100644
index 5e2133eb..00000000
--- a/example/analysis_options.yaml
+++ /dev/null
@@ -1 +0,0 @@
-include: ../analysis_options.yaml
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
deleted file mode 100644
index b92ff900..00000000
--- a/example/android/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
deleted file mode 100644
index 94adc3a3..00000000
--- a/example/android/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-org.gradle.jvmargs=-Xmx1536M
-android.useAndroidX=true
-android.enableJetifier=true
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 53d5a7cf..00000000
--- a/example/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Jun 23 08:50:38 CEST 2017
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
deleted file mode 100644
index dfc3275c..00000000
--- a/example/ios/Podfile.lock
+++ /dev/null
@@ -1,28 +0,0 @@
-PODS:
- - agent_dart (1.0.0):
- - Flutter
- - Flutter (1.0.0)
- - url_launcher_ios (0.0.1):
- - Flutter
-
-DEPENDENCIES:
- - agent_dart (from `.symlinks/plugins/agent_dart/ios`)
- - Flutter (from `Flutter`)
- - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
-
-EXTERNAL SOURCES:
- agent_dart:
- :path: ".symlinks/plugins/agent_dart/ios"
- Flutter:
- :path: Flutter
- url_launcher_ios:
- :path: ".symlinks/plugins/url_launcher_ios/ios"
-
-SPEC CHECKSUMS:
- agent_dart: b46ed8b9fdc343017e835108e2275124166df4f7
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
- url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
-
-PODFILE CHECKSUM: b445309b99f7b7cf3037931b19a826b77cf32add
-
-COCOAPODS: 1.12.1
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
deleted file mode 100644
index f2a3f1d6..00000000
--- a/example/ios/Runner/Info.plist
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- agent_dart_example
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleSignature
- ????
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- CFBundleURLTypes
-
-
- CFBundleURLName
- identity
- CFBundleURLSchemes
-
- identity
-
-
-
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UIViewControllerBasedStatusBarAppearance
-
- CADisableMinimumFrameDurationOnPhone
-
-
-
diff --git a/example/lib/counter.dart b/example/lib/counter.dart
deleted file mode 100644
index d0d5f22a..00000000
--- a/example/lib/counter.dart
+++ /dev/null
@@ -1,39 +0,0 @@
-import 'package:agent_dart/agent_dart.dart';
-
-import 'init.dart';
-
-class CounterMethod {
- const CounterMethod._();
-
- static const add = 'increment';
- static const count = 'getValue';
-}
-
-final idl = IDL.Service({
- CounterMethod.count: IDL.Func([], [IDL.Nat], ['query']),
- CounterMethod.add: IDL.Func([], [], []),
-});
-
-class Counter extends ActorHook {
- Counter();
-
- factory Counter.create(CanisterActor _actor) {
- return Counter()..setActor(_actor);
- }
-
- void setActor(CanisterActor _actor) {
- actor = _actor;
- }
-
- Future count() async {
- final res = await actor.getFunc(CounterMethod.count)!([]);
- if (res != null) {
- return (res as BigInt).toInt();
- }
- throw StateError('Request failed with the result: $res.');
- }
-
- Future add() async {
- await actor.getFunc(CounterMethod.add)!([]);
- }
-}
diff --git a/example/lib/init.dart b/example/lib/init.dart
deleted file mode 100644
index c827f1f4..00000000
--- a/example/lib/init.dart
+++ /dev/null
@@ -1,85 +0,0 @@
-import 'package:agent_dart/agent_dart.dart';
-
-class AgentFactory {
- AgentFactory({
- required String canisterId,
- required String url,
- required Service idl,
- Identity? identity,
- bool? debug = true,
- }) {
- _setCanisterId(canisterId);
- _identity = identity ?? const AnonymousIdentity();
- _idl = idl;
- _debug = debug ?? true;
- _initAgent(url);
- _createActor();
- }
-
- late final Principal _canisterId;
- late Identity _identity;
- late HttpAgent _agent;
- late final bool _debug;
- late CanisterActor _actor;
-
- Identity get identity => _identity;
- late Service _idl;
-
- CanisterActor get actor => _actor;
-
- static Future create({
- required String canisterId,
- required String url,
- required Service idl,
- Identity? identity,
- bool? debug = true,
- }) async {
- final newIdentity = identity ?? await Ed25519KeyIdentity.generate(null);
- return AgentFactory(
- canisterId: canisterId,
- url: url,
- idl: idl,
- identity: newIdentity,
- debug: debug,
- );
- }
-
- T hook(T target) {
- target.actor = actor;
- return target;
- }
-
- void _setCanisterId(String canisterId) {
- _canisterId = Principal.fromText(canisterId);
- }
-
- void _initAgent(String url) async {
- final uri = Uri.parse(url);
- final port = uri.port;
- final protocol = uri.scheme;
- final host = uri.host;
- _agent = HttpAgent(
- defaultProtocol: protocol,
- defaultHost: host,
- defaultPort: port,
- options: HttpAgentOptions(identity: _identity),
- );
- if (_debug) {
- await _agent.fetchRootKey();
- }
- _agent.addTransform(
- HttpAgentRequestTransformFn(call: makeNonceTransform()),
- );
- }
-
- void _createActor() {
- _actor = Actor.createActor(
- _idl,
- ActorConfig.fromJson({'canisterId': _canisterId, 'agent': _agent}),
- );
- }
-}
-
-abstract class ActorHook {
- late final CanisterActor actor;
-}
diff --git a/example/lib/main.dart b/example/lib/main.dart
deleted file mode 100644
index b9eb034b..00000000
--- a/example/lib/main.dart
+++ /dev/null
@@ -1,97 +0,0 @@
-import 'package:flutter/material.dart';
-
-import 'counter.dart';
-import 'init.dart';
-
-void main() {
- runApp(const MyApp());
-}
-
-class MyApp extends StatefulWidget {
- const MyApp({Key? key}) : super(key: key);
-
- @override
- State createState() => _MyAppState();
-}
-
-class _MyAppState extends State {
- int _count = 0;
- bool _loading = false;
-
- Counter? _counter;
- final _scaffoldKey = GlobalKey();
-
- @override
- void initState() {
- super.initState();
- loading(true);
- readCount();
- }
-
- Future initCounter() async {
- _counter = (await AgentFactory.create(
- canisterId: 'sbzkb-zqaaa-aaaaa-aaaiq-cai',
- url: 'https://03af-58-62-205-141.ngrok.io',
- // For Android emulator, please use 10.0.2.2 as endpoint
- idl: idl,
- ))
- .hook(Counter());
- }
-
- void loading(bool state) {
- setState(() {
- _loading = state;
- });
- }
-
- Future readCount() async {
- if (_counter == null) {
- await initCounter();
- }
- final int c = await _counter!.count();
- loading(false);
- setState(() {
- _count = c;
- });
- }
-
- void increase() async {
- loading(true);
- await _counter!.add();
- readCount();
- }
-
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- home: Scaffold(
- key: _scaffoldKey,
- appBar: AppBar(
- title: const Text('Dfinity flutter Dapp'),
- ),
- body: Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(_loading ? 'loading contract count' : '$_count'),
- Container(
- height: 30,
- ),
- Container(
- height: 30,
- ),
- const Text('Please Login 👆'),
- Container(height: 30),
- ],
- ),
- ),
- floatingActionButton: FloatingActionButton(
- child: const Icon(Icons.add),
- onPressed: () async {
- increase();
- },
- ),
- ),
- );
- }
-}
diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc
deleted file mode 100644
index f6f23bfe..00000000
--- a/example/linux/flutter/generated_plugin_registrant.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#include "generated_plugin_registrant.h"
-
-#include
-
-void fl_register_plugins(FlPluginRegistry* registry) {
- g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
- fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
- url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
-}
diff --git a/example/macos/Podfile.lock b/example/macos/Podfile.lock
deleted file mode 100644
index 87525661..00000000
--- a/example/macos/Podfile.lock
+++ /dev/null
@@ -1,28 +0,0 @@
-PODS:
- - agent_dart (1.0.0):
- - FlutterMacOS
- - FlutterMacOS (1.0.0)
- - url_launcher_macos (0.0.1):
- - FlutterMacOS
-
-DEPENDENCIES:
- - agent_dart (from `Flutter/ephemeral/.symlinks/plugins/agent_dart/macos`)
- - FlutterMacOS (from `Flutter/ephemeral`)
- - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
-
-EXTERNAL SOURCES:
- agent_dart:
- :path: Flutter/ephemeral/.symlinks/plugins/agent_dart/macos
- FlutterMacOS:
- :path: Flutter/ephemeral
- url_launcher_macos:
- :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
-
-SPEC CHECKSUMS:
- agent_dart: baeff650d9d637f215d23b2f9ef9a9e5c34e7f42
- FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
- url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
-
-PODFILE CHECKSUM: 94c13412ea7d37a22dbff0ae1c74b259b3120765
-
-COCOAPODS: 1.12.1
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
deleted file mode 100644
index 3c4935a7..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
deleted file mode 100644
index ed4cc164..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
deleted file mode 100644
index 483be613..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
deleted file mode 100644
index bcbf36df..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
deleted file mode 100644
index 9c0a6528..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
deleted file mode 100644
index e71a7261..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ
diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
deleted file mode 100644
index 8a31fe2d..00000000
Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ
diff --git a/example/macos/Runner/DebugProfile.entitlements b/example/macos/Runner/DebugProfile.entitlements
deleted file mode 100644
index 867a0baa..00000000
--- a/example/macos/Runner/DebugProfile.entitlements
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- com.apple.security.app-sandbox
-
- com.apple.security.cs.allow-jit
-
- com.apple.security.network.server
-
- com.apple.security.network.client
-
-
-
diff --git a/example/macos/Runner/Info.plist b/example/macos/Runner/Info.plist
deleted file mode 100644
index 4804dd54..00000000
--- a/example/macos/Runner/Info.plist
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIconFile
-
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- CFBundleURLTypes
-
-
- CFBundleURLName
- identity
- CFBundleURLSchemes
-
- identity
-
-
-
- LSMinimumSystemVersion
- $(MACOSX_DEPLOYMENT_TARGET)
- NSHumanReadableCopyright
- $(PRODUCT_COPYRIGHT)
- NSMainNibFile
- MainMenu
- NSPrincipalClass
- NSApplication
-
-
diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart
deleted file mode 100644
index a0ac1742..00000000
--- a/example/test/widget_test.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-// // This is a basic Flutter widget test.
-// //
-// // To perform an interaction with a widget in your test, use the WidgetTester
-// // utility that Flutter provides. For example, you can send tap and scroll
-// // gestures. You can also use WidgetTester to find child widgets in the widget
-// // tree, read text, and verify that the values of widget properties are correct.
-
-// import 'package:flutter/material.dart';
-// import 'package:flutter_test/flutter_test.dart';
-
-// import 'package:agent_dart_example/main.dart';
-
-// void main() {
-// testWidgets('Verify Platform version', (WidgetTester tester) async {
-// // Build our app and trigger a frame.
-// await tester.pumpWidget(const MyApp());
-
-// // Verify that platform version is retrieved.
-// expect(
-// find.byWidgetPredicate(
-// (Widget widget) => widget is Text &&
-// widget.data!.startsWith('Running on:'),
-// ),
-// findsOneWidget,
-// );
-// });
-// }
diff --git a/example/web/favicon.png b/example/web/favicon.png
deleted file mode 100644
index 8aaa46ac..00000000
Binary files a/example/web/favicon.png and /dev/null differ
diff --git a/example/web/icons/Icon-192.png b/example/web/icons/Icon-192.png
deleted file mode 100644
index b749bfef..00000000
Binary files a/example/web/icons/Icon-192.png and /dev/null differ
diff --git a/example/web/icons/Icon-512.png b/example/web/icons/Icon-512.png
deleted file mode 100644
index 88cfd48d..00000000
Binary files a/example/web/icons/Icon-512.png and /dev/null differ
diff --git a/example/web/index.html b/example/web/index.html
deleted file mode 100644
index 16dc0f55..00000000
--- a/example/web/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- agent_dart_example
-
-
-
-
-
-
-
diff --git a/example/web/manifest.json b/example/web/manifest.json
deleted file mode 100644
index 58fc0c98..00000000
--- a/example/web/manifest.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "agent_dart_example",
- "short_name": "agent_dart_example",
- "start_url": ".",
- "display": "standalone",
- "background_color": "#0175C2",
- "theme_color": "#0175C2",
- "description": "Demonstrates how to use the agent_dart plugin.",
- "orientation": "portrait-primary",
- "prefer_related_applications": false,
- "icons": [
- {
- "src": "icons/Icon-192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "icons/Icon-512.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ]
-}
diff --git a/example/windows/runner/CMakeLists.txt b/example/windows/runner/CMakeLists.txt
deleted file mode 100644
index 0b899a0b..00000000
--- a/example/windows/runner/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-cmake_minimum_required(VERSION 3.15)
-project(runner LANGUAGES CXX)
-
-add_executable(${BINARY_NAME} WIN32
- "flutter_window.cpp"
- "main.cpp"
- "utils.cpp"
- "win32_window.cpp"
- "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
- "Runner.rc"
- "runner.exe.manifest"
-)
-apply_standard_settings(${BINARY_NAME})
-target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX")
-target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app)
-target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")
-add_dependencies(${BINARY_NAME} flutter_assemble)
diff --git a/example/windows/runner/run_loop.cpp b/example/windows/runner/run_loop.cpp
deleted file mode 100644
index 2d6636ab..00000000
--- a/example/windows/runner/run_loop.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "run_loop.h"
-
-#include
-
-#include
-
-RunLoop::RunLoop() {}
-
-RunLoop::~RunLoop() {}
-
-void RunLoop::Run() {
- bool keep_running = true;
- TimePoint next_flutter_event_time = TimePoint::clock::now();
- while (keep_running) {
- std::chrono::nanoseconds wait_duration =
- std::max(std::chrono::nanoseconds(0),
- next_flutter_event_time - TimePoint::clock::now());
- ::MsgWaitForMultipleObjects(
- 0, nullptr, FALSE, static_cast(wait_duration.count() / 1000),
- QS_ALLINPUT);
- bool processed_events = false;
- MSG message;
- // All pending Windows messages must be processed; MsgWaitForMultipleObjects
- // won't return again for items left in the queue after PeekMessage.
- while (::PeekMessage(&message, nullptr, 0, 0, PM_REMOVE)) {
- processed_events = true;
- if (message.message == WM_QUIT) {
- keep_running = false;
- break;
- }
- ::TranslateMessage(&message);
- ::DispatchMessage(&message);
- // Allow Flutter to process messages each time a Windows message is
- // processed, to prevent starvation.
- next_flutter_event_time =
- std::min(next_flutter_event_time, ProcessFlutterMessages());
- }
- // If the PeekMessage loop didn't run, process Flutter messages.
- if (!processed_events) {
- next_flutter_event_time =
- std::min(next_flutter_event_time, ProcessFlutterMessages());
- }
- }
-}
-
-void RunLoop::RegisterFlutterInstance(
- flutter::FlutterEngine* flutter_instance) {
- flutter_instances_.insert(flutter_instance);
-}
-
-void RunLoop::UnregisterFlutterInstance(
- flutter::FlutterEngine* flutter_instance) {
- flutter_instances_.erase(flutter_instance);
-}
-
-RunLoop::TimePoint RunLoop::ProcessFlutterMessages() {
- TimePoint next_event_time = TimePoint::max();
- for (auto instance : flutter_instances_) {
- std::chrono::nanoseconds wait_duration = instance->ProcessMessages();
- if (wait_duration != std::chrono::nanoseconds::max()) {
- next_event_time =
- std::min(next_event_time, TimePoint::clock::now() + wait_duration);
- }
- }
- return next_event_time;
-}
diff --git a/example/windows/runner/run_loop.h b/example/windows/runner/run_loop.h
deleted file mode 100644
index 000d3624..00000000
--- a/example/windows/runner/run_loop.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef RUNNER_RUN_LOOP_H_
-#define RUNNER_RUN_LOOP_H_
-
-#include
-
-#include
-#include
-
-// A runloop that will service events for Flutter instances as well
-// as native messages.
-class RunLoop {
- public:
- RunLoop();
- ~RunLoop();
-
- // Prevent copying
- RunLoop(RunLoop const&) = delete;
- RunLoop& operator=(RunLoop const&) = delete;
-
- // Runs the run loop until the application quits.
- void Run();
-
- // Registers the given Flutter instance for event servicing.
- void RegisterFlutterInstance(
- flutter::FlutterEngine* flutter_instance);
-
- // Unregisters the given Flutter instance from event servicing.
- void UnregisterFlutterInstance(
- flutter::FlutterEngine* flutter_instance);
-
- private:
- using TimePoint = std::chrono::steady_clock::time_point;
-
- // Processes all currently pending messages for registered Flutter instances.
- TimePoint ProcessFlutterMessages();
-
- std::set flutter_instances_;
-};
-
-#endif // RUNNER_RUN_LOOP_H_
diff --git a/ios/Classes/EnforceBundling.swift b/ios/Classes/EnforceBundling.swift
deleted file mode 100644
index 67e89f5d..00000000
--- a/ios/Classes/EnforceBundling.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-public func dummyMethodToEnforceBundling() -> Int64 {
- return dummy_method_to_enforce_bundling()
-}
-let dummyVar = dummyMethodToEnforceBundling();
\ No newline at end of file
diff --git a/ios/Classes/bridge_generated.h b/ios/Classes/bridge_generated.h
deleted file mode 100644
index 1c22a210..00000000
--- a/ios/Classes/bridge_generated.h
+++ /dev/null
@@ -1,522 +0,0 @@
-#include
-#include
-#include
-typedef struct _Dart_Handle* Dart_Handle;
-
-#define ECB 0
-
-#define CBC 1
-
-#define CFB1 2
-
-#define CFB2 3
-
-#define CFB4 5
-
-#define OFB1 14
-
-#define OFB2 15
-
-#define OFB4 17
-
-#define OFB8 21
-
-#define OFB16 29
-
-#define CTR1 30
-
-#define CTR2 31
-
-#define CTR4 33
-
-#define CTR8 37
-
-#define CTR16 45
-
-#define CHUNK 64
-
-#define MODBYTES 48
-
-#define BASEBITS 58
-
-#define NLEN (1 + (((8 * MODBYTES) - 1) / BASEBITS))
-
-#define DNLEN (2 * NLEN)
-
-#define HBITS (BASEBITS / 2)
-
-
-
-#define BIGBITS (MODBYTES * 8)
-
-
-
-
-
-#define BLS_OK 0
-
-#define BLS_FAIL -1
-
-#define WEIERSTRASS 0
-
-#define EDWARDS 1
-
-#define MONTGOMERY 2
-
-#define NOT 0
-
-#define BN 1
-
-#define BLS12 2
-
-#define BLS24 3
-
-#define BLS48 4
-
-#define D_TYPE 0
-
-#define M_TYPE 1
-
-#define POSITIVEX 0
-
-#define NEGATIVEX 1
-
-#define CURVETYPE WEIERSTRASS
-
-#define CURVE_A 0
-
-#define CURVE_PAIRING_TYPE BLS12
-
-#define SEXTIC_TWIST M_TYPE
-
-#define SIGN_OF_X NEGATIVEX
-
-#define ATE_BITS 65
-
-#define G2_TABLE 69
-
-#define HTC_ISO 11
-
-#define HTC_ISO_G2 3
-
-#define ALLOW_ALT_COMPRESS true
-
-#define HASH_TYPE 32
-
-#define AESKEY 16
-
-#define NOT_SPECIAL 0
-
-#define PSEUDO_MERSENNE 1
-
-#define MONTGOMERY_FRIENDLY 2
-
-#define GENERALISED_MERSENNE 3
-
-#define NEGATOWER 0
-
-#define POSITOWER 1
-
-#define MODBITS 381
-
-#define PM1D2 1
-
-#define RIADZ 11
-
-#define RIADZG2A -2
-
-#define RIADZG2B -1
-
-#define MODTYPE NOT_SPECIAL
-
-#define QNRI 0
-
-#define TOWER NEGATOWER
-
-#define FEXCESS (((int32_t)1 << 25) - 1)
-
-
-
-#define BIG_ENDIAN_SIGN false
-
-#define ZERO 0
-
-#define ONE 1
-
-#define SPARSEST 2
-
-#define SPARSER 3
-
-#define SPARSE 4
-
-#define DENSE 5
-
-
-
-
-
-#define BAD_PARAMS -11
-
-#define INVALID_POINT -14
-
-#define WRONG_ORDER -18
-
-#define BAD_PIN -19
-
-#define MAXPIN 10000
-
-#define PBLEN 14
-
-#define CURVE_COF_I 0
-
-#define CURVE_B_I 4
-
-#define USE_GLV true
-
-#define USE_GS_G2 true
-
-#define USE_GS_GT true
-
-#define GT_STRONG false
-
-#define MC_SHA2 2
-
-#define MC_SHA3 3
-
-#define HASH224 28
-
-#define HASH256 32
-
-#define HASH384 48
-
-#define HASH512 64
-
-#define SHAKE128 16
-
-#define SHAKE256 32
-
-#define KEY_LENGTH 32
-
-#define KEY_LENGTH_AES (KEY_LENGTH / 2)
-
-typedef struct DartCObject DartCObject;
-
-typedef int64_t DartPort;
-
-typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message);
-
-typedef struct wire_uint_8_list {
- uint8_t *ptr;
- int32_t len;
-} wire_uint_8_list;
-
-typedef struct wire_PhraseToSeedReq {
- struct wire_uint_8_list *phrase;
- struct wire_uint_8_list *password;
-} wire_PhraseToSeedReq;
-
-typedef struct wire_SeedToKeyReq {
- struct wire_uint_8_list *seed;
- struct wire_uint_8_list *path;
-} wire_SeedToKeyReq;
-
-typedef struct wire_BLSVerifyReq {
- struct wire_uint_8_list *signature;
- struct wire_uint_8_list *message;
- struct wire_uint_8_list *public_key;
-} wire_BLSVerifyReq;
-
-typedef struct wire_ED25519FromSeedReq {
- struct wire_uint_8_list *seed;
-} wire_ED25519FromSeedReq;
-
-typedef struct wire_ED25519SignReq {
- struct wire_uint_8_list *seed;
- struct wire_uint_8_list *message;
-} wire_ED25519SignReq;
-
-typedef struct wire_ED25519VerifyReq {
- struct wire_uint_8_list *sig;
- struct wire_uint_8_list *message;
- struct wire_uint_8_list *pub_key;
-} wire_ED25519VerifyReq;
-
-typedef struct wire_Secp256k1FromSeedReq {
- struct wire_uint_8_list *seed;
-} wire_Secp256k1FromSeedReq;
-
-typedef struct wire_Secp256k1SignWithSeedReq {
- struct wire_uint_8_list *msg;
- struct wire_uint_8_list *seed;
-} wire_Secp256k1SignWithSeedReq;
-
-typedef struct wire_Secp256k1VerifyReq {
- struct wire_uint_8_list *message_hash;
- struct wire_uint_8_list *signature_bytes;
- struct wire_uint_8_list *public_key_bytes;
-} wire_Secp256k1VerifyReq;
-
-typedef struct wire_Secp256k1ShareSecretReq {
- struct wire_uint_8_list *seed;
- struct wire_uint_8_list *public_key_raw_bytes;
-} wire_Secp256k1ShareSecretReq;
-
-typedef struct wire_Secp256k1RecoverReq {
- struct wire_uint_8_list *message_pre_hashed;
- struct wire_uint_8_list *signature_bytes;
- uint8_t *chain_id;
-} wire_Secp256k1RecoverReq;
-
-typedef struct wire_P256FromSeedReq {
- struct wire_uint_8_list *seed;
-} wire_P256FromSeedReq;
-
-typedef struct wire_P256SignWithSeedReq {
- struct wire_uint_8_list *msg;
- struct wire_uint_8_list *seed;
-} wire_P256SignWithSeedReq;
-
-typedef struct wire_P256VerifyReq {
- struct wire_uint_8_list *message_hash;
- struct wire_uint_8_list *signature_bytes;
- struct wire_uint_8_list *public_key_bytes;
-} wire_P256VerifyReq;
-
-typedef struct wire_P256ShareSecretReq {
- struct wire_uint_8_list *seed;
- struct wire_uint_8_list *public_key_raw_bytes;
-} wire_P256ShareSecretReq;
-
-typedef struct wire_SchnorrFromSeedReq {
- struct wire_uint_8_list *seed;
-} wire_SchnorrFromSeedReq;
-
-typedef struct wire_SchnorrSignWithSeedReq {
- struct wire_uint_8_list *msg;
- struct wire_uint_8_list *seed;
- struct wire_uint_8_list *aux_rand;
-} wire_SchnorrSignWithSeedReq;
-
-typedef struct wire_SchnorrVerifyReq {
- struct wire_uint_8_list *message_hash;
- struct wire_uint_8_list *signature_bytes;
- struct wire_uint_8_list *public_key_bytes;
-} wire_SchnorrVerifyReq;
-
-typedef struct wire_AesEncryptReq {
- struct wire_uint_8_list *key;
- struct wire_uint_8_list *iv;
- struct wire_uint_8_list *message;
-} wire_AesEncryptReq;
-
-typedef struct wire_AesDecryptReq {
- struct wire_uint_8_list *key;
- struct wire_uint_8_list *iv;
- struct wire_uint_8_list *cipher_text;
-} wire_AesDecryptReq;
-
-typedef struct wire_PBKDFDeriveReq {
- struct wire_uint_8_list *password;
- struct wire_uint_8_list *salt;
- uint32_t c;
-} wire_PBKDFDeriveReq;
-
-typedef struct wire_ScriptDeriveReq {
- struct wire_uint_8_list *password;
- struct wire_uint_8_list *salt;
- uint32_t n;
- uint32_t p;
- uint32_t r;
-} wire_ScriptDeriveReq;
-
-typedef struct DartCObject *WireSyncReturn;
-
-typedef int64_t Chunk;
-
-#define BMASK ((1 << BASEBITS) - 1)
-
-#define HMASK ((1 << HBITS) - 1)
-
-
-
-#define TMASK ((1 << TBITS) - 1)
-
-#define MCONST 140737475470229501
-
-void store_dart_post_cobject(DartPostCObjectFnType ptr);
-
-Dart_Handle get_dart_object(uintptr_t ptr);
-
-void drop_dart_object(uintptr_t ptr);
-
-uintptr_t new_dart_opaque(Dart_Handle handle);
-
-intptr_t init_frb_dart_api_dl(void *obj);
-
-void wire_mnemonic_phrase_to_seed(int64_t port_, struct wire_PhraseToSeedReq *req);
-
-void wire_mnemonic_seed_to_key(int64_t port_, struct wire_SeedToKeyReq *req);
-
-void wire_bls_init(int64_t port_);
-
-void wire_bls_verify(int64_t port_, struct wire_BLSVerifyReq *req);
-
-void wire_ed25519_from_seed(int64_t port_, struct wire_ED25519FromSeedReq *req);
-
-void wire_ed25519_sign(int64_t port_, struct wire_ED25519SignReq *req);
-
-void wire_ed25519_verify(int64_t port_, struct wire_ED25519VerifyReq *req);
-
-void wire_secp256k1_from_seed(int64_t port_, struct wire_Secp256k1FromSeedReq *req);
-
-void wire_secp256k1_sign(int64_t port_, struct wire_Secp256k1SignWithSeedReq *req);
-
-void wire_secp256k1_sign_recoverable(int64_t port_, struct wire_Secp256k1SignWithSeedReq *req);
-
-void wire_secp256k1_verify(int64_t port_, struct wire_Secp256k1VerifyReq *req);
-
-void wire_secp256k1_get_shared_secret(int64_t port_, struct wire_Secp256k1ShareSecretReq *req);
-
-void wire_secp256k1_recover(int64_t port_, struct wire_Secp256k1RecoverReq *req);
-
-void wire_p256_from_seed(int64_t port_, struct wire_P256FromSeedReq *req);
-
-void wire_p256_sign(int64_t port_, struct wire_P256SignWithSeedReq *req);
-
-void wire_p256_verify(int64_t port_, struct wire_P256VerifyReq *req);
-
-void wire_p256_get_shared_secret(int64_t port_, struct wire_P256ShareSecretReq *req);
-
-void wire_schnorr_from_seed(int64_t port_, struct wire_SchnorrFromSeedReq *req);
-
-void wire_schnorr_sign(int64_t port_, struct wire_SchnorrSignWithSeedReq *req);
-
-void wire_schnorr_verify(int64_t port_, struct wire_SchnorrVerifyReq *req);
-
-void wire_aes_128_ctr_encrypt(int64_t port_, struct wire_AesEncryptReq *req);
-
-void wire_aes_128_ctr_decrypt(int64_t port_, struct wire_AesDecryptReq *req);
-
-void wire_aes_256_cbc_encrypt(int64_t port_, struct wire_AesEncryptReq *req);
-
-void wire_aes_256_cbc_decrypt(int64_t port_, struct wire_AesDecryptReq *req);
-
-void wire_aes_256_gcm_encrypt(int64_t port_, struct wire_AesEncryptReq *req);
-
-void wire_aes_256_gcm_decrypt(int64_t port_, struct wire_AesDecryptReq *req);
-
-void wire_pbkdf2_derive_key(int64_t port_, struct wire_PBKDFDeriveReq *req);
-
-void wire_scrypt_derive_key(int64_t port_, struct wire_ScriptDeriveReq *req);
-
-struct wire_AesDecryptReq *new_box_autoadd_aes_decrypt_req_0(void);
-
-struct wire_AesEncryptReq *new_box_autoadd_aes_encrypt_req_0(void);
-
-struct wire_BLSVerifyReq *new_box_autoadd_bls_verify_req_0(void);
-
-struct wire_ED25519FromSeedReq *new_box_autoadd_ed_25519_from_seed_req_0(void);
-
-struct wire_ED25519SignReq *new_box_autoadd_ed_25519_sign_req_0(void);
-
-struct wire_ED25519VerifyReq *new_box_autoadd_ed_25519_verify_req_0(void);
-
-struct wire_P256FromSeedReq *new_box_autoadd_p_256_from_seed_req_0(void);
-
-struct wire_P256ShareSecretReq *new_box_autoadd_p_256_share_secret_req_0(void);
-
-struct wire_P256SignWithSeedReq *new_box_autoadd_p_256_sign_with_seed_req_0(void);
-
-struct wire_P256VerifyReq *new_box_autoadd_p_256_verify_req_0(void);
-
-struct wire_PBKDFDeriveReq *new_box_autoadd_pbkdf_derive_req_0(void);
-
-struct wire_PhraseToSeedReq *new_box_autoadd_phrase_to_seed_req_0(void);
-
-struct wire_SchnorrFromSeedReq *new_box_autoadd_schnorr_from_seed_req_0(void);
-
-struct wire_SchnorrSignWithSeedReq *new_box_autoadd_schnorr_sign_with_seed_req_0(void);
-
-struct wire_SchnorrVerifyReq *new_box_autoadd_schnorr_verify_req_0(void);
-
-struct wire_ScriptDeriveReq *new_box_autoadd_script_derive_req_0(void);
-
-struct wire_Secp256k1FromSeedReq *new_box_autoadd_secp_256_k_1_from_seed_req_0(void);
-
-struct wire_Secp256k1RecoverReq *new_box_autoadd_secp_256_k_1_recover_req_0(void);
-
-struct wire_Secp256k1ShareSecretReq *new_box_autoadd_secp_256_k_1_share_secret_req_0(void);
-
-struct wire_Secp256k1SignWithSeedReq *new_box_autoadd_secp_256_k_1_sign_with_seed_req_0(void);
-
-struct wire_Secp256k1VerifyReq *new_box_autoadd_secp_256_k_1_verify_req_0(void);
-
-struct wire_SeedToKeyReq *new_box_autoadd_seed_to_key_req_0(void);
-
-uint8_t *new_box_autoadd_u8_0(uint8_t value);
-
-struct wire_uint_8_list *new_uint_8_list_0(int32_t len);
-
-void free_WireSyncReturn(WireSyncReturn ptr);
-
-static int64_t dummy_method_to_enforce_bundling(void) {
- int64_t dummy_var = 0;
- dummy_var ^= ((int64_t) (void*) wire_mnemonic_phrase_to_seed);
- dummy_var ^= ((int64_t) (void*) wire_mnemonic_seed_to_key);
- dummy_var ^= ((int64_t) (void*) wire_bls_init);
- dummy_var ^= ((int64_t) (void*) wire_bls_verify);
- dummy_var ^= ((int64_t) (void*) wire_ed25519_from_seed);
- dummy_var ^= ((int64_t) (void*) wire_ed25519_sign);
- dummy_var ^= ((int64_t) (void*) wire_ed25519_verify);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_from_seed);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_sign);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_sign_recoverable);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_verify);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_get_shared_secret);
- dummy_var ^= ((int64_t) (void*) wire_secp256k1_recover);
- dummy_var ^= ((int64_t) (void*) wire_p256_from_seed);
- dummy_var ^= ((int64_t) (void*) wire_p256_sign);
- dummy_var ^= ((int64_t) (void*) wire_p256_verify);
- dummy_var ^= ((int64_t) (void*) wire_p256_get_shared_secret);
- dummy_var ^= ((int64_t) (void*) wire_schnorr_from_seed);
- dummy_var ^= ((int64_t) (void*) wire_schnorr_sign);
- dummy_var ^= ((int64_t) (void*) wire_schnorr_verify);
- dummy_var ^= ((int64_t) (void*) wire_aes_128_ctr_encrypt);
- dummy_var ^= ((int64_t) (void*) wire_aes_128_ctr_decrypt);
- dummy_var ^= ((int64_t) (void*) wire_aes_256_cbc_encrypt);
- dummy_var ^= ((int64_t) (void*) wire_aes_256_cbc_decrypt);
- dummy_var ^= ((int64_t) (void*) wire_aes_256_gcm_encrypt);
- dummy_var ^= ((int64_t) (void*) wire_aes_256_gcm_decrypt);
- dummy_var ^= ((int64_t) (void*) wire_pbkdf2_derive_key);
- dummy_var ^= ((int64_t) (void*) wire_scrypt_derive_key);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_aes_decrypt_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_aes_encrypt_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_bls_verify_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_ed_25519_from_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_ed_25519_sign_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_ed_25519_verify_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_p_256_from_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_p_256_share_secret_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_p_256_sign_with_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_p_256_verify_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_pbkdf_derive_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_phrase_to_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_schnorr_from_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_schnorr_sign_with_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_schnorr_verify_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_script_derive_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_secp_256_k_1_from_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_secp_256_k_1_recover_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_secp_256_k_1_share_secret_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_secp_256_k_1_sign_with_seed_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_secp_256_k_1_verify_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_seed_to_key_req_0);
- dummy_var ^= ((int64_t) (void*) new_box_autoadd_u8_0);
- dummy_var ^= ((int64_t) (void*) new_uint_8_list_0);
- dummy_var ^= ((int64_t) (void*) free_WireSyncReturn);
- dummy_var ^= ((int64_t) (void*) store_dart_post_cobject);
- dummy_var ^= ((int64_t) (void*) get_dart_object);
- dummy_var ^= ((int64_t) (void*) drop_dart_object);
- dummy_var ^= ((int64_t) (void*) new_dart_opaque);
- return dummy_var;
-}
diff --git a/ios/Frameworks/agent_dart-v1.0.0.zip b/ios/Frameworks/agent_dart-v1.0.0.zip
deleted file mode 100644
index bd564d7a..00000000
Binary files a/ios/Frameworks/agent_dart-v1.0.0.zip and /dev/null differ
diff --git a/ios/agent_dart.podspec b/ios/agent_dart.podspec
deleted file mode 100644
index 8fc1add3..00000000
--- a/ios/agent_dart.podspec
+++ /dev/null
@@ -1,33 +0,0 @@
-release_tag_name = 'agent_dart-v1.0.0' # generated; do not edit
-
-# We cannot distribute the XCFramework alongside the library directly,
-# so we have to fetch the correct version here.
-framework_name = 'AgentDart.xcframework'
-local_zip_name = "#{release_tag_name}.zip"
-`
-cd Frameworks
-
-if [ -f #{local_zip_name} ]
-then
- rm -rf #{framework_name}
- unzip #{local_zip_name}
-fi
-
-cd -
-`
-
-Pod::Spec.new do |spec|
- spec.name = 'agent_dart'
- spec.version = '1.0.0'
- spec.license = { :file => '../LICENSE' }
- spec.homepage = 'https://github.com/AstroxNetwork/agent_dart'
- spec.authors = { 'AstroX Dev' => 'dev@astrox.network' }
- spec.summary = 'iOS Flutter bindings for agent_dart'
-
- spec.source = { :path => '.' }
- spec.source_files = 'Classes/**/*'
- spec.public_header_files = 'Classes/**/*.h'
- spec.vendored_frameworks = "Frameworks/#{framework_name}"
-
- spec.ios.deployment_target = '11.0'
-end
diff --git a/lib/agent/crypto/keystore/key_store.dart b/lib/agent/crypto/keystore/key_store.dart
deleted file mode 100644
index f5389b11..00000000
--- a/lib/agent/crypto/keystore/key_store.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-library key_store;
-
-import 'dart:convert';
-import 'dart:core';
-import 'dart:typed_data';
-
-import 'package:agent_dart/agent/cbor.dart';
-import 'package:agent_dart/agent/crypto/random.dart';
-import 'package:agent_dart/bridge/ffi/ffi.dart';
-import 'package:agent_dart/identity/p256.dart';
-import 'package:agent_dart/identity/secp256k1.dart';
-import 'package:agent_dart/principal/utils/sha256.dart';
-import 'package:agent_dart/utils/extension.dart';
-import 'package:agent_dart/utils/u8a.dart';
-import 'package:collection/collection.dart';
-import 'package:meta/meta.dart';
-import 'package:pointycastle/export.dart';
-import 'package:uuid/uuid.dart';
-
-part 'key_derivator.dart';
-
-part 'function.dart';
-
-part 'util.dart';
-
-@immutable
-abstract class KeyStore {
- const KeyStore();
-
- Map get keyStoreMap;
-}
diff --git a/lib/bridge/bls.base.dart b/lib/bridge/bls.base.dart
deleted file mode 100644
index e3709cfb..00000000
--- a/lib/bridge/bls.base.dart
+++ /dev/null
@@ -1,16 +0,0 @@
-import 'dart:typed_data';
-
-import 'bls.stub.dart'
- if (dart.library.io) 'bls.ffi.dart'
- if (dart.library.html) 'bls.web.dart';
-
-abstract class BaseBLS {
- /// factory constructor to return the correct implementation.
- factory BaseBLS() => createBLS();
-
- bool get isInit;
-
- Future blsInit();
-
- Future blsVerify(Uint8List pk, Uint8List sig, Uint8List msg);
-}
diff --git a/lib/bridge/bls.ffi.dart b/lib/bridge/bls.ffi.dart
deleted file mode 100644
index 85a6ad4d..00000000
--- a/lib/bridge/bls.ffi.dart
+++ /dev/null
@@ -1,30 +0,0 @@
-import 'dart:typed_data';
-
-import 'package:agent_dart/bridge/bls.base.dart';
-import 'ffi/ffi.dart';
-
-class FFIBls implements BaseBLS {
- late bool _isInit = false;
-
- @override
- Future blsInit() async {
- _isInit = await AgentDartFFI.impl.blsInit();
- return _isInit;
- }
-
- @override
- Future blsVerify(
- Uint8List pk,
- Uint8List sig,
- Uint8List msg,
- ) {
- return AgentDartFFI.impl.blsVerify(
- req: BLSVerifyReq(signature: sig, message: msg, publicKey: pk),
- );
- }
-
- @override
- bool get isInit => _isInit;
-}
-
-BaseBLS createBLS() => FFIBls();
diff --git a/lib/bridge/bls.stub.dart b/lib/bridge/bls.stub.dart
deleted file mode 100644
index e0661ff3..00000000
--- a/lib/bridge/bls.stub.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'bls.base.dart';
-
-/// Implemented in `browser_client.dart` and `io_client.dart`.
-BaseBLS createBLS() => throw UnsupportedError(
- 'Cannot create a client without dart:html or dart:io.',
- );
diff --git a/lib/bridge/bls.web.dart b/lib/bridge/bls.web.dart
deleted file mode 100644
index f826e802..00000000
--- a/lib/bridge/bls.web.dart
+++ /dev/null
@@ -1,886 +0,0 @@
-import 'dart:typed_data';
-
-import 'package:agent_dart/agent_dart.dart';
-import 'package:agent_dart/bridge/bls.base.dart';
-import 'package:agent_dart/bridge/wasm_interop.dart';
-
-final _wasmBytesBase64 = '''
- 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
- g8AAEF8CQAJAIAZB6AFqEFoNACAGQShqEIQBDQAgBkGIPWoQS0EAIQcgBkGIwwBqQTgQchogBkG4IWpBOBByGiAGQYjA
- AGoQSyAGQcjEAGoQSyAGQcjJAGoQSyAGQcjMAGoQSyAGQagGahBLIAZBsAxqEEsgBkHIzwBqEEsgBkHQ1QBqEEsgBkHY
- 2wBqEEsgBkG4FWoQSyAGQZgjaiAGQcjJAGpBwAEQZxogBkHYJGogBkHIzABqQcABEGcaIAZBmCZqIAZBqAZqQcABEGca
- IAZB2CdqIAZBsAxqQcABEGcaIAZBmClqIAZByM8AakHAARBnGiAGQdgqaiAGQdDVAGpBwAEQZxogBkGYLGogBkHY2wBq
- QcABEGcaIAZB2C1qIAZBuBVqQcABEGcaIAZBuBVqQecAEHIaIAZBiMAAaiAGQShqEH8gBkGIwABqEBggBkGYI2ogBkEo
- ahB/A0AgB0HACkYEQCAGQbghaiAGQegBahBrIAYpA7ghIRcgBkG4IWpBARCdASAGQbghahBEIAYpA7ghIRYgBkGIwwBq
- IAZBuCFqEGsgBkGIwwBqQQEQnQEgBkGIwwBqEEQgBkG4IWogBkGIwwBqIBdCAoGnEE8gBkGIwABqIAZBKGogFkICgacQ
- bSAGQcjEAGogBkGIwABqEH8gBkG4IWoQKUEDaiIJQQJ2IgdBAWohAkEAIQgCQAJAAkADQAJAIAZBuCFqQQUQjAEhAyAC
- IAhGBEAgCUGYA0kNASACQecAQbCEwAAQPAALIAhB5wBGDQIgBkG4FWogCGogA0FwaiIDOgAAIAZBuCFqIANBGHRBGHUQ
- ngEgBkG4IWoQRCAGQbghakEEEDsgCEEBaiEIDAELCyAGQbgVaiACaiADOgAAIANBGHRBGHVBf2oiA0EBdiECIANBD0sN
- ASAGQYg9aiAGQZgjaiACQcABbGoQfwNAIAdBf0YEQCAGQYg9aiAGQcjEAGoQcyAGQZgjaiAGQYg9akHAARBnGgwICyAH
- QeYASw0DIAZBiMAAaiAGQZgjaiAGQbgVaiAHaiwAABAfIAdBf2ohByAGQYg9ahAYIAZBiD1qEBggBkGIPWoQGCAGQYg9
- ahAYIAZBiD1qIAZBiMAAahAMDAALAAtB5wBB5wBBoITAABA8AAsgAkEIQcCEwAAQPAALIAdB5wBB0ITAABA8AAUgBkHI
- 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
- UtcEAKAIAIgFBASACdCICcQRAIAAoAggMAQtB1LXBACABIAJyNgIAIAALIQEgACAENgIIIAEgBDYCDCAEIAA2AgwgBCAB
- NgIIC0EAIQVB6LjBACgCACIAIAZNDQBB6LjBACAAIAZrIgI2AgBB8LjBAEHwuMEAKAIAIgEgBmoiADYCACAAIAJBAXI2A
- gQgASAGQQNyNgIEIAFBCGoPCyAFDwsgASAHNgIYIAMoAhAiAARAIAEgADYCECAAIAE2AhgLIANBFGooAgAiAEUNACABQR
- RqIAA2AgAgACABNgIYCwJAIAVBEE8EQCADIAZBA3I2AgQgAyAGaiIEIAVBAXI2AgQgBCAFaiAFNgIAQeS4wQAoAgAiAAR
- AIABBA3YiAkEDdEHctcEAaiEAQey4wQAoAgAhBwJ/QdS1wQAoAgAiAUEBIAJBH3F0IgJxBEAgACgCCAwBC0HUtcEAIAEg
- AnI2AgAgAAshAiAAIAc2AgggAiAHNgIMIAcgADYCDCAHIAI2AggLQey4wQAgBDYCAEHkuMEAIAU2AgAMAQsgAyAFIAZqI
- gBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQLIANBCGoLtA8BA38jAEGAC2siAiQAIAJBCGoQSyACQcgBakE4EHIaIAJBAT
- YCgAIgAkGIAmpBOBByGiACQQE2AsACIAJByAJqQTgQchogAkEBNgKAAyACQYgDakE4EHIaIAJBATYCwAMgAkHIA2pBOBB
- yGiACQQE2AoAEIAJBiARqQQEQigEgAkHIBGpBOBByGiACQQE2AoAFIAJBiAVqQTgQchogAkEBNgLABSACQcgFaiABEIUB
- IAJBiAZqQTgQchogAkEBNgLABiACQcgGakE4EHIaIAJBATYCgAcgAkGIB2pBOBByGiACQQE2AsAHIAJByAdqQTgQchogA
- kEBNgKACCACQcgFahBYIQMgAkHICWpB4ITAABBfIAJBiApqIAJByAlqEIsBIAJByAFqIAJBiApqEKUBIAJByAlqQZiFwA
- AQXyACQYgKaiACQcgJahCLASACQYgCaiACQYgKahClASACQcgFahADIAJByAVqQQsQUiACQYgGaiACQcgFahClASACQYg
- GaiACQYgEahB4IAJBiAZqEEQgAkGIBmogAkHIBWoQSCACQYgFaiACQcgBahClASACQYgFaiACQYgGahBIIAJBiAZqIAJB
- iARqEHggAkGIBmoQRCACQYgGaiACQYgCahBIIAJBiAZqEEEgAkGIBmoQRCACQYgDaiACQYgGahClASACQcgDaiACQcgFa
- hClASACQcgDaiACQYgDahBIIAJByAdqIAJBiANqEKUBIAJByAdqEAMgAkHIBmogAkGIBWoQpQEgAkHIBmoQAyACQYgGai
- ACQcgBahClASACQYgGaiACQcgGahBIIAJByAdqIAJBiAZqEHggAkHIB2oQRCACQcgHaiACQYgDahBIIAJByAZqIAJBiAV
- qEEggAkGIBmogAkGIAmoQpQEgAkGIBmogAkHIBmoQSCACQcgHaiACQYgGahB4IAJByAdqEEQgAkGIBmogAkHIB2oQpQEg
- AkGIBmogAkGIBWoQSCACQYgGaiACQYgHahBcIQQgAkGIBWogAkGIBmoQpQEgAkGIBWogAkGIB2oQNCACQYgFaiACQcgHa
- hBIIAJBiANqIAJBiAVqEEggAkHIA2ogAkGIBWoQSCACQcgFaiABEEggAkHIBmogAkGIBWoQpQEgAkHIBmoQAyACQYgFai
- ACQcgGahClASACQYgFaiACQcgFahBIIAJByAVqIAJBiAZqEKUBIAJByAVqQQsQUiACQcgJakHQhcAAEF8gAkGICmogAkH
- ICWoQiwEgAkHIAmogAkGICmoQpQEgAkHIAmogAkGIB2oQSCACQYgDaiACQcgDakEBIARrIgEQeSACQcgGaiACQYgFaiAB
- EHkgAkGIBmogAkHIBWogARB5IAJBiAdqIAJByAJqIAEQeSACQYgKaiACQYgGaiACQYgHahAjIAJByARqIAJBiApqEKUBI
- AJByARqIAJByAZqEEggAkHIBGoQWCEBIAJBiAZqIAJByARqEKUBIAJBiAZqEEEgAkGIBmoQRCACQcgEaiACQYgGaiABIA
- NzEHkgAkGICmpBiIbAABBfIAJBiAhqIAJBiApqEIsBQTghAQNAIAFBoAVGRQRAIAJBiAhqIAJBiANqEEggAkHICWogAUG
- IhsAAahBfIAFBOGohASACQYgKaiACQcgJahCLASACQYgGaiACQYgKahClASACQYgIaiACQYgGahB4IAJBiAhqEEQMAQsL
- IAJByAhqIAJBiANqEIUBIAJByAlqQaiLwAAQXyACQYgKaiACQcgJahCLASACQYgGaiACQYgKahClASACQcgIaiACQYgGa
- hB4IAJByAhqEERBACEBA0AgAUH4A0ZFBEAgAkHICGogAkGIA2oQSCACQcgJaiABQeCLwABqEF8gAUE4aiEBIAJBiApqIA
- JByAlqEIsBIAJBiAZqIAJBiApqEKUBIAJByAhqIAJBiAZqEHggAkHICGoQRAwBCwsgAkGICmpB2I/AABBfIAJBiAlqIAJ
- BiApqEIsBQQAhAQNAIAFByAZGBEACQCACQcgJaiACQYgDahCFASACQcgKakHYlsAAEF8gAkGICmogAkHICmoQiwEgAkGI
- BmogAkGICmoQpQEgAkHICWogAkGIBmoQeCACQcgJahBEQQAhAQNAIAFBkAZGDQEgAkHICWogAkGIA2oQSCACQcgKaiABQ
- ZCXwABqEF8gAUE4aiEBIAJBiApqIAJByApqEIsBIAJBiAZqIAJBiApqEKUBIAJByAlqIAJBiAZqEHggAkHICWoQRAwACw
- ALBSACQYgJaiACQYgDahBIIAJByAlqIAFBkJDAAGoQXyABQThqIQEgAkGICmogAkHICWoQiwEgAkGIBmogAkGICmoQpQE
- gAkGICWogAkGIBmoQeCACQYgJahBEDAELCyACQYgJaiACQcgEahBIIAJBiAZqIAJBiAhqEKUBIAJBiAZqIAJByAlqEEgg
- AkEIaiACQYgGahClASACQYgGaiACQYgJahClASACQYgGaiACQcgIahBIIAJByABqIAJBiAZqEKUBIAJBiAZqIAJByAhqE
- KUBIAJBiAZqIAJByAlqEEggAkGIAWogAkGIBmoQpQEgACACQQhqQcABEGcaIAJBgAtqJAALzQ0CE38IfiMAQYADayIBJA
- AgADQCOCIUIBR+QoCAgBBaBEAgABASCyABQeABakHoABByGiABQcgBaiAAKQMAIhggGEI/hyIZIBggGRAxIAEgASkDyAE
- iFEL//////////wODNwPYASABQdABaikDACIXQgaGIBRCOoiEIRUgF0I6iCEaIABBCGoiCyEFIAAhBkEBIQcDQCAHQQZP
- BEAgAEEYaiEMIABBKGohCyAAQRBqIQcgACkDMCEYQQQhBkEAIQkgAUGgAWohDUEDIQpBAiEIQQchBQJAAkADQCAFQQpLD
- QIgBiAIIAYgCEsbIQ4gBiAKIAYgCksbQQN0QWhqIQ8gAUGYAWogBUEDdCIQIABqQVBqKQMAIhQgFEI/hyAYIBhCP4ciGR
- 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
- OBByGiACQQE2AvgMIAJBgA1qQTgQchogAkG4DWpBATYCACACQYAIakE4EHIaIAJBATYCuAggAkHACGpBOBByGiACQfgIa
- kEBNgIAIAJBgApqIABBgANqIgMQXiACQYAIaiACQYAKahCQASACQYAKaiABQYADaiIFEF4gAkGACGogAkGACmoQDyACQc
- AMahCpASAERQRAIAJBgApqIAMQXiACQcAMaiACQYAKahCQASACQYAKaiABQYACahBeIAJBwAxqIAJBgApqEA8LIAAoAoA
- GQQRHBEAgAkGACmogAEGAAmoQXiACQcAMaiACQYAKahCQASACQYAKaiAFEF4gAkHADGogAkGACmoQDwsgAkGABGogAkHA
- DGogAkGACGoQoQEgAkGABGoQZgsgAkGACGogABCOASACQYAKaiABEI4BIAJBgAhqIABBgAJqIgQQlgEgAkGACGoQrAEgA
- kGACmogAUGAAmoiBRCWASACQYAKahCsASACQYACaiACQYAIahCSASACQYACaiACQYAKahAZIAJBgAhqIAQQkgEgAkGACG
- ogAEGABGoiAxCWASACQYAIahCsASACQYAKaiAFEJIBIAJBgApqIAFBgARqIgUQlgEgAkGACmoQrAEgAkGABmogAkGACGo
- QkgEgAkGABmogAkGACmoQGSACQYAIaiACEJIBIAJBgAhqECsgAkGACmogAkGABGoQkgEgAkGACmoQKyACQYACaiACQYAI
- ahCWASAEIAJBgAJqEJIBIAQgAkGACmoQlgEgAkGABmogAkGACmoQlgEgAkGABGogAkGACGoQlgEgAkGACGogABCSASACQ
- YAIaiADEJYBIAJBgAhqEKwBIAJBgApqIAEQkgEgAkGACmogBRCWASACQYAKahCsASACQYAIaiACQYAKahAZIAJBgARqIA
- JBgAhqEJYBIAJBgAhqIAMQkgEgAkGACGogBRAZIAJBgApqIAJBgAhqEJIBIAJBgApqECsgAyACQYAEahCSASADIAJBgAp
- qEJYBIAJBgAZqIAJBgApqEJYBIAJBgAhqEGYgBCACQYAIahCWAQwDCyAAIAEQBgwECyACQcAMaiABQYAFahBeIAJBgAxq
- IAJBwAxqQcAAEGcaIAJBgAZqIAJBgAxqEKMBCyACQYAGahBmIAJBgAhqIAIQkgEgAkGACGoQKyACQYACaiACQYAIahCWA
- SAFIAJBgAJqEJIBIAJBgARqIAJBgAhqEJIBIAJBgAhqIAAQkgEgAkGACGogAxCWASACQYAIahCsASACQYAKaiABEJIBIA
- JBgApqIAFBgARqEJYBIAJBgApqEKwBIAJBgAhqIAJBgApqEBkgAkGABGogAkGACGoQlgEgAkGACGogAxCSAQJAIARBAkc
- EQCACQcAMaiABQYAFahBeIAJBgAhqIAJBwAxqEKIBDAELIAJBwAxqIAFBgAVqEF4gAkGADGogAkHADGpBwAAQZxogAkGA
- CGogAkGADGoQowELIAJBgAhqEGYgAkGACmogAkGACGoQkgEgAkGACmoQKyADIAJBgARqEJIBIAMgAkGACmoQlgEgAkGAB
- mogAkGACmoQlgEgAkGACGoQZiAFIAJBgAhqEJYBCyACQYAGahCsASACQYAGahBmIAAgAhCSASAAIAJBgAZqEJYBIABBBT
- YCgAYgABCZAQwBCyAAIAEQbAsgAkHADWokAAuaCQIPfwt+IwBBwAJrIgIkACACQeAAakGgp8AAEF8gAEE4EHIhDCACQZg
- BakHwABByGiACQZACakEwEHIaIAwQdCACIAEpAwAiFEL9//P/z///+QF+Qv//////////A4MiETcDiAIgAkHQAGogEUIA
- IAIpA2AiGCAYQj+HIhoQMSAUIAIpA1AiEXwiFiARVK0gAkHYAGopAwAgFEI/h3x8IhRCOocgASkDCCIRQj+HfCARIBRCB
- oYgFkI6iIQiEXwiEiARVK18IRNBASEDAkADQAJAIANBB0YEQCACQZACaiEJIAJB6ABqIQpBByEEIAJB4ABqIQ0gAkGIAm
- ohDkEGIQ8MAQsgA0EBdiIAQQFqIQUgCiAAayEGIAkgAEEDdCIHayEAIAdBCGohCCACQUBrIANBA3QiBCACQeAAamopAwA
- iFiAWQj+HIhQgAikDiAIiESARQj+HEDEgAkHIAGopAwAgEiAVfCIRIBJUrSATIBd8fHwgESACKQNAfCITIBFUrXwhEiAD
- QQFqIQcDQCADIAVNBEAgAkGIAmogBGogE0L9//P/z///+QF+Qv//////////A4MiETcDACACQTBqIBFCACAYIBoQMSACQ
- SBqIBFCACAWIBQQMSACQZgBaiADQQR0aiIAIAJBKGopAwAiGzcDCCAAIAIpAyAiGTcDACACKQMwIhEgE3wiFiARVK0gAk
- E4aikDACASfHwiFEI6hyABIAdBA3RqKQMAIhFCP4d8IBEgFEIGhiAWQjqIhCIRfCISIBFUrXwhEyAVIBl8IhUgGVStIBc
- gG3x8IRcgCUEIaiEJIApBAWohCiAHIQMMAwsgBkEGSw0DIAJBEGogAkHgAGogCGopAwAgAkHgAGogAGopAwB9IhEgEUI/
- hyACQYgCaiAAaikDACACQYgCaiAIaikDAH0iESARQj+HEDEgAikDECIRIBN8IhMgEVStIAJBGGopAwAgEnx8IRIgBUEBa
- iEFIABBeGohACAGQX9qIQYgCEEIaiEIDAALAAsLA0ACQCAEQQ1HBEAgDyAEQQF2IgBrIQUgDiAAQQN0IgtrIRAgDSALay
- EIIBMgF3wgEiAVfCITIBJUrXwhEiAEQQFqIQdBMCEAIAkhBiAKIQMDQCAAIAtGDQIgBUEGTQRAIAIgAyALaikDACAAIAh
- qKQMAfSIRIBFCP4cgACAQaikDACAGIAtqKQMAfSIRIBFCP4cQMSACKQMAIhEgE3wiEyARVK0gAkEIaikDACASfHwhEiAF
- QX9qIQUgBkEIaiEGIANBCGohAyAAQXhqIQAMAQsLIAVBB0HknsAAEDwACyAMIBJC//////////8DgzcDMCACQcACaiQAD
- wsgBEEDdCAMakFIaiATQv//////////A4M3AwAgEkI6hyABIAdBA3RqKQMAIhFCP4d8IBEgEkIGhiATQjqIhCIRfCISIB
- FUrXwhEyAXIARBBHQgAmpBOGoiAEEIaikDAH0gFSAAKQMAIhFUrX0hFyAOQQhqIQ4gDUEIaiENIA9BAWohDyAVIBF9IRU
- gByEEDAALAAsgBkEHQdSewAAQPAAL+QkBBH8jAEGACWsiAiQAIAJBgAhqIAAQXiACIAJBgAhqEF4gAkGACGogAEGAAWoi
- BBBeIAJBgAFqIAJBgAhqEF4gAkGACGogARBeIAIgAkGACGoQDyACQYAIaiABQYABaiIFEF4gAkGAAWogAkGACGoQDyAAK
- AKABiEDAkACQCABKAKABkECRwRAIANBAkYNASACQYAIaiAAQYAFahBeIAJBgAJqIAJBgAhqEF4gAkGACGogAUGABWoQXi
- ACQYACaiACQYAIahAPDAILIANBAkYEQCACQYAIaiAAQYAFahBeIAJBgAdqIAJBgAhqQcAAEGcaIAJBgAZqIAJBgAdqEIU
- BIAJBgAhqIAFBgAVqEF4gAkGAB2ogAkGACGpBwAAQZxogAkGABmogAkGAB2oQSCACQYAIakE4EHIaIAJBATYCuAggAkHA
- CGpBOBByIAJB+AhqQQE2AgAgAkGACGogAkGABmoQpQEQsgEgAkGAAmogAkGACGpBgAEQZxoMAgsgAkGACGogAEGABWoQX
- iACQYACaiACQYAIahBeIAJBgAhqIAFBgAVqEF4gAkGAB2ogAkGACGpBwAAQZxogAkGAAmogAkGAB2oQoAEMAQsgAkGACG
- ogAUGABWoQXiACQYACaiACQYAIahBeIAJBgAhqIABBgAVqEF4gAkGAB2ogAkGACGpBwAAQZxogAkGAAmogAkGAB2oQoAE
- LIAJBgAhqIAAQXiACQYADaiACQYAIahBeIAJBgAhqIAEQXiACQYAEaiACQYAIahBeIAJBgAhqIAQQXiACQYADaiACQYAI
- ahCVASACQYADahCoASACQYAIaiAFEF4gAkGABGogAkGACGoQlQEgAkGABGoQqAEgAkGABWogAkGAA2oQXiACQYAFaiACQ
- YAEahAPIAJBgAZqIAIQXiACQYAGaiACQYABahCVASACQYAGahA6IAJBgAVqIAJBgAZqEJUBIAJBgAhqIAAQXiACQYADai
- ACQYAIahCQASACQYAIaiAAQYAFaiIDEF4gAkGAA2ogAkGACGoQlQEgAkGAA2oQqAEgAkGACGogARBeIAJBgARqIAJBgAh
- qEJABIAJBgAhqIAFBgAVqIgEQXiACQYAEaiACQYAIahCVASACQYAEahCoASACQYAHaiACQYADahBeIAJBgAdqIAJBgARq
- EA8gAkGABmogAhCQASACQYAGaiACQYACahCVASACQYAGahA6IAJBgAdqIAJBgAZqEJUBIAJBgAhqIAQQXiACQYADaiACQ
- YAIahCQASACQYAIaiADEF4gAkGAA2ogAkGACGoQlQEgAkGAA2oQqAEgAkGACGogBRBeIAJBgARqIAJBgAhqEJABIAJBgA
- hqIAEQXiACQYAEaiACQYAIahCVASACQYAEahCoASACQYAIaiACQYADahBeIAJBgAhqIAJBgARqEA8gAkGABmogAkGAAWo
- QkAEgAkGABmogAkGAAmoQlQEgAkGABmoQOiACQYAIaiACQYAGahCVASACQYABahBVIAIgAkGAAWoQlQEgACACIAJBgAVq
- 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
- GogAkGABWoQfSACQYAEahCoASACQYAFaiAAEJABIAJBgAVqIAQQlQEgAkGABWoQqAEgAkGABmogARBeIAJBgAZqIAYQlQ
- EgAkGABmoQqAEgAkGABWogAkGABmoQDyACQYAGaiACEJABIAJBgAZqIAJBgAJqEJUBIAJBgAZqIAJBgAVqELUBIAJBgAZ
- qEKgBIAJBgAVqIAIQkAEgAkGABWogAhCVASACIAJBgAVqEJUBIAIQqAEgAkGAAmpBDBCfASACQYACahBVIAJBgAJqEKgB
- IAJBgAdqIAJBgAFqEF4gAkGAB2ogAkGAAmoQlQEgAkGAB2oQqAEgAkGAAWogAkGAAmoQfSACQYABahCoASACQYAGakEME
- J8BIAJBgAZqEFUgAkGABmoQqAEgAkGABWogAkGABmoQkAEgAkGABWogAkGABGoQDyACQYACaiACQYADahCQASACQYACai
- ACQYABahAPIAJBgAVqIAJBgAJqELUBIAJBgAZqIAIQDyACQYABaiACQYAHahAPIAJBgAZqIAJBgAFqEJUBIAIgAkGAA2o
- QDyACQYAHaiACQYAEahAPIAJBgAdqIAIQlQEgACACQYAFahCQASAAEKgBIAMgAkGABmoQkAEgAxCoASAEIAJBgAdqEJAB
- IAQQqAEgAkGACGokAAv2BQEFfyMAQYAEayICJAAgAiAAEIUBIAIgARBIIAJBQGsgAEFAayIDEIUBIAJBQGsgAUFAayIFE
- EggAkGAAWogAEGAAWoiBBCFASACQYABaiABQYABaiIGEEggAkHAAWogABCFASACQcABaiADEHggAkHAAWoQRCACQYACai
- ABEIUBIAJBgAJqIAUQeCACQYACahBEIAJBwAFqIAJBgAJqEEggAkGAAmogAhClASACQYACaiACQUBrEHggAkHAAWogAkG
- AAmoQgAEgAkHAAWoQRCACQYACaiADEKUBIAJBgAJqIAQQeCACQYACahBEIAJBwAJqIAUQhQEgAkHAAmogBhB4IAJBwAJq
- EEQgAkGAAmogAkHAAmoQSCACQcACaiACQUBrEKUBIAJBwAJqIAJBgAFqEHggAkGAAmogAkHAAmoQgAEgAkGAAmoQRCACQ
- cACaiAAEKUBIAJBwAJqIAQQeCACQcACahBEIAJBgANqIAEQhQEgAkGAA2ogBhB4IAJBgANqEEQgAkHAAmogAkGAA2oQSC
- ACQYADaiACEKUBIAJBgANqIAJBgAFqEHggAkGAA2ogAkHAAmoQswEgAkGAA2oQRCACQcACaiACEKUBIAJBwAJqIAIQeCA
- CIAJBwAJqEHggAhBEIAJBgAFqQQwQUiACQcADaiACQUBrEIUBIAJBwANqIAJBgAFqEHggAkHAA2oQRCACQUBrIAJBgAFq
- EIABIAJBQGsQRCACQYADakEMEFIgAkHAAmogAkGAA2oQpQEgAkHAAmogAkGAAmoQSCACQYABaiACQcABahClASACQYABa
- iACQUBrEEggAkHAAmogAkGAAWoQswEgAkGAA2ogAhBIIAJBQGsgAkHAA2oQSCACQYADaiACQUBrEHggAiACQcABahBIIA
- JBwANqIAJBgAJqEEggAkHAA2ogAhB4IAAgAkHAAmoQpQEgABBEIAMgAkGAA2oQpQEgAxBEIAQgAkHAA2oQpQEgBBBEIAJ
- BgARqJAALxQUBBH8jAEHwEmsiACQAIAAQOEF/IQEgABCIAUUEQCAAQYADakE4EHIaIABBuANqQTgQchogAEG4A2ogAEGA
- A2oQVCAAQfAKakG4gMAAEF8gAEHwDWpB8IDAABBfIABB8ANqIABB8ApqIABB8A1qEEkgAEHwBGpBOBByGiAAQQE2AqgFI
- ABBsAVqQTgQchogAEHoBWpBATYCACAAQfAFakE4EHIaIABBATYCqAYgAEGwBmpBOBByGiAAQegGakEBNgIAIABB8AZqQT
- gQchogAEEBNgKoByAAQbAHakE4EHIaIABB6AdqQQE2AgBBf2ohAyAAQfAHahAqIABB8AdqIAAQfiAAQfAKahAqIABB8Ap
- qIABB8AdqEH4gAEHwDWoQKiAAQfANaiAAQfAHahB+IABB8A1qEJwBAkACQAJAA0AgAiEBIANBAkkNAyAAQfAKaiAAQfAE
- aiAAQfAFaiAAQfAGahAlIAFBxABNBEAgAEHwEGogAEHwBGogAEHwBWogAEHwBmoQRiABQQh0QdCrwABqIABB8BBqEJIBI
- AFBAWohAgJAAkAgAEG4A2ogA0F/aiIDEFcgAEGAA2ogAxBXa0EBag4DAQMAAwsgAEHwCmogAEHwB2ogAEHwBGogAEHwBW
- ogAEHwBmoQHiABQcMASw0DIABB8BBqIABB8ARqIABB8AVqIABB8AZqEEYgAkEIdEHQq8AAaiAAQfAQahCSASABQQJqIQI
- MAgsgAEHwCmogAEHwDWogAEHwBGogAEHwBWogAEHwBmoQHiABQcMASw0DIABB8BBqIABB8ARqIABB8AVqIABB8AZqEEYg
- AkEIdEHQq8AAaiAAQfAQahCSASABQQJqIQIMAQsLIAFBxQBBvIHAABA8AAtBxQBBxQBBzIHAABA8AAtBxQBBxQBB3IHAA
- BA8AAtBACEBCyAAQfASaiQAIAEL8gQBBH8jAEGADGsiAiQAIAIgABCOASACQYACahAvIAJBgARqIABBgAJqIgMQjgEgAk
- GABmoQLyACQYAIaiAAEI4BIAJBgApqIAEQjgEgAiABEBkgAkGABGogAUGAAmoiBBAZIAJBgAhqIAMQlgEgAkGACmogBBC
- WASACQYAIahCsASACQYAKahCsASACQYACaiACQYAIahCSASACQYACaiACQYAKahAZIAJBgAhqIAMQkgEgAkGACGogAEGA
- BGoiBRCWASACQYAKaiAEEJIBIAJBgApqIAFBgARqIgQQlgEgAkGACGoQrAEgAkGACmoQrAEgAkGABmogAkGACGoQkgEgA
- kGABmogAkGACmoQGSACQYAIaiACEJIBIAJBgAhqECsgAkGACmogAkGABGoQkgEgAkGACmoQKyACQYACaiACQYAIahCWAS
- ADIAJBgAJqEJIBIAMgAkGACmoQlgEgAkGABmogAkGACmoQlgEgAkGABGogAkGACGoQlgEgAkGACGogABCSASACQYAIaiA
- FEJYBIAJBgAhqEKwBIAJBgApqIAEQkgEgAkGACmogBBCWASACQYAKahCsASACQYAIaiACQYAKahAZIAJBgARqIAJBgAhq
- EJYBIAJBgAhqIAUQkgEgAkGACGogBBAZIAJBgApqIAJBgAhqEJIBIAJBgApqECsgBSACQYAEahCSASAFIAJBgApqEJYBI
- AJBgAZqIAJBgApqEJYBIAJBgAhqEGYgAyACQYAIahCWASACQYAGahCsASACQYAGahBmIAAgAhCSASAAIAJBgAZqEJYBIA
- BBBTYCgAYgABCZASACQYAMaiQAC68EAQV/IwBBkAZrIgIkACAAQUBrIQQCQCABQfgAaigCACABKAI4aqwgAEH4AGooAgA
- iAyAAKAI4IgVqrH5CgICAEFMNACAFQQJOBH8gABASIAAoAngFIAMLQQJIDQAgBBASCyACQaCnwAAQX0EAIQMgAkE4akHw
- ABByGiABQUBrIQUDQCADQThGBEAgAkHwAGohBkEAIQMDQCADQThGRQRAIAMgBmogAiADaikDADcDACADQQhqIQMMAQsLI
- AJBqAFqIAAQXyACQeABaiABEF8gAkGYAmogACABEAggAkGIA2ogBCAFEAggAkGoAWogBBBhIAJBqAFqEEQgAkHgAWogBR
- BhIAJB4AFqEEQgAkH4A2ogAkGoAWogAkHgAWoQCEEAIQMgAkHoBGpB8AAQchoDQCADQfAARkUEQCACQegEaiADaiACQZg
- CaiADaikDADcDACADQQhqIQMMAQsLIAJB6ARqIAJBiANqEGVBACEDA0AgA0HwAEZFBEAgAkGIA2ogA2oiASACQThqIANq
- KQMAIAEpAwB9NwMAIANBCGohAwwBCwsgAkGYAmogAkGIA2oQZSACQZgCahBFIAJB+ANqIAJB6ARqEGQgAkH4A2oQRSACQ
- dgFaiACQZgCahAFIAAgAkHYBWoQayAAQQM2AjggAkHYBWogAkH4A2oQBSAEIAJB2AVqEGsgAEECNgJ4IAJBkAZqJAAFIA
- JBOGogA2pCADcDACADQQhqIQMMAQsLC5QEAQF/IwBB0CJrIgMkACADQcAWakG4gMAAEF8gA0HIHGpB8IDAABBfIANBCGo
- gA0HAFmogA0HIHGoQSSADQYgBakE4EHIaIANBwAFqQTgQchogA0H4AWoQKgJAIAIQhAFFBEAgA0H4BGoQKiADQfgEaiAB
- EH4gA0H4BGoQSiADQfgHahBLIANB+AdqIAIQfyADQfgHahBHIANByBxqIANB+AdqEIUBIANBuAlqIANByBxqEIUBIANBy
- BxqIANBuAhqEIUBIANB+AlqIANByBxqEIUBIANBuApqECogA0G4DWoQYCADQbgKaiADQfgEahB+IANBwBNqECogA0HAE2
- ogA0H4BGoQfiADQcATahCcASADQcABaiADQYgBahBUQX9qIQIDQCACQQFNBEAgA0G4DWoQkwEgACADQbgNakGIBhBnGgw
- DBSADQbgNahAbIANBwBZqIANBuApqIANBuAlqIANB+AlqEBcCQAJAAkAgA0HAAWogAkF/aiICEFcgA0GIAWogAhBXa0EB
- ag4DAQIAAgsgA0HIHGogA0G4CmogA0H4BGogA0G4CWogA0H4CWoQFiADQcAWaiADQcgcahAGDAELIANByBxqIANBuApqI
- ANBwBNqIANBuAlqIANB+AlqEBYgA0HAFmogA0HIHGoQBgsgA0G4DWogA0HAFmoQBAwBCwALAAsgABBgCyADQdAiaiQAC8
- MDARV/A0AgAUHAAUYEQAJAIABBKGohCyAAQRRqKAIAIgwhCCAAQRBqKAIAIg0hAyAAQQxqKAIAIg4hAiAAKAIIIg8hASA
- AQRhqKAIAIhAhCiAAQRxqKAIAIhEhBCAAQSBqKAIAIhIhByAAQSRqKAIAIhMhBgNAIAchCSAEIQcgCiEEIAVBgAJGDQEg
- AiADcSEUIAIgA3MhFSAFIAtqKAIAIAVB9J7AAGooAgAgBEEadyAEQRV3cyAEQQd3cyAGaiAJIARBf3NxIAQgB3FyampqI
- gYgCGohCiAFQQRqIQUgAyEIIAIhAyABIQIgAUEedyABQRN3cyABQQp3cyAUIAEgFXFzaiAGaiEBIAkhBgwACwALBSAAIA
- FqIgNB6ABqIANBzABqKAIAIANBKGooAgAgA0EsaigCACICQRl3IAJBDndzIAJBA3ZzIANB4ABqKAIAIgJBD3cgAkENd3M
- gAkEKdnNqamo2AgAgAUEEaiEBDAELCyAAIAYgE2o2AiQgACAJIBJqNgIgIAAgByARajYCHCAAIAQgEGo2AhggACAIIAxq
- NgIUIAAgAyANajYCECAAIAIgDmo2AgwgACABIA9qNgIIC9YDAgZ/An4jAEHwAGsiASQAIAFBoKfAABBfIAFBOGogARBfI
- AAQRAJAAkACQCABAn8gACgCOCICQRBMBEAgAkF/ahA5DAELIAEpAzAiCEIBfCIHIAhUDQEgACkDMCIIQoCAgICAgICAgH
- 9RQQAgB0J/URsNAiABQThqIAggB3+nECghByABIAEpA2ggB0I6hnw3A2ggACABQThqEGIgABBEQQILIgMQLSAAQQhqIQQ
- DQCADRQ0DIAEgASkDCEI5hkKAgICAgICAgAKDIAEpAwBCAYeEIgc3AwAgASAAKQMAIAd9IgdC//////////8DgzcDOEEA
- IQIDQCAHQjqHIQcgAkEoRkUEQCABIAJqIgVBCGoiBiAFQRBqKQMAQjmGQoCAgICAgICAAoMgBikDAEIBh4QiCDcDACABI
- AJqQUBrIAIgBGopAwAgCH0gB3wiB0L//////////wODNwMAIAJBCGohAgwBCwsgASABKQMwQgGHIgg3AzAgASAAKQMwIA
- h9IAd8Igc3A2ggACABQThqIAdCP4enQQFqEE8gA0F/aiEDDAALAAtBoKLAAEEZQbyiwAAQWwALQdCiwABBH0G8osAAEFs
- ACyAAQQE2AjggAUHwAGokAAuhAwEBfyMAQZADayIGJAAgBkEIakHAABByGiAGQcgAakGoAhByGiAGQcgAahBDA0AgAQRA
- IAZByABqQQAQPiABQX9qIQEMAQUCQCACBEAgBkHIAGogAiADEHoLIAQEQCAGQcgAaiAEIAUQegsgBkGIA2pCADcDACAGQ
- YADakIANwMAIAZB+AJqQgA3AwAgBkIANwPwAiAGKAJIIQEgBigCTCECIAZByABqQYABED4DQCAGKAJIQf8DcUHAA0ZFBE
- AgBkHIAGpBABA+DAELCyAGQawBaiABNgIAIAZBqAFqIAI2AgAgBkHIAGoQEUEAIQJBACEBA0AgAUEgRkUEQCAGQfACaiA
- BaiABQXxxIAZqQdAAaigCACACQX9zQRhxdjoAACACQQhqIQIgAUEBaiEBDAELCyAGQcgAahBDQQAhAQNAIAFBIEZFBEAg
- BkEIaiABaiAGQfACaiABai0AADoAACABQQFqIQEMAQsLQQAhAQNAIAFBIEYNASAAIAFqIAZBCGogAWotAAA6AAAgAUEBa
- iEBDAALAAsLCyAGQZADaiQAC6EDAQN/IwBBgAZrIgEkACABIABBgAFqIgMQXiABQYABaiADEF4gAUGAAWoQMiABQYACai
- ABEF4gAUGAAmogAEGAAmoiAhAPIAFBgANqIAIQXiABQYADahAyIAIgAUGAAWoQkAEgAiABQYABahCVASACEKgBIAIQpwE
- gAhCnASACEKgBIAFBgANqQQwQnwEgAUGAA2oQVSABQYADahCoASABQYAEaiABQYADahBeIAFBgARqIAIQDyABQYAFaiAB
- QYABahBeIAFBgAVqIAFBgANqEJUBIAFBgAVqEKgBIAIgAUGAAmoQDyABQYACaiABQYADahCQASABQYACaiABQYADahCVA
- SABQYADaiABQYACahCVASABQYADahCoASABQYABaiABQYADahB9IAFBgAFqEKgBIAFBgAVqIAFBgAFqEA8gAUGABWogAU
- GABGoQlQEgAUGAAmogABCQASABQYACaiABEA8gACABQYABahCQASAAEKgBIAAgAUGAAmoQDyAAEKcBIAAQqAEgAyABQYA
- FahCQASADEKgBIAFBgAZqJAALhQMBBH8CQAJAIAFBgAJPBEAgAEEYaigCACEEAkACQCAAIAAoAgwiAkYEQCAAQRRBECAA
- QRRqIgIoAgAiAxtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIAIgAEEQaiADGyEDA0AgAyEFIAEiA
- kEUaiIDKAIAIgFFBEAgAkEQaiEDIAIoAhAhAQsgAQ0ACyAFQQA2AgALIARFDQIgACAAQRxqKAIAQQJ0QeS3wQBqIgEoAg
- BHBEAgBEEQQRQgBCgCECAARhtqIAI2AgAgAkUNAwwCCyABIAI2AgAgAg0BQdi1wQBB2LXBACgCAEF+IAAoAhx3cTYCAA8
- LIABBDGooAgAiAiAAQQhqKAIAIgBHBEAgACACNgIMIAIgADYCCA8LQdS1wQBB1LXBACgCAEF+IAFBA3Z3cTYCAAwBCyAC
- IAQ2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgAEEUaigCACIARQ0AIAJBFGogADYCACAAIAI2AhgLC7MCAQF/IwBBg
- AtrIgUkACAFEC8gBUGAAmoQLyAFQYAEahAvIAVBgAZqQTgQchogBUEBNgK4BiAFQcAGakE4EHIaIAVB+AZqQQE2AgAgBU
- GAB2pBOBByGiAFQQE2ArgHIAVBwAdqQTgQchogBUH4B2pBATYCACAFQYAIakE4EHIaIAVBATYCuAggBUHACGpBOBByGiA
- FQfgIakEBNgIAIAEgAiAFQYAGaiAFQYAHaiAFQYAIahAeIAVBgAhqIAMQoAEgBUGABmogBBCgASAFQYAJaiAFQYAGaiAF
- QYAHahCRASAFIAVBgAlqEJIBIAVBgAlqIAVBgAhqEJsBIAVBgARqIAVBgAlqEJIBIAVBgARqEGYgACAFIAVBgAJqIAVBg
- ARqEHYgAEEDNgKABiAFQYALaiQAC7ECAQF/IwBBgAtrIgQkACAEEC8gBEGAAmoQLyAEQYAEahAvIARBgAZqQTgQchogBE
- EBNgK4BiAEQcAGakE4EHIaIARB+AZqQQE2AgAgBEGAB2pBOBByGiAEQQE2ArgHIARBwAdqQTgQchogBEH4B2pBATYCACA
- EQYAIakE4EHIaIARBATYCuAggBEHACGpBOBByGiAEQfgIakEBNgIAIAEgBEGABmogBEGAB2ogBEGACGoQJSAEQYAIaiAC
- EKABIARBgAZqIAMQoAEgBEGACWogBEGABmogBEGAB2oQkQEgBCAEQYAJahCSASAEQYAJaiAEQYAIahCbASAEQYAEaiAEQ
- YAJahCSASAEQYAEahBmIAAgBCAEQYACaiAEQYAEahB2IABBAzYCgAYgBEGAC2okAAvJAgEDfyMAQcACayIBJAAgASAAQU
- BrIgMQhQEgARADIAFBQGsgAxCFASABQUBrIABBgAFqIgIQSCABQYABaiACEIUBIAFBgAFqEAMgAiABEKUBIAIgARB4IAI
- QRCACEE4gAhBOIAIQRCABQYABakEMEFIgAUHAAWogAUGAAWoQhQEgAUHAAWogAhBIIAFBgAJqIAEQhQEgAUGAAmogAUGA
- AWoQeCABQYACahBEIAIgAUFAaxBIIAFBQGsgAUGAAWoQpQEgAUFAayABQYABahB4IAFBgAFqIAFBQGsQeCABIAFBgAFqE
- IABIAEQRCABQYACaiABEEggAUGAAmogAUHAAWoQeCABQUBrIAAQpQEgAUFAayADEEggACABEKUBIAAQRCAAIAFBQGsQSC
- AAEE4gABBEIAMgAUGAAmoQpQEgAxBEIAFBwAJqJAALrQIBA38jAEGABGsiAiQAIAIgABBeIAJBgAFqIABBgAFqIgMQXiA
- CQYACakE4EHIaIAJBATYCuAIgAkHAAmpBOBByGiACQfgCakEBNgIAIAJBgANqIAMQXiACIAEQDyACQYABaiABQYABaiIE
- EA8gAkGAAmogBBCQASACQYACaiABEJUBIAJBgANqIAAQlQEgAkGAAmoQqAEgAkGAA2oQqAEgAkGAA2ogAkGAAmoQDyACQ
- YACaiACEJABIAJBgAJqEDogAkGAA2ogAkGAAmoQlQEgAkGAA2oQqAEgAkGAAmogAkGAAWoQkAEgAkGAAmoQOiADIAJBgA
- NqEJABIAMgAkGAAmoQlQEgAkGAAWoQVSAAIAJBgAFqEJABIAAgAhCVASAAEKwBIAJBgARqJAALvQIBA38jAEGACGsiASQ
- AIAEgABCOASABQYACaiAAQYAEaiICEI4BIAFBgARqIABBgAJqIgMQjgEgAUGABmoQLyAAECIgAUGABmogABCSASABQYAG
- aiAAEJYBIAAgAUGABmoQlgEgABCsASABELYBIAEQrwEgACABEJYBIAFBgAJqECIgAUGAAmoQZiABQYAGaiABQYACahCSA
- SABQYAGaiABQYACahCWASABQYACaiABQYAGahCWASABQYACahCsASABQYAEahAiIAFBgAZqIAFBgARqEJIBIAFBgAZqIA
- FBgARqEJYBIAFBgARqIAFBgAZqEJYBIAFBgARqEKwBIAMQrgEgAxCvASACELYBIAIQrwEgAyABQYACahCWASACIAFBgAR
- qEJYBIABBBTYCgAYgABCaASABQYAIaiQAC7ICAQN/IwBBgAhrIgEkACAAKAKABkEBRwRAIAEgABCOASABQYACaiAAQYAC
- aiIDEI4BIAFBgARqIABBgARqIgIQjgEgAUGABmogABCOASABECIgAUGAAmogAhAZIAFBgAJqEK8BIAFBgAJqEKwBIAFBg
- ARqECIgAUGABmogAxAZIAFBgAZqEK8BIAIgABCWASACIAMQlgEgAhCsASACECIgACABEJIBIAEgAUGAAmoQlgEgARCsAS
- ABIAFBgARqEJYBIAEgAUGABmoQlgEgARCsASABECsgAUGAAmoQZiABQYAEahBmIAAgAUGAAmoQlgEgAyABQYAEahCSASA
- DIAFBgAZqEJYBIAIgARCWASAAQQRBBSAAKAKABkF+cUECRhs2AoAGIAAQmQELIAFBgAhqJAALigIBAn8jAEHgAWsiAiQA
- IAAQRCACQQhqQTAQchogAkIBNwMAIAJBOGogABBfIAJB8ABqIAEQXyACQagBakE4EHIaIAAQdANAIAJBOGogAkHwAGoQN
- UF/TARAA0ACQCADQQBMDQAgAkHwAGpBARA7IAJBARA7IAJBqAFqIAJBOGoQayACQagBaiACQfAAahBiIAJBqAFqEEQgAk
- E4aiACQagBaiACKQPYAUI/h6dBAWoiARBPIAJBqAFqIAAQayACQagBaiACEGEgAkGoAWoQRCAAIAJBqAFqIAEQTyADQX9
- qIQMMAQsLBSACQQEQLSACQfAAakEBEC0gA0EBaiEDDAELCyACQeABaiQAC54CAQF/IwBBgA1rIgMkACADIAEQaiADEJkB
- IANBiAZqIAIQXyADQYgGahBEIANBwAZqIANBiAZqEF8gA0HABmpBAxAoGiADQcAGahBEIANB+AZqIAMQagJAIANBwAZqE
- FpFBEAgA0HABmoQKUF/aiECA0AgAkEBTQRAIANB+AZqEJoBDAMLIANB+AZqEBoCQAJAIANBwAZqIAJBf2oiAhBXIANBiA
- ZqIAIQV2tBAWoOAwECAAILIANB+AZqIAMQDgwBCyADEJMBIANB+AZqIAMQDiADEJMBDAALAAsgA0H4BmoQsAEgA0H4B2o
- QqQEgA0H4CGoQrQEgA0H4CmoQrQEgA0EBNgL4DAsgACADQfgGakGIBhBnGiADQYANaiQAC5ACAQJ/IwBBgAJrIgUkACAF
- QYABaiAAEF4gAiAFQYABahCQASAFQYABaiAAQYABahBeIAQgBUGAAWoQkAEgBUGAAWogAEGAAmoiBhBeIAUgBUGAAWoQX
- iAFQYABaiAGEF4gAyAFQYABahCQASAFQYABaiABQYABaiIGEF4gBSAFQYABahAPIAVBgAFqIAEQXiADIAVBgAFqEA8gAi
- ADEH0gAhCoASAEIAUQfSAEEKgBIAUgAhCQASACEFUgAhCoASAFQYABaiAGEF4gBSAFQYABahAPIAMgBBCQASAFQYABaiA
- BEF4gAyAFQYABahAPIAMgBRB9IAMQqAEgBBA6IAQQqAEgACABEAsgBUGAAmokAAvkAQECfyMAQcABayIDJAAgAxBLIAAg
- ASACQR91IgQgAnMgBEF/c2pBAm0iAkF/akEfdhBtIAAgAUHAAWogAkEBc0F/akEfdhBtIAAgAUGAA2ogAkECc0F/akEfd
- hBtIAAgAUHABGogAkEDc0F/akEfdhBtIAAgAUGABmogAkEEc0F/akEfdhBtIAAgAUHAB2ogAkEFc0F/akEfdhBtIAAgAU
- GACWogAkEGc0F/akEfdhBtIAAgAUHACmogAkEHc0F/akEfdhBtIAMgABB/IAMQpgEgACADIARBAXEQbSADQcABaiQAC+Q
- BAQJ/IwBBgANrIgMkACADECogACABIAJBH3UiBCACcyAEQX9zakECbSICQX9qQR92EG8gACABQYADaiACQQFzQX9qQR92
- EG8gACABQYAGaiACQQJzQX9qQR92EG8gACABQYAJaiACQQNzQX9qQR92EG8gACABQYAMaiACQQRzQX9qQR92EG8gACABQ
- YAPaiACQQVzQX9qQR92EG8gACABQYASaiACQQZzQX9qQR92EG8gACABQYAVaiACQQdzQX9qQR92EG8gAyAAEH4gAxCcAS
- AAIAMgBEEBcRBvIANBgANqJAALvAEBAn8jAEGwAWsiAiQAIAJBMBByIQIDQCADQTBGBEACQCABQTBqIQEgAkEwaiACEHV
- BACEDA0AgA0EwRg0BIAIgA2ogASADai0AADoAACADQQFqIQMMAAsACwUgAiADaiABIANqLQAAOgAAIANBAWohAwwBCwsg
- AkHwAGogAhB1IABBOBByIgBBATYCOCAAQUBrQTgQciAAQfgAakEBNgIAIAAgAkHwAGoQpQEgAkEwahClASACQbABaiQAC
- 9QBAQJ/IwBBgANrIgEkACABIAAQXiABQYABaiAAQYABaiICEF4gAUGAAmogABBeIAFBgAJqIAIQDyABIAIQlQEgAUGAAW
- oQVSABQYABaiAAEJUBIAEQqAEgAUGAAWoQqAEgACABEJABIAAgAUGAAWoQDyABQYABaiABQYACahCQASABQYABahBVIAF
- BgAFqIAFBgAJqEJUBIAFBgAFqEKgBIAFBgAFqEDogACABQYABahCVASABQYACahCnASACIAFBgAJqEJABIAAQrAEgAUGA
- A2okAAvEAQEBfyMAQYADayIDJAAgA0EIaiABEIUBAkAgAkUEQCADQQhqEAcMAQsgA0EIaiACEKUBCyADQcgAakHYo8AAE
- F8gA0GAAWogA0HIAGoQiwEgA0HAAWogA0EIahCFASADQcABahADIANBwAFqIAEQSCAAIAEQhQEgACADQQhqEEggA0GAAm
- ogA0HAAWoQhQEgABBYIQEgA0HAAmogABCFASADQcACahBBIANBwAJqEEQgACADQcACaiABEHkgA0GAA2okAAufAQEBfyM
- AQfAAayICJAAgAiABEF9BACEBIAJBOGpBOBByGiAAEEQCQCAAIAIQNUEASA0AA0AgAkEBEC0gAUEBaiEBIAAgAhA1QX9K
- DQALA0AgAUEATA0BIAJBARA7IAJBOGogABBrIAJBOGogAhBiIAJBOGoQRCAAIAJBOGogAikDaEI/h6dBAWoQTyABQX9qI
- QEMAAsACyACQfAAaiQAC7IBAQF/IwBBgAJrIgQkACAEQYABaiAAEF4gAyAEQYABahCQASAEQYABaiAAQYABahBeIAQgBE
- GAAWoQXiAEQYABaiAAQYACahBeIAIgBEGAAWoQkAEgASAEEJABIAEgAhAPIAMQMiAEEDIgAhAyIAEQpwEgARA6IAEQqAE
- gARBVIAEQqAEgAkEMEJ8BIANBAxCfASACEFUgAhCoASACIAQQfSACEKgBIAAQFCAEQYACaiQAC58BAQJ/IwBBgAJrIgIk
- ACAAIAEQXiAAEDIgAkGIAWpB2KTAABBfIAJBCGpBOBByGiACQQE2AkAgAkHIAGpBOBByIAJBgAFqQQE2AgAgAkHAAWogA
- kGIAWoQiwEgAkEIaiACQcABahClARCyASACQQhqEKgBIAJBCGoQVSACQQhqEKgBIAAgARAPIAAgAkEIahCVASAAEKsBIA
- JBgAJqJAALowEBAX8jAEEwayIGJAAgBkEQaiAAIAEQsQEgBiAGKAIUIgA2AhwgBiAGKAIQIgE2AhggBkEIaiACIAMQsQE
- gBiAGKAIMIgI2AiQgBiAGKAIIIgM2AiAgBiAEIAUQsQEgBiAGKAIEIgQ2AiwgBiAGKAIAIgU2AiggASAAIAMgAiAFIAQQ
- ACAGQShqEKQBIAZBIGoQpAEgBkEYahCkASAGQTBqJAALiAECA38DfiMAQRBrIgIkAAN+IANBOEYEfiACQRBqJAAgBgUgA
- iAAIANqIgQpAwAiBSAFQj+HIAGsIgUgBUI/hxAxIAQgAikDACIHIAZ8IgVC//////////8DgzcDACAFIAdUrSACQQhqKQ
- MAIAZCP4d8fEIGhiAFQjqIhCEGIANBCGohAwwBCwsLhAECA38BfiMAQUBqIgEkACABQQhqIAAQXyABQQhqEEQgAUE4aiE
- CQQYhA0HcAiEAAn8DQEEAIANBAEgNARogAikDACIEUARAIAJBeGohAiAAQUZqIQAgA0F/aiEDDAELCwN/IARQBH8gAAUg
- AEEBaiEAIARCAn8hBAwBCwsLIAFBQGskAAuHAQEBfyMAQcABayIBJAAgAEE4EHIiAEEBNgI4IABBQGtBOBByGiAAQfgAa
- kEBNgIAIAEQUCABQYgBakE4EHIaIABBgAFqIAFBgAEQZxogAEGAAmpBOBByGiAAQbgCakEBNgIAIABBvAJqIAFBhAFqQT
- wQZxogAEH4AmpBATYCACABQcABaiQAC48BAQJ/IwBBgAJrIgEkACAAEKwBIAEgABBeIAFBgAFqQTgQchogAUEBNgK4ASA
- BQcABakE4EHIaIAFB+AFqQQE2AgAgASAAQYABaiICEJUBIAEQOiABQYABaiABEJABIAFBgAFqIAIQlQEgAiABEJABIAIg
- ABCVASAAIAFBgAFqEJABIAAQrAEgAUGAAmokAAt9AgF/An4jAEGAAWsiASQAIAFBCGogABCFASABQQhqEBIgAUHIAGogA
- UEIahCDAUEIIQADQCAAQThGRQRAIAFByABqIABqKQMAIAKEIQIgAEEIaiEADAELCyABKQNIIQMgAUGAAWokACACQn98IA
- NCAYVCf3yDQjqIp0EBcQuJAQIBfwJ+IAAgACkDMCABQT9xrSIDhiAAKQMoQTogAWtBP3GtIgSHhDcDMCAAQShqIQFBBiE
- CA0AgAkEBTQRAIAAgACkDACADhkL//////////wODNwMABSABIAEpAwAgA4ZC//////////8DgyABQXhqIgEpAwAgBIeE
- NwMAIAJBf2ohAgwBCwsLiQECAX8CfiAAIAApA2BBOiABQTpwIgFrrSIEhyAAKQNoIAGtIgOGhDcDaCAAQeAAaiEBQQ0hA
- gNAIAJBAU0EQCAAIAApAwAgA4ZC//////////8DgzcDAAUgASABKQMAIAOGQv//////////A4MgAUF4aiIBKQMAIASHhD
- cDACACQX9qIQIMAQsLC3EBAX8jAEFAaiIBJAAgAEE4EHIiAEEBNgI4IABBQGtBOBByGiAAQfgAakEBNgIAIAFBCGpBOBB
- yGiAAQYABakE4EHIaIABBuAFqQQE2AgAgAEG8AWogAUEEakE8EGcaIABB+AFqQQE2AgAgAUFAayQAC4EBAgF/AX4gAEHw
- ABByIQADQCACQThGBEACQCAAIAEpAzAiA0I6hzcDOCAAIANC//////////8DgzcDMCAAQUBrIQBBACECA0AgAkEwRg0BI
- AAgAmpCADcDACACQQhqIQIMAAsACwUgACACaiABIAJqKQMANwMAIAJBCGohAgwBCwsLdQECfiAAIANCIIgiBSABQiCIIg
- Z+IAIgA358IAEgBH58IANC/////w+DIgIgAUL/////D4MiAX4iA0IgiCACIAZ+fCICQiCIfCABIAV+IAJC/////w+DfCI
- BQiCIfDcDCCAAIANC/////w+DIAFCIIaENwMAC3YBAn8jAEHAAWsiASQAIAEgABCFASABQUBrIAAQhQEgAUGAAWogAEFA
- ayICEIUBIAEgAhB4IAFBQGsgABB4IAFBQGsQRCACIAFBQGsQSCABQYABahBBIAAgAUGAAWoQeCABEEQgABBEIAAgARBII
- AFBwAFqJAALkwEBAn9B0LXBAEHQtcEAKAIAQQFqNgIAAkACQEGYucEAKAIAQQFGBEBBnLnBAEGcucEAKAIAQQFqIgA2Ag
- AgAEECSw0CQaC5wQAoAgAiAUF/Sg0BDAILQZi5wQBCgYCAgBA3AwBBoLnBACgCACIAQQBIDQFBoLnBACAANgIAAAtBoLn
- BACABNgIAIABBAUsNAAALAAtnAQJ/IwBBQGoiAiQAIAAQRCACIAAQhQECQCABRQRAIAAQBwwBCyAAIAEQpQELQQAhAQNA
- IAFBAUsgA3JFBEAgABADIAFBAEchAyABIAFFaiEBDAELCyAAIAIQSCAAEBIgAkFAayQAC18CAX8EfkIBIQNBMCECA38gA
- kF4RgR/IARCAYYgA3ynQX9qBSABIAJqKQMAIgUgACACaikDACIGfUI6hyADgyAEhCEEIAJBeGohAiAFIAaFQn98QjqHIA
- ODIQMMAQsLC2ACAX8EfkIBIQNB6AAhAgN/IAJBeEYEfyAEQgGGIAN8p0F/agUgASACaikDACIFIAAgAmopAwAiBn1COoc
- gA4MgBIQhBCACQXhqIQIgBSAGhUJ/fEI6hyADgyEDDAELCwt3AQN/IwBBgAJrIgIkACACIAEQXiACQYABaiABEF4gAhAy
- IAJBgAFqIAIQDyAAIAJBgAFqEJcBIABBgAJqIgMgAkGAAWoQlwEgAEGABGoiBCACQYABahCXASADIAEQogEgBCACEKIBI
- ABBBTYCgAYgAkGAAmokAAt6AQF/IwBB4ANrIgEkACABQYABakHApcAAEF8gAUG4AWpB+KXAABBfIAEgAUGAAWogAUG4AW
- oQSSABQfACakGwpsAAEF8gAUGoA2pB6KbAABBfIAFB8AFqIAFB8AJqIAFBqANqEEkgACABIAFB8AFqED8gAUHgA2okAAt
- nACAAQQF2IAByIgBBAnYgAHIiAEEEdiAAciIAQQh2IAByIgBBEHYgAHIiACAAQQF2QdWq1aoFcWsiAEECdkGz5syZA3Eg
- AEGz5syZA3FqIgBBBHYgAGpBj568+ABxQYGChAhsQRh2C2cBAn8jAEGAAWsiASQAIAEgABCFASABQUBrQTgQchogAUEBN
- gJ4IAEgAEFAayICEHggARBBIAFBQGsgARClASABQUBrIAIQeCACIAEQpQEgAiAAEHggACABQUBrEKUBIAFBgAFqJAALaA
- IBfwJ+IAFBP3GtIQNBOiABa0E/ca0hBEEAIQEDQCABQTBGBEAgACAAKQMwIAOHNwMwBSAAIAFqIgIgAkEIaikDACAEhkL
- //////////wODIAIpAwAgA4eENwMAIAFBCGohAQwBCwsLbAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYC
- ACADQSxqQQI2AgAgA0ICNwIMIANBlKjAADYCCCADQQI2AiQgAyADQSBqNgIYIAMgAzYCKCADIANBBGo2AiAgA0EIaiACE
- HAAC2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakECNgIAIANCAjcCDCADQbCqwAA2AgggA0
- ECNgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhBwAAtlAQJ/IAAgACgCACICQQhqIgM2AgAgACACQQN
- 2QTxxakEoaiICIAFB/wFxIAIoAgBBCHRyNgIAAkACQCADRQRAIABBADYCACAAIAAoAgRBAWo2AgQMAQsgA0H/A3ENAQsg
- ABARCwtnAQF/IwBBgAJrIgMkACAAECogACABEJABIABBgAFqIgEgAhCQASAAQYACahCwASAAEKgBIAMgABAmIANBgAFqI
- AEQXiADQYABahAyIANBgAFqIAMQe0UEQCAAEJgBCyADQYACaiQAC18BAn8jAEGAAWsiASQAIAAQqAEgASAAEIUBIAFBQG
- sgAEFAayICEIUBIAEQAyABQUBrEAMgASABQUBrEHggAUEAEDQgACABEEggARBBIAEQRCACIAEQSCABQYABaiQAC10BAn8
- jAEFAaiIBJAAgAUEIakGgp8AAEF8gAUEIaiAAKAI4QX9qEDkiAhAtIAAgAUEIahBjIABBASACQQFqQR9xdCICNgI4IAJB
- gICAEE4EQCAAEBILIAFBQGskAAtfAgF/AX4jAEHwAGsiASQAIAFBoKfAABBfIAApAwAhAiABQThqIAAQXyAAQQEQOyABQ
- ThqIAEQYSABQThqEEQgAUE4akEBEDsgACABQThqIAJCAoGnEE8gAUHwAGokAAt7AQJ/IABBKGohAgNAIAFBgAJGBEAgAE
- LnzKfQ1tDrs7t/NwIIIABCADcCACAAQSBqQquzj/yRo7Pw2wA3AgAgAEEYakL/pLmIxZHagpt/NwIAIABBEGpC8ua746O
- n/aelfzcCAAUgASACakEANgIAIAFBBGohAQwBCwsLaQICfwF+IAAgACkDACIDQv//////////A4M3AwBBCCEBA0AgA0I6
- hyEDIAFBMEYEQCAAIAApAzAgA3w3AzAFIAAgAWoiAiACKQMAIAN8IgNC//////////8DgzcDACABQQhqIQEMAQsLC2oCA
- n8BfiAAIAApAwAiA0L//////////wODNwMAQQghAQNAIANCOochAyABQegARgRAIAAgACkDaCADfDcDaAUgACABaiICIA
- IpAwAgA3wiA0L//////////wODNwMAIAFBCGohAQwBCwsLWQEBfyMAQYADayIEJAAgBCADEF4gBBBAIARBgAFqIAEQXiA
- EQYACaiACEF4gBEGAAWogBBAPIARBgAJqIAQQDyAAIARBgAFqIARBgAJqEJEBIARBgANqJAALWQECfyMAQUBqIgEkAAJA
- IAAQhAENACABQQEQigEgAEGAAWoiAiABEFkNACACQQAQNCAAIAIQSCAAEBIgAEFAayIAIAIQSCAAEBIgAiABEKUBCyABQ
- UBrJAALVwEBfyMAQbABayICJAAgATQCOCAANAI4fkKAgIAQWQRAIAAQEgsgAkEIaiAAIAEQCCACQfgAaiACQQhqEAUgAC
- ACQfgAahBrIABBAjYCOCACQbABaiQAC08BAn8jAEFAaiIDJAAgAEE4EHIiAEEBNgI4IABBQGtBOBByIABB+ABqQQE2AgA
- gAyABEIsBIAAgAxClASADIAIQiwEgAxClASADQUBrJAALWQECfyMAQYABayIBJAACQCAAEIgBDQAgARBQIABBgAJqIgIg
- ARB7DQAgAhBAIAAgAhAPIAAQqwEgAEGAAWoiACACEA8gABCrASACIAEQkAELIAFBgAFqJAALSwEBfyMAQUBqIgEkACAAQ
- TgQciIAQQE2AjggAUEBEIoBIABBQGsgAUHAABBnGiAAQYABakE4EHIaIABBuAFqQQE2AgAgAUFAayQAC0sBAn8jAEHwAG
- siASQAIAAQd0UEQCABQaCnwAAQXyABQThqIAAQgwEgASABQThqEGIgARBEIAFBOGogARA1IQILIAFB8ABqJAAgAgtPAQF
- /IwBBgAFrIgIkACAAIAEQhQEgABADIAJByABqQdikwAAQXyACQQhqIAJByABqEIsBIAAgARBIIAAgAkEIahB4IAAQEiAC
- QYABaiQAC0kBAn8DQCABQThGRQRAIAAgAWoiAiACKQMAQgGGNwMAIAFBCGohAQwBCwsgACAAKAI4QQF0IgE2AjggAUGAg
- IAQTgRAIAAQEgsLQgIBfwJ+QQAgAmusIQQDQCADQThHBEAgACADaiICIAIpAwAiBSABIANqKQMAhSAEgyAFhTcDACADQQ
- hqIQMMAQsLC0YBAn8jAEFAaiIBJAAgAEE4EHIiAEEBNgI4IABBQGtBOBByIABB+ABqQQE2AgAgAUEBEIoBIAAgARClARC
- yASABQUBrJAALTgEBfyMAQYAEayIBJAAgABAvIAEQLyABQYACahAvIABBgAJqIAFBgAIQZxogAEGABGogAUGAAmpBgAIQ
- ZxogAEEANgKABiABQYAEaiQAC0sBAX8jAEFAaiICJAACQCAAKAI4IAFsQYCAgBBOBEAgAiABEIoBIAAgAhBIDAELIAAgA
- RAoGiAAIAAoAjggAWw2AjgLIAJBQGskAAtKAAJ/IAFBgIDEAEcEQEEBIAAoAhggASAAQRxqKAIAKAIQEQMADQEaCyACRQ
- RAQQAPCyAAKAIYIAJBACAAQRxqKAIAKAIMEQUACwtCAQF/IwBBQGoiAiQAIAJBCGpBgIDAABBfIAEgAkEIahBrIAEQRCA
- AIAEQayAAQQMQKBogABBEIAAQKSACQUBrJAALSQECfyMAQcABayIBJAAgASAAEF4gAUGAAWogABCFASAAIABBQGsiAhCl
- ASAAEEEgAiABQYABahClASAAIAEQlQEgAUHAAWokAAtIAQF/IwBB4AFrIgEkACABQeihwAAQXyABQThqIAAgARAIIAFBq
- AFqIAFBOGoQBSAAIAFBqAFqEGsgAEECNgI4IAFB4AFqJAALPgEBfyABQTpuIQIgAUGVA00EQCAAIAJBA3RqKQMAQgEgAU
- H//wNxQTpwrYaDQgBVDwsgAkEHQdSdwAAQPAALQAIBfwF+IwBBgAFrIgEkACABQQhqIAAQhQEgAUEIahASIAFByABqIAF
- BCGoQgwEgASkDSCABQYABaiQAQgKBpws8AQF/IwBBgAFrIgIkACACIAAQhQEgAkFAayABEIUBIAIQEiACQUBrEBIgAiAC
- QUBrEDUgAkGAAWokAEULPAIBfwF+A38gAUE4RgR/IAJCf3xCgICAgICAgIAEg0I6iKcFIAAgAWopAwAgAoQhAiABQQhqI
- QEMAQsLC0cBAX8jAEEgayIDJAAgA0EUakEANgIAIANB9KrAADYCECADQgE3AgQgAyABNgIcIAMgADYCGCADIANBGGo2Ag
- AgAyACEHAACzkBAX8jAEFAaiICJAAgAiAAEIUBIAIQByABBEAgASACEKUBCyACEAMgAiAAEEggAhAsIAJBQGskAAs6AQF
- /IABBOBByIQADQCACQTBGRQRAIABBCBAtIAAgACkDACABIAJqMQAAfDcDACACQQFqIQIMAQsLCzQBAX8gAEE4EHIiAEEB
- NgI4IABBQGtBOBByIABB+ABqQQE2AgAgACABEKUBIAFBQGsQpQELMAEBfyAAQTgQciEAA0AgAkE4RwRAIAAgAmogASACa
- ikDADcDACACQQhqIQIMAQsLCz8BAX8jAEGAAmsiASQAIAAQUSABEG4gACABEJIBIABBgAJqEK0BIABBgARqEK0BIABBAT
- YCgAYgAUGAAmokAAswAQJ/A0AgAkE4RwRAIAAgAmoiAyADKQMAIAEgAmopAwB8NwMAIAJBCGohAgwBCwsLMAECfwNAIAJ
- BOEcEQCAAIAJqIgMgAykDACABIAJqKQMAfTcDACACQQhqIQIMAQsLCzABAn8DQCACQThHBEAgACACaiIDIAEgAmopAwAg
- AykDAH03AwAgAkEIaiECDAELCwsxAQJ/A0AgAkHwAEcEQCAAIAJqIgMgAykDACABIAJqKQMAfTcDACACQQhqIQIMAQsLC
- zEBAn8DQCACQfAARwRAIAAgAmoiAyADKQMAIAEgAmopAwB8NwMAIAJBCGohAgwBCwsLOQECfyMAQYABayIBJAAgASAAQY
- ABaiICEF4gAiAAEJABIAEQVSAAIAEQkAEgABCsASABQYABaiQACzMBAX8gAgRAIAAhAwNAIAMgAS0AADoAACABQQFqIQE
- gA0EBaiEDIAJBf2oiAg0ACwsgAAtIAQN/IwBBEGsiASQAIAAoAgwhAyAAKAIIIgJFBEBB9KrAAEErQaCrwAAQWwALIAEg
- AzYCCCABIAA2AgQgASACNgIAIAEQcQALMgEBfyAAQgE3AwBBCCEBA0AgAUE4RkUEQCAAIAFqQgA3AwAgAUEIaiEBDAELC
- yAAEFYLNwAgABBRIAAgARCSASAAQYACaiABQYACahCSASAAQYAEaiABQYAEahCSASAAIAEoAoAGNgKABgsoAQF/A0AgAk
- E4RwRAIAAgAmogASACaikDADcDACACQQhqIQIMAQsLCzMAIAAgARCSASAAQYACaiABQYACahCSASAAQYAEaiABQYAEahC
- SASAAIAEoAoAGNgKABgsoACAAIAEgAhB5IABBQGsgAUFAayACEHkgAEGAAWogAUGAAWogAhB5Cy4BAX8jAEGAAWsiASQA
- IAAQLyABEFAgACABEJABIABBgAFqEKkBIAFBgAFqJAALLQAgACABIAIQjwEgAEGAAWogAUGAAWogAhCPASAAQYACaiABQ
- YACaiACEI8BCzQBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQaSowAA2AgQgAkH0qsAANgIAIAIQaAALPgEBfyMAQR
- BrIgEkACABQQhqIABBCGooAgA2AgAgASAAKQIANwMAIAEoAgAiAEEUaigCABogACgCBBoQMwALKQEBfyABBEAgACECA0A
- gAkEAOgAAIAJBAWohAiABQX9qIgENAAsLIAALKwEBfyMAQcABayICJAAgAhBLIAIgARB/IAIQpgEgACACEAwgAkHAAWok
- AAsiAQF/A0AgAUE4RwRAIAAgAWpCADcDACABQQhqIQEMAQsLCycBAX8jAEFAaiICJAAgAkEIaiABEF0gACACQQhqEIsBI
- AJBQGskAAsrACAAEFEgACABEJIBIABBgAJqIAIQkgEgAEGABGogAxCSASAAQQU2AoAGCyMBAX8jAEFAaiIBJAAgASAAEI
- UBIAEQEiABEFogAUFAayQACykAIAAgARBhIAAgACgCOCABKAI4aiIBNgI4IAFBgICAEE4EQCAAEBILCyUAIAAgASACEE8
- gAEEAIAJrIAAoAjgiACABKAI4c3EgAHM2AjgLIwADQCACBEAgACABLQAAED4gAkF/aiECIAFBAWohAQwBCwsLIgACQCAA
- IAEQWUUNACAAQUBrIAFBQGsQWUUNAEEBDwtBAAskAAJAIABBfE0EQCAARQRAQQQhAAwCCyAAEAEiAA0BCwALIAALJwEBf
- yMAQYABayICJAAgAiABEF4gAhA6IAAgAhCVASACQYABaiQACycAIAAgARCQASAAQYABaiABQYABahCQASAAQYACaiABQY
- ACahCQAQslACAAIAEQpQEgAEFAayABQUBrEKUBIABBgAFqIAFBgAFqEKUBCyUBAX8jAEFAaiICJAAgAiABEIUBIAIQQSA
- AIAIQeCACQUBrJAALKAEBfyMAQYACayICJAAgAiABEI4BIAIQKyAAIAIQlgEgAkGAAmokAAsjAEGEAiACSQRAIAJBhAIg
- AxA9AAsgACACNgIEIAAgATYCAAsiAQF/IwBB8ABrIgIkACACIAEQMCAAIAIQBSACQfAAaiQACxwAAkAgABB3RQ0AIABBg
- AFqEHdFDQBBAQ8LQQALHwAgAEE4EHIiAEEBNgI4IAAgARBrIAAgASgCODYCOAseAAJAIAAQhwFFDQAgAEGAAWoQhwFFDQ
- BBAQ8LQQALGwACQCAAEHdFDQAgAEFAaxB3RQ0AQQEPC0EACx4AAkAgABCHAUUNACAAQYACahCHAUUNAEEBDwtBAAsaAQF
- /IAAQWCIBIABBQGsQWCABcyAAEHdxcwsaACAAQTgQciIAQQE2AjggACABEJ0BIAAQVgsZACAAQTgQciIAQQE2AjggACAB
- EGsgABBWCxcAIAAQRCAAKAIAQX8gAUEfcXRBf3NxCxoAIAAgARBfIAAgAhAkIAAgAhBjIAAgAhAkCxwAIAAQLyAAIAEQk
- AEgAEGAAWogAUGAAWoQkAELGAAgACABIAIQeSAAQUBrIAFBQGsgAhB5CxYAIAAgARClASAAQUBrIAFBQGsQpQELGAAgAB
- AvIAAgARCQASAAQYABaiACEJABCxgAIAAgARCQASAAQYABaiABQYABahCQAQsZACAAEK4BIABBgAJqELYBIABBgARqEK4
- BCxcAIAAQsgEgAEFAaxBpIABBgAFqELIBCxQAIAAgARB4IABBQGsgAUFAaxB4CxgAIAAgARCVASAAQYABaiABQYABahCV
- AQsYACAAEKYBIABBgAFqIgAQpgEgACABEA8LGQAgABCpASAAQYABahCwASAAQYACahCpAQsZACAAEKwBIABBgAJqEKwBI
- ABBgARqEKwBCxkAIAAQqgEgAEGAAmoQqgEgAEGABGoQqgELFgAgABAvIAAgARCQASAAQYABahCpAQsWACAAQYABaiIAEK
- gBIAAQOiAAEKgBCxQAIAAQRCAAIAApAwAgAax8NwMACxQAIAAQRCAAIAApAwAgAax9NwMACxEAIAAgARBSIABBQGsgARB
- SCxEAIAAgARBIIABBQGsgARBICxQAIAAgARCQASAAQYABaiACEJABCxIAIAAgARAPIABBgAFqIAEQDwsUACAAIAEQoAEg
- AEGAAWogARCgAQsRACAAKAIEBEAgACgCABAJCwsSACAAIAEQayAAIAEoAjg2AjgLDwAgAEFAayIAEEEgABBECw0AIAAQT
- iAAQUBrEE4LDQAgABBEIABBQGsQRAsPACAAELIBIABBQGsQsgELEAAgABCrASAAQYABahCrAQsNACAAEBIgAEFAaxASCx
- AAIAAQqAEgAEGAAWoQqAELEAAgABCpASAAQYABahCpAQsPACAAQYABahA6IAAQrAELEAAgABCnASAAQYABahCnAQsOACA
- AEGkgAEFAaxCyAQsQACAAIAI2AgQgACABNgIACw0AIAAQdCAAQQE2AjgLDAAgABBBIAAgARB4CwwAIAAgARBrIAAQVgsN
- ACAAEDogACABEJUBCwsAIAAQOiAAEKwBCwwAQunQotvMouq7RgsDAAELAwABCwv+PZoCAEGCgMAACwcBAAAAAQI0AEG4g
- MAAC9sBuF8jku11BwFjT+D5WE+pA2dPnKtLeD0Akew9ffXy9AMD1g8fDSwgAK1vjPCZwa4A8DtNkAEAAADzStxtEor3AI
- uwH1tTsFYDgvLFYx+X7AAysL/NHtseAkehVLifHyMCQHo6ogw4sQGz4sMPAAAAAHNyYy9ibHMxMjM4MS9wYWlyLnJzqAA
- QABQAAAAHAQAACQAAAKgAEAAUAAAADAEAAA0AAACoABAAFAAAABEBAAANAAAAAAAAAAEAAAD///8Dv/+W/78AaQM7VYAd
- moCAAefMIPV1pkwBp+1zAEGogsAACyz+//7///8BAosAgILYBPYB4Y1oiW++kwLOdqvfPagdAMZpulHOdt8Dy1nGFwBB4
- ILAAAuRAZABEAATAAAA0AEAABgAAACQARAAEwAAANQBAAARAAAAkAEQABMAAADWAQAAHAAAAHNyYy9ibHMxMjM4MS9lY3
- AucnMAkAEQABMAAAAZBQAADQAAAJABEAATAAAAGwUAAAkAAACQARAAEwAAABwFAAARAAAAkAEQABMAAAAfBQAAHAAAAAA
- AAAABAAEAAAABAjQAQaCEwAALuSCQARAAEwAAAGcEAAARAAAAkAEQABMAAABsBAAADQAAAJABEAATAAAAbgQAABUAAACQ
- ARAAEwAAAHAEAAAgAAAAHUxYLQgo9ADXXz44aOPbAInJGoj9roEBomOjmrkPTgGY6rCCSW3JAoBOWs9QOu4AimlEAQAAA
- ADgKxeO6UjMAXSpOluMVsgAolXvNe/8FADngsIBPcnDA8EWIDvuPnUAusRiAAwgWgDRCCkuAQAAALgh6L1iEMUA3/4Vlz
- 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
- GZYzb76G2KA7ycH+3PFk8AK2qmngEAAABhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAAbxEQABIAAAB8AQAAFAAAAAA
- AAABhdHRlbXB0IHRvIGRpdmlkZSB3aXRoIG92ZXJmbG93c3JjL2JsczEyMzgxL2ZwLnJzAAAAbxEQABIAAAASAgAADQAA
- AG8REAASAAAAHgIAACYAAABvERAAEgAAAB4CAAAjAAAAbxEQABIAAAAkAgAAFwAAAG8REAASAAAAJAIAABQAAAAAAAAAq
- qr//////gHu//9UrP//AupBYg9rDyoBw5z9ShTOEwJLd2TXrEtDAu3pxpKm+V8Cox4RoAEAAABAEhAAFAAAABUBAAATAA
- AAQBIQABQAAAAeAQAAGAAAAEASEAAUAAAAJAEAABwAAABzcmMvYmxzMTIzODEvZWNwMi5ycwAAAAAEAEGQpcAAC7wGQBI
- QABQAAADmAgAACQAAAEASEAAUAAAA7gIAAA0AAABAEhAAFAAAAP4CAAAhAAAAuL0hwchWgAD1+24BqskAA7pwFz2uR7YA
- RNEK7ADpUwN65MZREMUtA0kBgkmkwiMALyuqJAAAAAB+KwRdBX2sAflVF+WERDwDNJME9ce9GwJp12rYgmRCA9BrWWVPJ
- 4gA6DRrH9hnnAAFtgI+AQAAAAEouAiGVJMBeKIo6w5zsgIjyRINFpWmAQq1nU73MqoCm/2tGjUu2gJxczJjhFufAHdSXc
- 4AAAAAvnlf8F8HqQJqaAc710nDAfOzmulytSoB0pm8jp0W+gEoPsuZi8IrAKw0qwwzzakDAkpsYAAAAACrqv/////+Ae7
- //1Ss//8C6kFiD2sPKgHDnP1KFM4TAkt3ZNesS0MC7enGkqb5XwKjHhGgAQAAAAgUEAALAAAAjwEAAA8AAAAIFBAACwAA
- AKcBAAATAAAACBQQAAsAAACqAQAADQAAAHNyYy9obWFjLnJzADQUEAAgAAAAVBQQABIAAAADAAAAAAAAAAEAAAAEAAAAa
- W5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAwMDAxMDIwMzA0MDUwNjA3MDgwOT
- EwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ
- 0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5
- ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQAAQBUQABAAAABQFRAAIgAAAHJhbmdlIGVuZCBpb
- mRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIG
- EgYE5vbmVgIHZhbHVlALAVEAAcAAAA7gEAAB4AAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAEGIrMAACwEBAEH
- IrMAACwEBAEGIrcAACwEBAEHIrcAACwEBAEGIrsAACwEBAEHIrsAACwEBAEGIr8AACwEBAEHIr8AACwEBAEGIsMAACwEB
- AEHIsMAACwEBAEGIscAACwEBAEHIscAACwEBAEGIssAACwEBAEHIssAACwEBAEGIs8AACwEBAEHIs8AACwEBAEGItMAAC
- wEBAEHItMAACwEBAEGItcAACwEBAEHItcAACwEBAEGItsAACwEBAEHItsAACwEBAEGIt8AACwEBAEHIt8AACwEBAEGIuM
- AACwEBAEHIuMAACwEBAEGIucAACwEBAEHIucAACwEBAEGIusAACwEBAEHIusAACwEBAEGIu8AACwEBAEHIu8AACwEBAEG
- IvMAACwEBAEHIvMAACwEBAEGIvcAACwEBAEHIvcAACwEBAEGIvsAACwEBAEHIvsAACwEBAEGIv8AACwEBAEHIv8AACwEB
- AEGIwMAACwEBAEHIwMAACwEBAEGIwcAACwEBAEHIwcAACwEBAEGIwsAACwEBAEHIwsAACwEBAEGIw8AACwEBAEHIw8AAC
- wEBAEGIxMAACwEBAEHIxMAACwEBAEGIxcAACwEBAEHIxcAACwEBAEGIxsAACwEBAEHIxsAACwEBAEGIx8AACwEBAEHIx8
- AACwEBAEGIyMAACwEBAEHIyMAACwEBAEGIycAACwEBAEHIycAACwEBAEGIysAACwEBAEHIysAACwEBAEGIy8AACwEBAEH
- Iy8AACwEBAEGIzMAACwEBAEHIzMAACwEBAEGIzcAACwEBAEHIzcAACwEBAEGIzsAACwEBAEHIzsAACwEBAEGIz8AACwEB
- AEHIz8AACwEBAEGI0MAACwEBAEHI0MAACwEBAEGI0cAACwEBAEHI0cAACwEBAEGI0sAACwEBAEHI0sAACwEBAEGI08AAC
- wEBAEHI08AACwEBAEGI1MAACwEBAEHI1MAACwEBAEGI1cAACwEBAEHI1cAACwEBAEGI1sAACwEBAEHI1sAACwEBAEGI18
- AACwEBAEHI18AACwEBAEGI2MAACwEBAEHI2MAACwEBAEGI2cAACwEBAEHI2cAACwEBAEGI2sAACwEBAEHI2sAACwEBAEG
- I28AACwEBAEHI28AACwEBAEGI3MAACwEBAEHI3MAACwEBAEGI3cAACwEBAEHI3cAACwEBAEGI3sAACwEBAEHI3sAACwEB
- AEGI38AACwEBAEHI38AACwEBAEGI4MAACwEBAEHI4MAACwEBAEGI4cAACwEBAEHI4cAACwEBAEGI4sAACwEBAEHI4sAAC
- wEBAEGI48AACwEBAEHI48AACwEBAEGI5MAACwEBAEHI5MAACwEBAEGI5cAACwEBAEHI5cAACwEBAEGI5sAACwEBAEHI5s
- AACwEBAEGI58AACwEBAEHI58AACwEBAEGI6MAACwEBAEHI6MAACwEBAEGI6cAACwEBAEHI6cAACwEBAEGI6sAACwEBAEH
- I6sAACwEBAEGI68AACwEBAEHI68AACwEBAEGI7MAACwEBAEHI7MAACwEBAEGI7cAACwEBAEHI7cAACwEBAEGI7sAACwEB
- AEHI7sAACwEBAEGI78AACwEBAEHI78AACwEBAEGI8MAACwEBAEHI8MAACwEBAEGI8cAACwEBAEHI8cAACwEBAEGI8sAAC
- wEBAEHI8sAACwEBAEGI88AACwEBAEHI88AACwEBAEGI9MAACwEBAEHI9MAACwEBAEGI9cAACwEBAEHI9cAACwEBAEGI9s
- AACwEBAEHI9sAACwEBAEGI98AACwEBAEHI98AACwEBAEGI+MAACwEBAEHI+MAACwEBAEGI+cAACwEBAEHI+cAACwEBAEG
- I+sAACwEBAEHI+sAACwEBAEGI+8AACwEBAEHI+8AACwEBAEGI/MAACwEBAEHI/MAACwEBAEGI/cAACwEBAEHI/cAACwEB
- AEGI/sAACwEBAEHI/sAACwEBAEGI/8AACwEBAEHI/8AACwEBAEGIgMEACwEBAEHIgMEACwEBAEGIgcEACwEBAEHIgcEAC
- wEBAEGIgsEACwEBAEHIgsEACwEBAEGIg8EACwEBAEHIg8EACwEBAEGIhMEACwEBAEHIhMEACwEBAEGIhcEACwEBAEHIhc
- EACwEBAEGIhsEACwEBAEHIhsEACwEBAEGIh8EACwEBAEHIh8EACwEBAEGIiMEACwEBAEHIiMEACwEBAEGIicEACwEBAEH
- IicEACwEBAEGIisEACwEBAEHIisEACwEBAEGIi8EACwEBAEHIi8EACwEBAEGIjMEACwEBAEHIjMEACwEBAEGIjcEACwEB
- AEHIjcEACwEBAEGIjsEACwEBAEHIjsEACwEBAEGIj8EACwEBAEHIj8EACwEBAEGIkMEACwEBAEHIkMEACwEBAEGIkcEAC
- wEBAEHIkcEACwEBAEGIksEACwEBAEHIksEACwEBAEGIk8EACwEBAEHIk8EACwEBAEGIlMEACwEBAEHIlMEACwEBAEGIlc
- EACwEBAEHIlcEACwEBAEGIlsEACwEBAEHIlsEACwEBAEGIl8EACwEBAEHIl8EACwEBAEGImMEACwEBAEHImMEACwEBAEG
- ImcEACwEBAEHImcEACwEBAEGImsEACwEBAEHImsEACwEBAEGIm8EACwEBAEHIm8EACwEBAEGInMEACwEBAEHInMEACwEB
- AEGIncEACwEBAEHIncEACwEBAEGInsEACwEBAEHInsEACwEBAEGIn8EACwEBAEHIn8EACwEBAEGIoMEACwEBAEHIoMEAC
- wEBAEGIocEACwEBAEHIocEACwEBAEGIosEACwEBAEHIosEACwEBAEGIo8EACwEBAEHIo8EACwEBAEGIpMEACwEBAEHIpM
- EACwEBAEGIpcEACwEBAEHIpcEACwEBAEGIpsEACwEBAEHIpsEACwEBAEGIp8EACwEBAEHIp8EACwEBAEGIqMEACwEBAEH
- IqMEACwEBAEGIqcEACwEBAEHIqcEACwEBAEGIqsEACwEBAEHIqsEACwEBAEGIq8EACwEBAEHIq8EACwEBAEGIrMEACwEB
- AEHIrMEACwEBAEGIrcEACwEBAEHIrcEACwEBAEGIrsEACwEBAEHIrsEACwEBAEGIr8EACwEBAEHIr8EACwEBAEGIsMEAC
- wEBAEHIsMEACwEBAEGIscEACwEBAEHIscEACwEBAEGIssEACwEBAEHIssEACwEBAEGIs8EACwEBAEHIs8EACwEBAEGItM
- EACwEBAEHItMEACwEBAEGItcEACwEBAEHItcEACwEBAHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2V
- kLWJ5AwVydXN0Yx0xLjQ5LjAgKGUxODg0YThlMyAyMDIwLTEyLTI5KQZ3YWxydXMGMC4xOC4wDHdhc20tYmluZGdlbhIw
- LjIuNzAgKGI2MzU1YzI3MCk=
-'''
- .replaceAll(RegExp(r'\n+'), '')
- .replaceAll(RegExp(r'\s+'), '')
- .trim()
- .replaceAll('r[^0-9a-zA-Z/+]', '');
-
-final _moduleBytes = base64Decode(_wasmBytesBase64);
-
-typedef BLSVerifyFunc = int Function(int, int, int, int, int, int);
-
-class WebBls implements BaseBLS {
- WebBls();
-
- Instance? instance;
- Uint8List? cacheGetUint8Memory0;
- late bool _isInit;
-
- Future initInstance() async {
- instance = await Instance.fromBytesAsync(_moduleBytes);
- }
-
- @override
- Future blsInit() async {
- final blsInitFunc = instance!.functions['bls_init']! as int Function();
- return _isInit = blsInitFunc() == 0 ? true : false;
- }
-
- @override
- Future blsVerify(Uint8List pk, Uint8List sig, Uint8List msg) async {
- await initInstance();
- if (!await blsInit()) {
- throw StateError('cannot initialize BLS on Web.');
- }
- final blsVerifyFunc = instance!.functions['bls_verify']! as int Function(
- int,
- int,
- int,
- int,
- int,
- int,
- );
-
- final set0 = passArray8ToWasm0(sig, _malloc);
- final set1 = passArray8ToWasm0(msg, _malloc);
- final set2 = passArray8ToWasm0(pk, _malloc);
-
- return blsVerifyFunc(
- set0.first,
- set0.last,
- set1.first,
- set1.last,
- set2.first,
- set2.last,
- ) ==
- 0;
- }
-
- Uint8List get memory =>
- instance!.memories['memory']!.jsObject.buffer.asUint8List();
-
- int _malloc(int a) {
- final mal = instance!.functions['__wbindgen_malloc']! as int Function(int);
- return mal(a);
- }
-
- Uint8List getUint8Memory0() {
- if (cacheGetUint8Memory0 == null || !u8aEq(cacheGetUint8Memory0!, memory)) {
- cacheGetUint8Memory0 = memory;
- }
- return cacheGetUint8Memory0!;
- }
-
- List passArray8ToWasm0(Uint8List arg, int Function(int) malloc) {
- final ptr = malloc(arg.length * 1);
- getUint8Memory0().setAll(ptr ~/ 1, arg);
- return [ptr, arg.length];
- }
-
- @override
- bool get isInit => _isInit;
-}
-
-BaseBLS createBLS() => WebBls();
diff --git a/lib/bridge/ffi/ffi.dart b/lib/bridge/ffi/ffi.dart
deleted file mode 100644
index 45c02bf4..00000000
--- a/lib/bridge/ffi/ffi.dart
+++ /dev/null
@@ -1,2 +0,0 @@
-export 'ffi_bridge.dart';
-export 'ffi_helper.dart';
diff --git a/lib/bridge/ffi/ffi_bridge.dart b/lib/bridge/ffi/ffi_bridge.dart
deleted file mode 100644
index d290cb71..00000000
--- a/lib/bridge/ffi/ffi_bridge.dart
+++ /dev/null
@@ -1,2824 +0,0 @@
-// AUTO GENERATED FILE, DO NOT EDIT.
-// Generated by `flutter_rust_bridge`@ 1.82.6.
-// ignore_for_file: non_constant_identifier_names, unused_element, duplicate_ignore, directives_ordering, curly_braces_in_flow_control_structures, unnecessary_lambdas, slash_for_doc_comments, prefer_const_literals_to_create_immutables, implicit_dynamic_list_literal, duplicate_import, unused_import, unnecessary_import, prefer_single_quotes, prefer_const_constructors, use_super_parameters, always_use_package_imports, annotate_overrides, invalid_use_of_protected_member, constant_identifier_names, invalid_use_of_internal_member, prefer_is_empty, unnecessary_const
-
-import 'dart:convert';
-import 'dart:async';
-import 'package:meta/meta.dart';
-import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
-import 'package:uuid/uuid.dart';
-
-import 'dart:ffi' as ffi;
-
-abstract class AgentDart {
- /// --------------------
- /// mnemonic
- /// --------------------
- /// create_phrase
- /// phrase_to_seed
- /// seed_to_key
- Future mnemonicPhraseToSeed(
- {required PhraseToSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kMnemonicPhraseToSeedConstMeta;
-
- Future mnemonicSeedToKey(
- {required SeedToKeyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kMnemonicSeedToKeyConstMeta;
-
- /// --------------------
- /// bls
- /// --------------------
- /// bls_init
- /// bls_verify
- Future blsInit({dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kBlsInitConstMeta;
-
- Future blsVerify({required BLSVerifyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kBlsVerifyConstMeta;
-
- /// --------------
- /// ed25519
- /// --------------------
- /// ed25519_from_seed
- /// ed25519_sign
- /// ed25519_verify
- Future ed25519FromSeed(
- {required ED25519FromSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kEd25519FromSeedConstMeta;
-
- Future ed25519Sign({required ED25519SignReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kEd25519SignConstMeta;
-
- Future ed25519Verify({required ED25519VerifyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kEd25519VerifyConstMeta;
-
- /// ---------------------
- /// secp256k1
- /// ---------------------
- Future secp256K1FromSeed(
- {required Secp256k1FromSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1FromSeedConstMeta;
-
- Future secp256K1Sign(
- {required Secp256k1SignWithSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1SignConstMeta;
-
- Future secp256K1SignRecoverable(
- {required Secp256k1SignWithSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1SignRecoverableConstMeta;
-
- Future secp256K1Verify({required Secp256k1VerifyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1VerifyConstMeta;
-
- Future secp256K1GetSharedSecret(
- {required Secp256k1ShareSecretReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1GetSharedSecretConstMeta;
-
- Future secp256K1Recover(
- {required Secp256k1RecoverReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1RecoverConstMeta;
-
- /// ---------------------
- /// secp256k1
- /// ---------------------
- Future p256FromSeed(
- {required P256FromSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kP256FromSeedConstMeta;
-
- Future p256Sign(
- {required P256SignWithSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kP256SignConstMeta;
-
- Future p256Verify({required P256VerifyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kP256VerifyConstMeta;
-
- Future p256GetSharedSecret(
- {required P256ShareSecretReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kP256GetSharedSecretConstMeta;
-
- /// ---------------------
- /// schnorr
- /// ---------------------
- Future schnorrFromSeed(
- {required SchnorrFromSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSchnorrFromSeedConstMeta;
-
- Future schnorrSign(
- {required SchnorrSignWithSeedReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSchnorrSignConstMeta;
-
- Future schnorrVerify({required SchnorrVerifyReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kSchnorrVerifyConstMeta;
-
- /// ---------------------
- /// aes
- /// ---------------------
- Future aes128CtrEncrypt(
- {required AesEncryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes128CtrEncryptConstMeta;
-
- Future aes128CtrDecrypt(
- {required AesDecryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes128CtrDecryptConstMeta;
-
- Future aes256CbcEncrypt(
- {required AesEncryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes256CbcEncryptConstMeta;
-
- Future aes256CbcDecrypt(
- {required AesDecryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes256CbcDecryptConstMeta;
-
- Future aes256GcmEncrypt(
- {required AesEncryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes256GcmEncryptConstMeta;
-
- Future aes256GcmDecrypt(
- {required AesDecryptReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kAes256GcmDecryptConstMeta;
-
- Future pbkdf2DeriveKey(
- {required PBKDFDeriveReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kPbkdf2DeriveKeyConstMeta;
-
- Future scryptDeriveKey(
- {required ScriptDeriveReq req, dynamic hint});
-
- FlutterRustBridgeTaskConstMeta get kScryptDeriveKeyConstMeta;
-}
-
-class AesDecryptReq {
- final Uint8List key;
- final Uint8List iv;
- final Uint8List cipherText;
-
- const AesDecryptReq({
- required this.key,
- required this.iv,
- required this.cipherText,
- });
-}
-
-class AesEncryptReq {
- final Uint8List key;
- final Uint8List iv;
- final Uint8List message;
-
- const AesEncryptReq({
- required this.key,
- required this.iv,
- required this.message,
- });
-}
-
-class BLSVerifyReq {
- final Uint8List signature;
- final Uint8List message;
- final Uint8List publicKey;
-
- const BLSVerifyReq({
- required this.signature,
- required this.message,
- required this.publicKey,
- });
-}
-
-class ED25519FromSeedReq {
- final Uint8List seed;
-
- const ED25519FromSeedReq({
- required this.seed,
- });
-}
-
-class ED25519Res {
- final Uint8List seed;
- final Uint8List publicKey;
-
- const ED25519Res({
- required this.seed,
- required this.publicKey,
- });
-}
-
-class ED25519SignReq {
- final Uint8List seed;
- final Uint8List message;
-
- const ED25519SignReq({
- required this.seed,
- required this.message,
- });
-}
-
-class ED25519VerifyReq {
- final Uint8List sig;
- final Uint8List message;
- final Uint8List pubKey;
-
- const ED25519VerifyReq({
- required this.sig,
- required this.message,
- required this.pubKey,
- });
-}
-
-class KeyDerivedRes {
- final Uint8List leftBits;
- final Uint8List rightBits;
-
- const KeyDerivedRes({
- required this.leftBits,
- required this.rightBits,
- });
-}
-
-class P256FromSeedReq {
- final Uint8List seed;
-
- const P256FromSeedReq({
- required this.seed,
- });
-}
-
-class P256IdentityExport {
- final Uint8List privateKeyHash;
- final Uint8List derEncodedPublicKey;
-
- const P256IdentityExport({
- required this.privateKeyHash,
- required this.derEncodedPublicKey,
- });
-}
-
-class P256ShareSecretReq {
- final Uint8List seed;
- final Uint8List publicKeyRawBytes;
-
- const P256ShareSecretReq({
- required this.seed,
- required this.publicKeyRawBytes,
- });
-}
-
-class P256SignWithSeedReq {
- final Uint8List msg;
- final Uint8List seed;
-
- const P256SignWithSeedReq({
- required this.msg,
- required this.seed,
- });
-}
-
-class P256VerifyReq {
- final Uint8List messageHash;
- final Uint8List signatureBytes;
- final Uint8List publicKeyBytes;
-
- const P256VerifyReq({
- required this.messageHash,
- required this.signatureBytes,
- required this.publicKeyBytes,
- });
-}
-
-class PBKDFDeriveReq {
- final Uint8List password;
- final Uint8List salt;
- final int c;
-
- const PBKDFDeriveReq({
- required this.password,
- required this.salt,
- required this.c,
- });
-}
-
-class PhraseToSeedReq {
- final String phrase;
- final String password;
-
- const PhraseToSeedReq({
- required this.phrase,
- required this.password,
- });
-}
-
-class SchnorrFromSeedReq {
- final Uint8List seed;
-
- const SchnorrFromSeedReq({
- required this.seed,
- });
-}
-
-class SchnorrIdentityExport {
- final Uint8List privateKeyHash;
- final Uint8List publicKeyHash;
-
- const SchnorrIdentityExport({
- required this.privateKeyHash,
- required this.publicKeyHash,
- });
-}
-
-class SchnorrSignWithSeedReq {
- final Uint8List msg;
- final Uint8List seed;
- final Uint8List? auxRand;
-
- const SchnorrSignWithSeedReq({
- required this.msg,
- required this.seed,
- this.auxRand,
- });
-}
-
-class SchnorrVerifyReq {
- final Uint8List messageHash;
- final Uint8List signatureBytes;
- final Uint8List publicKeyBytes;
-
- const SchnorrVerifyReq({
- required this.messageHash,
- required this.signatureBytes,
- required this.publicKeyBytes,
- });
-}
-
-class ScriptDeriveReq {
- final Uint8List password;
- final Uint8List salt;
- final int n;
- final int p;
- final int r;
-
- const ScriptDeriveReq({
- required this.password,
- required this.salt,
- required this.n,
- required this.p,
- required this.r,
- });
-}
-
-class Secp256k1FromSeedReq {
- final Uint8List seed;
-
- const Secp256k1FromSeedReq({
- required this.seed,
- });
-}
-
-class Secp256k1IdentityExport {
- final Uint8List privateKeyHash;
- final Uint8List derEncodedPublicKey;
-
- const Secp256k1IdentityExport({
- required this.privateKeyHash,
- required this.derEncodedPublicKey,
- });
-}
-
-class Secp256k1RecoverReq {
- final Uint8List messagePreHashed;
- final Uint8List signatureBytes;
- final int? chainId;
-
- const Secp256k1RecoverReq({
- required this.messagePreHashed,
- required this.signatureBytes,
- this.chainId,
- });
-}
-
-class Secp256k1ShareSecretReq {
- final Uint8List seed;
- final Uint8List publicKeyRawBytes;
-
- const Secp256k1ShareSecretReq({
- required this.seed,
- required this.publicKeyRawBytes,
- });
-}
-
-class Secp256k1SignWithSeedReq {
- final Uint8List msg;
- final Uint8List seed;
-
- const Secp256k1SignWithSeedReq({
- required this.msg,
- required this.seed,
- });
-}
-
-class Secp256k1VerifyReq {
- final Uint8List messageHash;
- final Uint8List signatureBytes;
- final Uint8List publicKeyBytes;
-
- const Secp256k1VerifyReq({
- required this.messageHash,
- required this.signatureBytes,
- required this.publicKeyBytes,
- });
-}
-
-class SeedToKeyReq {
- final Uint8List seed;
- final String path;
-
- const SeedToKeyReq({
- required this.seed,
- required this.path,
- });
-}
-
-class SignatureFFI {
- /// This is the DER-encoded public key.
- final Uint8List? publicKey;
-
- /// The signature bytes.
- final Uint8List? signature;
-
- const SignatureFFI({
- this.publicKey,
- this.signature,
- });
-}
-
-class AgentDartImpl implements AgentDart {
- final AgentDartPlatform _platform;
- factory AgentDartImpl(ExternalLibrary dylib) =>
- AgentDartImpl.raw(AgentDartPlatform(dylib));
-
- /// Only valid on web/WASM platforms.
- factory AgentDartImpl.wasm(FutureOr module) =>
- AgentDartImpl(module as ExternalLibrary);
- AgentDartImpl.raw(this._platform);
- Future mnemonicPhraseToSeed(
- {required PhraseToSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_phrase_to_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) =>
- _platform.inner.wire_mnemonic_phrase_to_seed(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kMnemonicPhraseToSeedConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kMnemonicPhraseToSeedConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "mnemonic_phrase_to_seed",
- argNames: ["req"],
- );
-
- Future mnemonicSeedToKey(
- {required SeedToKeyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_seed_to_key_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) =>
- _platform.inner.wire_mnemonic_seed_to_key(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kMnemonicSeedToKeyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kMnemonicSeedToKeyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "mnemonic_seed_to_key",
- argNames: ["req"],
- );
-
- Future blsInit({dynamic hint}) {
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_bls_init(port_),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kBlsInitConstMeta,
- argValues: [],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kBlsInitConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "bls_init",
- argNames: [],
- );
-
- Future blsVerify({required BLSVerifyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_bls_verify_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_bls_verify(port_, arg0),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kBlsVerifyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kBlsVerifyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "bls_verify",
- argNames: ["req"],
- );
-
- Future ed25519FromSeed(
- {required ED25519FromSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_ed_25519_from_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_ed25519_from_seed(port_, arg0),
- parseSuccessData: _wire2api_ed_25519_res,
- parseErrorData: null,
- constMeta: kEd25519FromSeedConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kEd25519FromSeedConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "ed25519_from_seed",
- argNames: ["req"],
- );
-
- Future ed25519Sign({required ED25519SignReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_ed_25519_sign_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_ed25519_sign(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kEd25519SignConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kEd25519SignConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "ed25519_sign",
- argNames: ["req"],
- );
-
- Future ed25519Verify({required ED25519VerifyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_ed_25519_verify_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_ed25519_verify(port_, arg0),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kEd25519VerifyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kEd25519VerifyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "ed25519_verify",
- argNames: ["req"],
- );
-
- Future secp256K1FromSeed(
- {required Secp256k1FromSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_secp_256_k_1_from_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_secp256k1_from_seed(port_, arg0),
- parseSuccessData: _wire2api_secp_256_k_1_identity_export,
- parseErrorData: null,
- constMeta: kSecp256K1FromSeedConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1FromSeedConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_from_seed",
- argNames: ["req"],
- );
-
- Future secp256K1Sign(
- {required Secp256k1SignWithSeedReq req, dynamic hint}) {
- var arg0 =
- _platform.api2wire_box_autoadd_secp_256_k_1_sign_with_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_secp256k1_sign(port_, arg0),
- parseSuccessData: _wire2api_signature_ffi,
- parseErrorData: null,
- constMeta: kSecp256K1SignConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1SignConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_sign",
- argNames: ["req"],
- );
-
- Future secp256K1SignRecoverable(
- {required Secp256k1SignWithSeedReq req, dynamic hint}) {
- var arg0 =
- _platform.api2wire_box_autoadd_secp_256_k_1_sign_with_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) =>
- _platform.inner.wire_secp256k1_sign_recoverable(port_, arg0),
- parseSuccessData: _wire2api_signature_ffi,
- parseErrorData: null,
- constMeta: kSecp256K1SignRecoverableConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1SignRecoverableConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_sign_recoverable",
- argNames: ["req"],
- );
-
- Future secp256K1Verify(
- {required Secp256k1VerifyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_secp_256_k_1_verify_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_secp256k1_verify(port_, arg0),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kSecp256K1VerifyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1VerifyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_verify",
- argNames: ["req"],
- );
-
- Future secp256K1GetSharedSecret(
- {required Secp256k1ShareSecretReq req, dynamic hint}) {
- var arg0 =
- _platform.api2wire_box_autoadd_secp_256_k_1_share_secret_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) =>
- _platform.inner.wire_secp256k1_get_shared_secret(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kSecp256K1GetSharedSecretConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1GetSharedSecretConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_get_shared_secret",
- argNames: ["req"],
- );
-
- Future secp256K1Recover(
- {required Secp256k1RecoverReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_secp_256_k_1_recover_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_secp256k1_recover(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kSecp256K1RecoverConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSecp256K1RecoverConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "secp256k1_recover",
- argNames: ["req"],
- );
-
- Future p256FromSeed(
- {required P256FromSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_p_256_from_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_p256_from_seed(port_, arg0),
- parseSuccessData: _wire2api_p_256_identity_export,
- parseErrorData: null,
- constMeta: kP256FromSeedConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kP256FromSeedConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "p256_from_seed",
- argNames: ["req"],
- );
-
- Future p256Sign(
- {required P256SignWithSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_p_256_sign_with_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_p256_sign(port_, arg0),
- parseSuccessData: _wire2api_signature_ffi,
- parseErrorData: null,
- constMeta: kP256SignConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kP256SignConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "p256_sign",
- argNames: ["req"],
- );
-
- Future p256Verify({required P256VerifyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_p_256_verify_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_p256_verify(port_, arg0),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kP256VerifyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kP256VerifyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "p256_verify",
- argNames: ["req"],
- );
-
- Future p256GetSharedSecret(
- {required P256ShareSecretReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_p_256_share_secret_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) =>
- _platform.inner.wire_p256_get_shared_secret(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kP256GetSharedSecretConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kP256GetSharedSecretConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "p256_get_shared_secret",
- argNames: ["req"],
- );
-
- Future schnorrFromSeed(
- {required SchnorrFromSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_schnorr_from_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_schnorr_from_seed(port_, arg0),
- parseSuccessData: _wire2api_schnorr_identity_export,
- parseErrorData: null,
- constMeta: kSchnorrFromSeedConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSchnorrFromSeedConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "schnorr_from_seed",
- argNames: ["req"],
- );
-
- Future schnorrSign(
- {required SchnorrSignWithSeedReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_schnorr_sign_with_seed_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_schnorr_sign(port_, arg0),
- parseSuccessData: _wire2api_signature_ffi,
- parseErrorData: null,
- constMeta: kSchnorrSignConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSchnorrSignConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "schnorr_sign",
- argNames: ["req"],
- );
-
- Future schnorrVerify({required SchnorrVerifyReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_schnorr_verify_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_schnorr_verify(port_, arg0),
- parseSuccessData: _wire2api_bool,
- parseErrorData: null,
- constMeta: kSchnorrVerifyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kSchnorrVerifyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "schnorr_verify",
- argNames: ["req"],
- );
-
- Future aes128CtrEncrypt(
- {required AesEncryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_encrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_128_ctr_encrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes128CtrEncryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes128CtrEncryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_128_ctr_encrypt",
- argNames: ["req"],
- );
-
- Future aes128CtrDecrypt(
- {required AesDecryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_decrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_128_ctr_decrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes128CtrDecryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes128CtrDecryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_128_ctr_decrypt",
- argNames: ["req"],
- );
-
- Future aes256CbcEncrypt(
- {required AesEncryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_encrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_256_cbc_encrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes256CbcEncryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes256CbcEncryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_256_cbc_encrypt",
- argNames: ["req"],
- );
-
- Future aes256CbcDecrypt(
- {required AesDecryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_decrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_256_cbc_decrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes256CbcDecryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes256CbcDecryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_256_cbc_decrypt",
- argNames: ["req"],
- );
-
- Future aes256GcmEncrypt(
- {required AesEncryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_encrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_256_gcm_encrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes256GcmEncryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes256GcmEncryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_256_gcm_encrypt",
- argNames: ["req"],
- );
-
- Future aes256GcmDecrypt(
- {required AesDecryptReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_aes_decrypt_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_aes_256_gcm_decrypt(port_, arg0),
- parseSuccessData: _wire2api_uint_8_list,
- parseErrorData: null,
- constMeta: kAes256GcmDecryptConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kAes256GcmDecryptConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "aes_256_gcm_decrypt",
- argNames: ["req"],
- );
-
- Future pbkdf2DeriveKey(
- {required PBKDFDeriveReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_pbkdf_derive_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_pbkdf2_derive_key(port_, arg0),
- parseSuccessData: _wire2api_key_derived_res,
- parseErrorData: null,
- constMeta: kPbkdf2DeriveKeyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kPbkdf2DeriveKeyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "pbkdf2_derive_key",
- argNames: ["req"],
- );
-
- Future scryptDeriveKey(
- {required ScriptDeriveReq req, dynamic hint}) {
- var arg0 = _platform.api2wire_box_autoadd_script_derive_req(req);
- return _platform.executeNormal(FlutterRustBridgeTask(
- callFfi: (port_) => _platform.inner.wire_scrypt_derive_key(port_, arg0),
- parseSuccessData: _wire2api_key_derived_res,
- parseErrorData: null,
- constMeta: kScryptDeriveKeyConstMeta,
- argValues: [req],
- hint: hint,
- ));
- }
-
- FlutterRustBridgeTaskConstMeta get kScryptDeriveKeyConstMeta =>
- const FlutterRustBridgeTaskConstMeta(
- debugName: "scrypt_derive_key",
- argNames: ["req"],
- );
-
- void dispose() {
- _platform.dispose();
- }
-// Section: wire2api
-
- bool _wire2api_bool(dynamic raw) {
- return raw as bool;
- }
-
- ED25519Res _wire2api_ed_25519_res(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return ED25519Res(
- seed: _wire2api_uint_8_list(arr[0]),
- publicKey: _wire2api_uint_8_list(arr[1]),
- );
- }
-
- KeyDerivedRes _wire2api_key_derived_res(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return KeyDerivedRes(
- leftBits: _wire2api_uint_8_list(arr[0]),
- rightBits: _wire2api_uint_8_list(arr[1]),
- );
- }
-
- Uint8List? _wire2api_opt_uint_8_list(dynamic raw) {
- return raw == null ? null : _wire2api_uint_8_list(raw);
- }
-
- P256IdentityExport _wire2api_p_256_identity_export(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return P256IdentityExport(
- privateKeyHash: _wire2api_uint_8_list(arr[0]),
- derEncodedPublicKey: _wire2api_uint_8_list(arr[1]),
- );
- }
-
- SchnorrIdentityExport _wire2api_schnorr_identity_export(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return SchnorrIdentityExport(
- privateKeyHash: _wire2api_uint_8_list(arr[0]),
- publicKeyHash: _wire2api_uint_8_list(arr[1]),
- );
- }
-
- Secp256k1IdentityExport _wire2api_secp_256_k_1_identity_export(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return Secp256k1IdentityExport(
- privateKeyHash: _wire2api_uint_8_list(arr[0]),
- derEncodedPublicKey: _wire2api_uint_8_list(arr[1]),
- );
- }
-
- SignatureFFI _wire2api_signature_ffi(dynamic raw) {
- final arr = raw as List;
- if (arr.length != 2)
- throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
- return SignatureFFI(
- publicKey: _wire2api_opt_uint_8_list(arr[0]),
- signature: _wire2api_opt_uint_8_list(arr[1]),
- );
- }
-
- int _wire2api_u8(dynamic raw) {
- return raw as int;
- }
-
- Uint8List _wire2api_uint_8_list(dynamic raw) {
- return raw as Uint8List;
- }
-}
-
-// Section: api2wire
-
-@protected
-int api2wire_u32(int raw) {
- return raw;
-}
-
-@protected
-int api2wire_u8(int raw) {
- return raw;
-}
-
-// Section: finalizer
-
-class AgentDartPlatform extends FlutterRustBridgeBase {
- AgentDartPlatform(ffi.DynamicLibrary dylib) : super(AgentDartWire(dylib));
-
-// Section: api2wire
-
- @protected
- ffi.Pointer api2wire_String(String raw) {
- return api2wire_uint_8_list(utf8.encoder.convert(raw));
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_aes_decrypt_req(
- AesDecryptReq raw) {
- final ptr = inner.new_box_autoadd_aes_decrypt_req_0();
- _api_fill_to_wire_aes_decrypt_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_aes_encrypt_req(
- AesEncryptReq raw) {
- final ptr = inner.new_box_autoadd_aes_encrypt_req_0();
- _api_fill_to_wire_aes_encrypt_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_bls_verify_req(
- BLSVerifyReq raw) {
- final ptr = inner.new_box_autoadd_bls_verify_req_0();
- _api_fill_to_wire_bls_verify_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_ed_25519_from_seed_req(ED25519FromSeedReq raw) {
- final ptr = inner.new_box_autoadd_ed_25519_from_seed_req_0();
- _api_fill_to_wire_ed_25519_from_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_ed_25519_sign_req(
- ED25519SignReq raw) {
- final ptr = inner.new_box_autoadd_ed_25519_sign_req_0();
- _api_fill_to_wire_ed_25519_sign_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_ed_25519_verify_req(
- ED25519VerifyReq raw) {
- final ptr = inner.new_box_autoadd_ed_25519_verify_req_0();
- _api_fill_to_wire_ed_25519_verify_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_p_256_from_seed_req(
- P256FromSeedReq raw) {
- final ptr = inner.new_box_autoadd_p_256_from_seed_req_0();
- _api_fill_to_wire_p_256_from_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_p_256_share_secret_req(P256ShareSecretReq raw) {
- final ptr = inner.new_box_autoadd_p_256_share_secret_req_0();
- _api_fill_to_wire_p_256_share_secret_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_p_256_sign_with_seed_req(P256SignWithSeedReq raw) {
- final ptr = inner.new_box_autoadd_p_256_sign_with_seed_req_0();
- _api_fill_to_wire_p_256_sign_with_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_p_256_verify_req(
- P256VerifyReq raw) {
- final ptr = inner.new_box_autoadd_p_256_verify_req_0();
- _api_fill_to_wire_p_256_verify_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_pbkdf_derive_req(
- PBKDFDeriveReq raw) {
- final ptr = inner.new_box_autoadd_pbkdf_derive_req_0();
- _api_fill_to_wire_pbkdf_derive_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_phrase_to_seed_req(
- PhraseToSeedReq raw) {
- final ptr = inner.new_box_autoadd_phrase_to_seed_req_0();
- _api_fill_to_wire_phrase_to_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_schnorr_from_seed_req(SchnorrFromSeedReq raw) {
- final ptr = inner.new_box_autoadd_schnorr_from_seed_req_0();
- _api_fill_to_wire_schnorr_from_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_schnorr_sign_with_seed_req(
- SchnorrSignWithSeedReq raw) {
- final ptr = inner.new_box_autoadd_schnorr_sign_with_seed_req_0();
- _api_fill_to_wire_schnorr_sign_with_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_schnorr_verify_req(
- SchnorrVerifyReq raw) {
- final ptr = inner.new_box_autoadd_schnorr_verify_req_0();
- _api_fill_to_wire_schnorr_verify_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_script_derive_req(
- ScriptDeriveReq raw) {
- final ptr = inner.new_box_autoadd_script_derive_req_0();
- _api_fill_to_wire_script_derive_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_secp_256_k_1_from_seed_req(
- Secp256k1FromSeedReq raw) {
- final ptr = inner.new_box_autoadd_secp_256_k_1_from_seed_req_0();
- _api_fill_to_wire_secp_256_k_1_from_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_secp_256_k_1_recover_req(Secp256k1RecoverReq raw) {
- final ptr = inner.new_box_autoadd_secp_256_k_1_recover_req_0();
- _api_fill_to_wire_secp_256_k_1_recover_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_secp_256_k_1_share_secret_req(
- Secp256k1ShareSecretReq raw) {
- final ptr = inner.new_box_autoadd_secp_256_k_1_share_secret_req_0();
- _api_fill_to_wire_secp_256_k_1_share_secret_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_secp_256_k_1_sign_with_seed_req(
- Secp256k1SignWithSeedReq raw) {
- final ptr = inner.new_box_autoadd_secp_256_k_1_sign_with_seed_req_0();
- _api_fill_to_wire_secp_256_k_1_sign_with_seed_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer
- api2wire_box_autoadd_secp_256_k_1_verify_req(Secp256k1VerifyReq raw) {
- final ptr = inner.new_box_autoadd_secp_256_k_1_verify_req_0();
- _api_fill_to_wire_secp_256_k_1_verify_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_seed_to_key_req(
- SeedToKeyReq raw) {
- final ptr = inner.new_box_autoadd_seed_to_key_req_0();
- _api_fill_to_wire_seed_to_key_req(raw, ptr.ref);
- return ptr;
- }
-
- @protected
- ffi.Pointer api2wire_box_autoadd_u8(int raw) {
- return inner.new_box_autoadd_u8_0(api2wire_u8(raw));
- }
-
- @protected
- ffi.Pointer api2wire_opt_box_autoadd_u8(int? raw) {
- return raw == null ? ffi.nullptr : api2wire_box_autoadd_u8(raw);
- }
-
- @protected
- ffi.Pointer api2wire_opt_uint_8_list(Uint8List? raw) {
- return raw == null ? ffi.nullptr : api2wire_uint_8_list(raw);
- }
-
- @protected
- ffi.Pointer api2wire_uint_8_list(Uint8List raw) {
- final ans = inner.new_uint_8_list_0(raw.length);
- ans.ref.ptr.asTypedList(raw.length).setAll(0, raw);
- return ans;
- }
-// Section: finalizer
-
-// Section: api_fill_to_wire
-
- void _api_fill_to_wire_aes_decrypt_req(
- AesDecryptReq apiObj, wire_AesDecryptReq wireObj) {
- wireObj.key = api2wire_uint_8_list(apiObj.key);
- wireObj.iv = api2wire_uint_8_list(apiObj.iv);
- wireObj.cipher_text = api2wire_uint_8_list(apiObj.cipherText);
- }
-
- void _api_fill_to_wire_aes_encrypt_req(
- AesEncryptReq apiObj, wire_AesEncryptReq wireObj) {
- wireObj.key = api2wire_uint_8_list(apiObj.key);
- wireObj.iv = api2wire_uint_8_list(apiObj.iv);
- wireObj.message = api2wire_uint_8_list(apiObj.message);
- }
-
- void _api_fill_to_wire_bls_verify_req(
- BLSVerifyReq apiObj, wire_BLSVerifyReq wireObj) {
- wireObj.signature = api2wire_uint_8_list(apiObj.signature);
- wireObj.message = api2wire_uint_8_list(apiObj.message);
- wireObj.public_key = api2wire_uint_8_list(apiObj.publicKey);
- }
-
- void _api_fill_to_wire_box_autoadd_aes_decrypt_req(
- AesDecryptReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_aes_decrypt_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_aes_encrypt_req(
- AesEncryptReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_aes_encrypt_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_bls_verify_req(
- BLSVerifyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_bls_verify_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_ed_25519_from_seed_req(
- ED25519FromSeedReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_ed_25519_from_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_ed_25519_sign_req(
- ED25519SignReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_ed_25519_sign_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_ed_25519_verify_req(
- ED25519VerifyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_ed_25519_verify_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_p_256_from_seed_req(
- P256FromSeedReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_p_256_from_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_p_256_share_secret_req(
- P256ShareSecretReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_p_256_share_secret_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_p_256_sign_with_seed_req(
- P256SignWithSeedReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_p_256_sign_with_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_p_256_verify_req(
- P256VerifyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_p_256_verify_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_pbkdf_derive_req(
- PBKDFDeriveReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_pbkdf_derive_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_phrase_to_seed_req(
- PhraseToSeedReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_phrase_to_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_schnorr_from_seed_req(
- SchnorrFromSeedReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_schnorr_from_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_schnorr_sign_with_seed_req(
- SchnorrSignWithSeedReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_schnorr_sign_with_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_schnorr_verify_req(
- SchnorrVerifyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_schnorr_verify_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_script_derive_req(
- ScriptDeriveReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_script_derive_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_secp_256_k_1_from_seed_req(
- Secp256k1FromSeedReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_secp_256_k_1_from_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_secp_256_k_1_recover_req(
- Secp256k1RecoverReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_secp_256_k_1_recover_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_secp_256_k_1_share_secret_req(
- Secp256k1ShareSecretReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_secp_256_k_1_share_secret_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_secp_256_k_1_sign_with_seed_req(
- Secp256k1SignWithSeedReq apiObj,
- ffi.Pointer wireObj) {
- _api_fill_to_wire_secp_256_k_1_sign_with_seed_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_secp_256_k_1_verify_req(
- Secp256k1VerifyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_secp_256_k_1_verify_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_box_autoadd_seed_to_key_req(
- SeedToKeyReq apiObj, ffi.Pointer wireObj) {
- _api_fill_to_wire_seed_to_key_req(apiObj, wireObj.ref);
- }
-
- void _api_fill_to_wire_ed_25519_from_seed_req(
- ED25519FromSeedReq apiObj, wire_ED25519FromSeedReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_ed_25519_sign_req(
- ED25519SignReq apiObj, wire_ED25519SignReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- wireObj.message = api2wire_uint_8_list(apiObj.message);
- }
-
- void _api_fill_to_wire_ed_25519_verify_req(
- ED25519VerifyReq apiObj, wire_ED25519VerifyReq wireObj) {
- wireObj.sig = api2wire_uint_8_list(apiObj.sig);
- wireObj.message = api2wire_uint_8_list(apiObj.message);
- wireObj.pub_key = api2wire_uint_8_list(apiObj.pubKey);
- }
-
- void _api_fill_to_wire_p_256_from_seed_req(
- P256FromSeedReq apiObj, wire_P256FromSeedReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_p_256_share_secret_req(
- P256ShareSecretReq apiObj, wire_P256ShareSecretReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- wireObj.public_key_raw_bytes =
- api2wire_uint_8_list(apiObj.publicKeyRawBytes);
- }
-
- void _api_fill_to_wire_p_256_sign_with_seed_req(
- P256SignWithSeedReq apiObj, wire_P256SignWithSeedReq wireObj) {
- wireObj.msg = api2wire_uint_8_list(apiObj.msg);
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_p_256_verify_req(
- P256VerifyReq apiObj, wire_P256VerifyReq wireObj) {
- wireObj.message_hash = api2wire_uint_8_list(apiObj.messageHash);
- wireObj.signature_bytes = api2wire_uint_8_list(apiObj.signatureBytes);
- wireObj.public_key_bytes = api2wire_uint_8_list(apiObj.publicKeyBytes);
- }
-
- void _api_fill_to_wire_pbkdf_derive_req(
- PBKDFDeriveReq apiObj, wire_PBKDFDeriveReq wireObj) {
- wireObj.password = api2wire_uint_8_list(apiObj.password);
- wireObj.salt = api2wire_uint_8_list(apiObj.salt);
- wireObj.c = api2wire_u32(apiObj.c);
- }
-
- void _api_fill_to_wire_phrase_to_seed_req(
- PhraseToSeedReq apiObj, wire_PhraseToSeedReq wireObj) {
- wireObj.phrase = api2wire_String(apiObj.phrase);
- wireObj.password = api2wire_String(apiObj.password);
- }
-
- void _api_fill_to_wire_schnorr_from_seed_req(
- SchnorrFromSeedReq apiObj, wire_SchnorrFromSeedReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_schnorr_sign_with_seed_req(
- SchnorrSignWithSeedReq apiObj, wire_SchnorrSignWithSeedReq wireObj) {
- wireObj.msg = api2wire_uint_8_list(apiObj.msg);
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- wireObj.aux_rand = api2wire_opt_uint_8_list(apiObj.auxRand);
- }
-
- void _api_fill_to_wire_schnorr_verify_req(
- SchnorrVerifyReq apiObj, wire_SchnorrVerifyReq wireObj) {
- wireObj.message_hash = api2wire_uint_8_list(apiObj.messageHash);
- wireObj.signature_bytes = api2wire_uint_8_list(apiObj.signatureBytes);
- wireObj.public_key_bytes = api2wire_uint_8_list(apiObj.publicKeyBytes);
- }
-
- void _api_fill_to_wire_script_derive_req(
- ScriptDeriveReq apiObj, wire_ScriptDeriveReq wireObj) {
- wireObj.password = api2wire_uint_8_list(apiObj.password);
- wireObj.salt = api2wire_uint_8_list(apiObj.salt);
- wireObj.n = api2wire_u32(apiObj.n);
- wireObj.p = api2wire_u32(apiObj.p);
- wireObj.r = api2wire_u32(apiObj.r);
- }
-
- void _api_fill_to_wire_secp_256_k_1_from_seed_req(
- Secp256k1FromSeedReq apiObj, wire_Secp256k1FromSeedReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_secp_256_k_1_recover_req(
- Secp256k1RecoverReq apiObj, wire_Secp256k1RecoverReq wireObj) {
- wireObj.message_pre_hashed = api2wire_uint_8_list(apiObj.messagePreHashed);
- wireObj.signature_bytes = api2wire_uint_8_list(apiObj.signatureBytes);
- wireObj.chain_id = api2wire_opt_box_autoadd_u8(apiObj.chainId);
- }
-
- void _api_fill_to_wire_secp_256_k_1_share_secret_req(
- Secp256k1ShareSecretReq apiObj, wire_Secp256k1ShareSecretReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- wireObj.public_key_raw_bytes =
- api2wire_uint_8_list(apiObj.publicKeyRawBytes);
- }
-
- void _api_fill_to_wire_secp_256_k_1_sign_with_seed_req(
- Secp256k1SignWithSeedReq apiObj, wire_Secp256k1SignWithSeedReq wireObj) {
- wireObj.msg = api2wire_uint_8_list(apiObj.msg);
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- }
-
- void _api_fill_to_wire_secp_256_k_1_verify_req(
- Secp256k1VerifyReq apiObj, wire_Secp256k1VerifyReq wireObj) {
- wireObj.message_hash = api2wire_uint_8_list(apiObj.messageHash);
- wireObj.signature_bytes = api2wire_uint_8_list(apiObj.signatureBytes);
- wireObj.public_key_bytes = api2wire_uint_8_list(apiObj.publicKeyBytes);
- }
-
- void _api_fill_to_wire_seed_to_key_req(
- SeedToKeyReq apiObj, wire_SeedToKeyReq wireObj) {
- wireObj.seed = api2wire_uint_8_list(apiObj.seed);
- wireObj.path = api2wire_String(apiObj.path);
- }
-}
-
-// ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names
-
-// AUTO GENERATED FILE, DO NOT EDIT.
-//
-// Generated by `package:ffigen`.
-// ignore_for_file: type=lint
-
-/// generated by flutter_rust_bridge
-class AgentDartWire implements FlutterRustBridgeWireBase {
- @internal
- late final dartApi = DartApiDl(init_frb_dart_api_dl);
-
- /// Holds the symbol lookup function.
- final ffi.Pointer Function(String symbolName)
- _lookup;
-
- /// The symbols are looked up in [dynamicLibrary].
- AgentDartWire(ffi.DynamicLibrary dynamicLibrary)
- : _lookup = dynamicLibrary.lookup;
-
- /// The symbols are looked up with [lookup].
- AgentDartWire.fromLookup(
- ffi.Pointer Function(String symbolName)
- lookup)
- : _lookup = lookup;
-
- void store_dart_post_cobject(
- DartPostCObjectFnType ptr,
- ) {
- return _store_dart_post_cobject(
- ptr,
- );
- }
-
- late final _store_dart_post_cobjectPtr =
- _lookup>(
- 'store_dart_post_cobject');
- late final _store_dart_post_cobject = _store_dart_post_cobjectPtr
- .asFunction();
-
- Object get_dart_object(
- int ptr,
- ) {
- return _get_dart_object(
- ptr,
- );
- }
-
- late final _get_dart_objectPtr =
- _lookup>(
- 'get_dart_object');
- late final _get_dart_object =
- _get_dart_objectPtr.asFunction