diff --git a/Cargo.lock b/Cargo.lock index b7a689a14..62d10a2fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -78,7 +78,7 @@ name = "alias" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -423,7 +423,7 @@ dependencies = [ "alloy-sol-types", "anyhow", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rand 0.8.5", "serde", "serde_json", @@ -820,24 +820,24 @@ dependencies = [ [[package]] name = "cap-fs-ext" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88e341d15ac1029aadce600be764a1a1edafe40e03cde23285bc1d261b3a4866" +checksum = "769f8cd02eb04d57f14e2e371ebb533f96817f9b2525d73a5c72b61ca7973747" dependencies = [ - "cap-primitives", - "cap-std", + "cap-primitives 3.0.0", + "cap-std 3.0.0", "io-lifetimes", "windows-sys 0.52.0", ] [[package]] name = "cap-net-ext" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434168fe6533055f0f4204039abe3ff6d7db338ef46872a5fa39e9d5ad5ab7a9" +checksum = "59ff6d3fb274292a9af283417e383afe6ded1fe66f6472d2c781216d3d80c218" dependencies = [ - "cap-primitives", - "cap-std", + "cap-primitives 3.0.0", + "cap-std 3.0.0", "rustix", "smallvec", ] @@ -859,11 +859,28 @@ dependencies = [ "winx", ] +[[package]] +name = "cap-primitives" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90a0b44fc796b1a84535a63753d50ba3972c4db55c7255c186f79140e63d56d0" +dependencies = [ + "ambient-authority", + "fs-set-times", + "io-extras", + "io-lifetimes", + "ipnet", + "maybe-owned", + "rustix", + "windows-sys 0.52.0", + "winx", +] + [[package]] name = "cap-rand" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20e5695565f0cd7106bc3c7170323597540e772bb73e0be2cd2c662a0f8fa4ca" +checksum = "4327f08daac33a99bb03c54ae18c8f32c3ba31c728a33ddf683c6c6a5043de68" dependencies = [ "ambient-authority", "rand 0.8.5", @@ -875,7 +892,19 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "593db20e4c51f62d3284bae7ee718849c3214f93a3b94ea1899ad85ba119d330" dependencies = [ - "cap-primitives", + "cap-primitives 2.0.1", + "io-extras", + "io-lifetimes", + "rustix", +] + +[[package]] +name = "cap-std" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266626ce180cf9709f317d0bf9754e3a5006359d87f4bf792f06c9c5f1b63c0f" +dependencies = [ + "cap-primitives 3.0.0", "io-extras", "io-lifetimes", "rustix", @@ -883,12 +912,12 @@ dependencies = [ [[package]] name = "cap-time-ext" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03261630f291f425430a36f38c847828265bc928f517cdd2004c56f4b02f002b" +checksum = "e1353421ba83c19da60726e35db0a89abef984b3be183ff6f58c5b8084fcd0c5" dependencies = [ "ambient-authority", - "cap-primitives", + "cap-primitives 3.0.0", "iana-time-zone", "once_cell", "rustix", @@ -900,7 +929,7 @@ name = "cat" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -962,7 +991,7 @@ dependencies = [ "anyhow", "base64 0.13.1", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "pleco", "serde", "serde_json", @@ -1055,6 +1084,33 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "color-eyre" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" +dependencies = [ + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", +] + +[[package]] +name = "color-spantrace" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +dependencies = [ + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", +] + [[package]] name = "colorchoice" version = "1.0.0" @@ -1116,9 +1172,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpp_demangle" -version = "0.3.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" dependencies = [ "cfg-if", ] @@ -1134,18 +1190,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7c0d51205b863591dd1e7aaa0fb69c2ea7bed48ffa63d6c4a848b07a35a732" +checksum = "5b3775cc6cc00c90d29eebea55feedb2b0168e23f5415bab7859c4004d7323d1" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ffb467cbc25543e4c20d2ad669bf8275598047b03c89652ad5fe2a0f47fc0e1" +checksum = "637f3184ba5bfa48d425bad1d2e4faf5fcf619f5e0ca107edc6dc02f589d4d74" dependencies = [ "bumpalo", "cranelift-bforest", @@ -1164,33 +1220,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7e74aed5c2b91e38d090653506afbd2cd3be1ff70593e2aa6bb82b3c6b77ff" +checksum = "e4b35b8240462341d94d31aab807cad704683988708261aecae3d57db48b7212" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff2dd24cce0775566da85770cb48aa58fef901cf2bff30275b42e7dbe62cbd5" +checksum = "8f3cd1555aa9df1d6d8375732de41b4cb0d787006948d55b6d004d521e9efeb0" [[package]] name = "cranelift-control" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8bcf4d5c73bbca309edf3af2839b5218e5c74cfbf22b0ac492af8a1d11120d9" +checksum = "14b31a562a10e98ab148fa146801e20665c5f9eda4fce9b2c5a3836575887d74" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286754159b1a685475d6a0b4710832f950d6f4846a817002e2c23ff001321a65" +checksum = "af1e0467700a3f4fccf5feddbaebdf8b0eb82535b06a9600c4bc5df40872e75d" dependencies = [ "serde", "serde_derive", @@ -1198,9 +1254,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67150a1fef9857caba710f8c0c8223d640f02c0e5d1ebbfc75ed62912599cb6b" +checksum = "6cb918ee2c23939262efd1b99d76a21212ac7bd35129582133e21a22a6ff0467" dependencies = [ "cranelift-codegen", "log", @@ -1210,15 +1266,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7ceea70d3e0d7f69df7657f99de902e32016731c5a8d2788c1df0215f00952" +checksum = "966e4cfb23cf6d7f1d285d53a912baaffc5f06bcd9c9b0a2d8c66a184fae534b" [[package]] name = "cranelift-native" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707e5d9384ce4fa3c40af1abf4c3ec49857745cced5187593385f4a2c0b95445" +checksum = "bea803aadfc4aabdfae7c3870f1b1f6dd4332f4091859e9758ef5fca6bf8cc87" dependencies = [ "cranelift-codegen", "libc", @@ -1227,17 +1283,17 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d957e3ff2a14c2f974a66c22bfcedcd2bd0272af8dce4236869c3942f5a471" +checksum = "11d18a3572cd897555bba3621e568029417d8f5cc26aeede2d7cb0bad6afd916" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools 0.10.5", + "itertools 0.12.1", "log", "smallvec", - "wasmparser 0.118.2", + "wasmparser 0.201.0", "wasmtime-types", ] @@ -1606,7 +1662,7 @@ name = "download" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -1637,7 +1693,7 @@ name = "echo" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -1712,6 +1768,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1820,6 +1886,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "fs-set-times" version = "0.20.1" @@ -1837,7 +1912,7 @@ version = "0.2.0" dependencies = [ "anyhow", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rand 0.8.5", "serde", "serde_json", @@ -1982,7 +2057,7 @@ dependencies = [ name = "get_block" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -2157,7 +2232,7 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" name = "hi" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -2187,7 +2262,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -2388,6 +2463,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + [[package]] name = "indexmap" version = "2.2.3" @@ -2413,7 +2494,7 @@ name = "install" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -2572,7 +2653,7 @@ dependencies = [ [[package]] name = "kinode" -version = "0.6.2" +version = "0.6.3" dependencies = [ "aes-gcm", "alloy-primitives", @@ -2590,7 +2671,7 @@ dependencies = [ "bincode", "blake3", "bytes", - "cap-std", + "cap-std 2.0.1", "chacha20poly1305", "chrono", "clap", @@ -2638,6 +2719,7 @@ dependencies = [ "uuid", "walkdir", "warp", + "wasi-common", "wasmtime", "wasmtime-wasi", "zip", @@ -2645,7 +2727,7 @@ dependencies = [ [[package]] name = "kinode_lib" -version = "0.6.2" +version = "0.6.3" dependencies = [ "lib", ] @@ -2653,7 +2735,28 @@ dependencies = [ [[package]] name = "kinode_process_lib" version = "0.6.0" -source = "git+https://github.com/kinode-dao/process_lib?tag=v0.6.0#ccf9db2493ec1e112f9146994f852b7bb119dbb6" +source = "git+https://github.com/kinode-dao/process_lib?rev=84b3d84#84b3d84c7c31185f15691a288f1b45dbffb18fe2" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-rpc-types", + "alloy-transport", + "anyhow", + "bincode", + "http 1.0.0", + "mime_guess", + "rand 0.8.5", + "serde", + "serde_json", + "thiserror", + "url", + "wit-bindgen", +] + +[[package]] +name = "kinode_process_lib" +version = "0.6.1" +source = "git+https://github.com/kinode-dao/process_lib?tag=v0.6.1#37a20b0249dc2c86ae6c2c69cfb199fb177f1520" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -2664,6 +2767,7 @@ dependencies = [ "http 1.0.0", "mime_guess", "rand 0.8.5", + "rmp-serde", "serde", "serde_json", "thiserror", @@ -2673,17 +2777,19 @@ dependencies = [ [[package]] name = "kit" -version = "0.2.0" -source = "git+https://github.com/kinode-dao/kit?rev=1bd7bec#1bd7bec195f4d6878d553a8568b0f2fa1240168a" +version = "0.3.1" +source = "git+https://github.com/kinode-dao/kit?rev=659f59e#659f59ec9b8a503e4998e1bbe4b991429fa7ff33" dependencies = [ "anyhow", "base64 0.21.7", "clap", + "color-eyre", "dirs 5.0.1", + "fs-err", "futures-util", "git2", "hex", - "kinode_process_lib", + "kinode_process_lib 0.6.0", "nix", "regex", "reqwest", @@ -2694,9 +2800,10 @@ dependencies = [ "thiserror", "tokio", "tokio-tungstenite", - "toml 0.8.10", + "toml", "tracing", "tracing-appender", + "tracing-error", "tracing-subscriber", "walkdir", "zip", @@ -2711,7 +2818,7 @@ dependencies = [ "anyhow", "bincode", "hex", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rmp-serde", "serde", "serde_json", @@ -2738,9 +2845,11 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "lib" -version = "0.6.2" +version = "0.6.3" dependencies = [ "alloy-rpc-types", + "anyhow", + "kit", "lazy_static", "rand 0.8.5", "reqwest", @@ -2891,7 +3000,7 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "regex", "serde", "serde_json", @@ -3023,7 +3132,7 @@ dependencies = [ name = "namehash_to_name" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rmp-serde", "serde", "wit-bindgen", @@ -3051,7 +3160,7 @@ dependencies = [ name = "net_diagnostics" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rmp-serde", "serde", "wit-bindgen", @@ -3240,6 +3349,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + [[package]] name = "parity-scale-codec" version = "3.6.9" @@ -3334,7 +3449,7 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" name = "peer" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rmp-serde", "serde", "wit-bindgen", @@ -3344,7 +3459,7 @@ dependencies = [ name = "peers" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rmp-serde", "serde", "wit-bindgen", @@ -4522,7 +4637,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" name = "state" version = "0.1.0" dependencies = [ - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -4632,13 +4747,13 @@ dependencies = [ [[package]] name = "system-interface" -version = "0.26.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0682e006dd35771e392a6623ac180999a9a854b1d4a6c12fb2e804941c2b1f58" +checksum = "b858526d22750088a9b3cf2e3c2aacebd5377f13adeec02860c30d09113010a6" dependencies = [ "bitflags 2.4.2", "cap-fs-ext", - "cap-std", + "cap-std 3.0.0", "fd-lock", "io-lifetimes", "rustix", @@ -4676,7 +4791,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "rand 0.8.5", "regex", "serde", @@ -4690,7 +4805,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bincode", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "thiserror", @@ -4704,7 +4819,7 @@ dependencies = [ "anyhow", "bincode", "indexmap", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "thiserror", @@ -4885,15 +5000,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.8.10" @@ -4944,7 +5050,7 @@ name = "top" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -5022,6 +5128,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-error" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +dependencies = [ + "tracing", + "tracing-subscriber", +] + [[package]] name = "tracing-futures" version = "0.2.5" @@ -5230,7 +5346,7 @@ name = "uninstall" version = "0.1.0" dependencies = [ "anyhow", - "kinode_process_lib", + "kinode_process_lib 0.6.1", "serde", "serde_json", "wit-bindgen", @@ -5387,41 +5503,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "wasi-cap-std-sync" -version = "17.0.1" +name = "wasi-common" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025e842ba390587e523785ff58bd54fbbf1781b8d3072bc9aba4dc0b809f69da" +checksum = "6b53dfacdeacca15ee2a48a4aa0ec6a6d0da737676e465770c0585f79c04e638" dependencies = [ "anyhow", - "async-trait", + "bitflags 2.4.2", "cap-fs-ext", "cap-rand", - "cap-std", + "cap-std 3.0.0", "cap-time-ext", "fs-set-times", "io-extras", "io-lifetimes", + "log", "once_cell", "rustix", "system-interface", - "tracing", - "wasi-common", - "windows-sys 0.52.0", -] - -[[package]] -name = "wasi-common" -version = "17.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4d4023cc65b3615590d38db0afb79234de09b3bb89cb0d8f83bdee9f5c28a8" -dependencies = [ - "anyhow", - "bitflags 2.4.2", - "cap-rand", - "cap-std", - "io-extras", - "log", - "rustix", "thiserror", "tracing", "wasmtime", @@ -5497,36 +5596,27 @@ checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "wasm-encoder" -version = "0.38.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" -dependencies = [ - "leb128", -] - -[[package]] -name = "wasm-encoder" -version = "0.41.2" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "972f97a5d8318f908dded23594188a90bcd09365986b1163e66d70170e5287ae" +checksum = "b9c7d2731df60006819b013f64ccc2019691deccf6e11a1804bc850cd6748f1a" dependencies = [ "leb128", ] [[package]] name = "wasm-encoder" -version = "0.200.0" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e3fb0c8fbddd78aa6095b850dfeedbc7506cf5f81e633f69cf8f2333ab84b9" +checksum = "bfd106365a7f5f7aa3c1916a98cbb3ad477f5ff96ddb130285a91c6e7429e67a" dependencies = [ "leb128", ] [[package]] name = "wasm-metadata" -version = "0.10.20" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18ebaa7bd0f9e7a5e5dd29b9a998acf21c4abed74265524dd7e85934597bfb10" +checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", "indexmap", @@ -5534,25 +5624,26 @@ dependencies = [ "serde_derive", "serde_json", "spdx", - "wasm-encoder 0.41.2", - "wasmparser 0.121.2", + "wasm-encoder 0.202.0", + "wasmparser 0.202.0", ] [[package]] name = "wasmparser" -version = "0.118.2" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f1154f1ab868e2a01d9834a805faca7bf8b50d041b4ca714d005d0dab1c50c" +checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708" dependencies = [ + "bitflags 2.4.2", "indexmap", "semver 1.0.21", ] [[package]] name = "wasmparser" -version = "0.121.2" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" +checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ "bitflags 2.4.2", "indexmap", @@ -5561,20 +5652,21 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.2.80" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e73986a6b7fdfedb7c5bf9e7eb71135486507c8fbc4c0c42cffcb6532988b7" +checksum = "a67e66da702706ba08729a78e3c0079085f6bfcb1a62e4799e97bbf728c2c265" dependencies = [ "anyhow", - "wasmparser 0.121.2", + "wasmparser 0.201.0", ] [[package]] name = "wasmtime" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb6aa966be38f613954c3debe7ba6c7a02ffd0537432be438da0b038955cdf" +checksum = "516be5b58a8f75d39b01378516dcb0ff7b9bc39c7f1f10eec5b338d4916cf988" dependencies = [ + "addr2line", "anyhow", "async-trait", "bincode", @@ -5582,27 +5674,33 @@ dependencies = [ "cfg-if", "encoding_rs", "fxprof-processed-profile", + "gimli", "indexmap", + "ittapi", "libc", "log", "object", "once_cell", "paste", "rayon", + "rustix", + "semver 1.0.21", "serde", "serde_derive", "serde_json", "target-lexicon", - "wasm-encoder 0.38.1", - "wasmparser 0.118.2", + "wasm-encoder 0.201.0", + "wasmparser 0.201.0", "wasmtime-cache", "wasmtime-component-macro", "wasmtime-component-util", "wasmtime-cranelift", "wasmtime-environ", "wasmtime-fiber", - "wasmtime-jit", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", "wasmtime-runtime", + "wasmtime-slab", "wasmtime-winch", "wat", "windows-sys 0.52.0", @@ -5610,18 +5708,18 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1495ef4d46aec14f967b672e946e391dd8a14a443cda3d5e0779ff67fb6e28d" +checksum = "e8d22d88a92d69385f18143c946884bf6aaa9ec206ce54c85a2d320c1362b009" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2de1b065bdbaca3df9e7e9f70eb129e326a99d971b16d666acd798d98d47635" +checksum = "068728a840223b56c964507550da671372e7e5c2f3a7856012b57482e3e979a7" dependencies = [ "anyhow", "base64 0.21.7", @@ -5632,16 +5730,16 @@ dependencies = [ "serde", "serde_derive", "sha2", - "toml 0.5.11", + "toml", "windows-sys 0.52.0", - "zstd", + "zstd 0.13.1", ] [[package]] name = "wasmtime-component-macro" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f19bcff82f81ba0273c0b68f3909977b0dd54489bc86c630d8aad43dca92f3f" +checksum = "631244bac89c57ebe7283209d86fe175ad5929328e75f61bf9141895cafbf52d" dependencies = [ "anyhow", "proc-macro2", @@ -5649,20 +5747,20 @@ dependencies = [ "syn 2.0.48", "wasmtime-component-util", "wasmtime-wit-bindgen", - "wit-parser", + "wit-parser 0.201.0", ] [[package]] name = "wasmtime-component-util" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8af072b7ad5ac5583e1f9e4737ebf88923de564fb5d4ace0ca9b4b720bdf95a1" +checksum = "82ad496ba0558f7602da5e9d4c201f35f7aefcca70f973ec916f3f0d0787ef74" [[package]] name = "wasmtime-cranelift" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df08a8bd9a68732577bee05ac685e4c247238b5e79ad9c062e2dfb4d04dca132" +checksum = "961ab5ee4b17e627001b18069ee89ef906edbbd3f84955515f6aad5ab6d82299" dependencies = [ "anyhow", "cfg-if", @@ -5677,7 +5775,7 @@ dependencies = [ "object", "target-lexicon", "thiserror", - "wasmparser 0.118.2", + "wasmparser 0.201.0", "wasmtime-cranelift-shared", "wasmtime-environ", "wasmtime-versioned-export-macros", @@ -5685,9 +5783,9 @@ dependencies = [ [[package]] name = "wasmtime-cranelift-shared" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "404201c9e669083f189f01337b3ed0aa0eb081157fb4e170bbfe193df9497771" +checksum = "bc4db94596be14cd1f85844ce85470bf68acf235143098b9d9bf72b49e47b917" dependencies = [ "anyhow", "cranelift-codegen", @@ -5701,22 +5799,25 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e696b4911c9a69c3c2892ec05eb41bb15436d1a46d8830a755c40f5df47546a" +checksum = "420b13858ef27dfd116f1fdb0513e9593a307a632ade2ea58334b639a3d8d24e" dependencies = [ "anyhow", + "bincode", + "cpp_demangle", "cranelift-entity", "gimli", "indexmap", "log", "object", + "rustc-demangle", "serde", "serde_derive", "target-lexicon", "thiserror", - "wasm-encoder 0.38.1", - "wasmparser 0.118.2", + "wasm-encoder 0.201.0", + "wasmparser 0.201.0", "wasmprinter", "wasmtime-component-util", "wasmtime-types", @@ -5724,9 +5825,9 @@ dependencies = [ [[package]] name = "wasmtime-fiber" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a39681c1f6f54d1bf7efe5dc829f8d7fc0e2ca12c346fd7a3efbf726e9681d2" +checksum = "5d37ff0e11a023019e34fe839c74a1c00880b989f4446176b6cc6da3b58e3ef2" dependencies = [ "anyhow", "cc", @@ -5737,38 +5838,11 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "wasmtime-jit" -version = "17.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c56519882d936c680bd191d58ac04cff071a470eca2dcc664adcd60f986a731" -dependencies = [ - "addr2line", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli", - "ittapi", - "log", - "object", - "rustc-demangle", - "rustix", - "serde", - "serde_derive", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.52.0", -] - [[package]] name = "wasmtime-jit-debug" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babc65e64ab0dd4e1ce65624db64e24ed0fbdebb16148729173fa0da9f70e53c" +checksum = "7b849f19ad1d4a8133ff05b82c438144f17fb49b08e5f7995f8c1e25cf35f390" dependencies = [ "object", "once_cell", @@ -5778,9 +5852,9 @@ dependencies = [ [[package]] name = "wasmtime-jit-icache-coherence" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ec5b11c12d9acb09612e7ce04c4c8aea3e8dc79b2591ffdead986a5ce8ec49" +checksum = "59c48eb4223d6556ffbf3decb146d0da124f1fd043f41c98b705252cb6a5c186" dependencies = [ "cfg-if", "libc", @@ -5789,9 +5863,9 @@ dependencies = [ [[package]] name = "wasmtime-runtime" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e1c31bbdf67cb86f149bcead5193749f23f77c93c5244ec9ac8d192f90966c" +checksum = "7fefac2cb5f5a6f365234a3584bf40bd2e45e7f6cd90a689d9b2afbb9881978f" dependencies = [ "anyhow", "cc", @@ -5807,7 +5881,7 @@ dependencies = [ "psm", "rustix", "sptr", - "wasm-encoder 0.38.1", + "wasm-encoder 0.201.0", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-fiber", @@ -5817,24 +5891,30 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "wasmtime-slab" +version = "19.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52d7b97b92df126fdbe994a53d2215828ec5ed5087535e6d4703b1fbd299f0e3" + [[package]] name = "wasmtime-types" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e799cff634d30fd042db96b417d515e54f903b95f8c1e0ec60e8f604479485" +checksum = "509c88abb830819b259c49e2d4e4f22b555db066ba08ded0b76b071a2aa53ddf" dependencies = [ "cranelift-entity", "serde", "serde_derive", "thiserror", - "wasmparser 0.118.2", + "wasmparser 0.201.0", ] [[package]] name = "wasmtime-versioned-export-macros" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10fe166d4e4c95d5d80c5b47e1e12256af2099ac525ddb9a19b1aeb8896e5e1" +checksum = "f1d81c092a61ca1667013e2eb08fed7c6c53e496dbbaa32d5685dc5152b0a772" dependencies = [ "proc-macro2", "quote", @@ -5843,9 +5923,9 @@ dependencies = [ [[package]] name = "wasmtime-wasi" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494f99111a165dcddc69aaa5fa23604f49dcfab479a869edd84581abd6ac569b" +checksum = "af3ebe8aeb34f49342db2e8fbb1992796e6c7d9f7005b7298ca0dceede532e9d" dependencies = [ "anyhow", "async-trait", @@ -5854,14 +5934,12 @@ dependencies = [ "cap-fs-ext", "cap-net-ext", "cap-rand", - "cap-std", + "cap-std 3.0.0", "cap-time-ext", "fs-set-times", "futures", "io-extras", "io-lifetimes", - "libc", - "log", "once_cell", "rustix", "system-interface", @@ -5869,8 +5947,6 @@ dependencies = [ "tokio", "tracing", "url", - "wasi-cap-std-sync", - "wasi-common", "wasmtime", "wiggle", "windows-sys 0.52.0", @@ -5878,16 +5954,16 @@ dependencies = [ [[package]] name = "wasmtime-winch" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3f5d76d399cb4423e6f178bc154a0e1c314711e28dabaa6e757e56628a083ec" +checksum = "a0958907880e37a2d3974f5b3574c23bf70aaf1fc6c1f716625bb50dac776f1a" dependencies = [ "anyhow", "cranelift-codegen", "gimli", "object", "target-lexicon", - "wasmparser 0.118.2", + "wasmparser 0.201.0", "wasmtime-cranelift-shared", "wasmtime-environ", "winch-codegen", @@ -5895,21 +5971,21 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb3bc92c031cf4961135bffe055a69c1bd67c253dca20631478189bb05ec27b" +checksum = "a593ddefd2f80617df6bea084b2e422d8969e924bc209642a794d57518f59587" dependencies = [ "anyhow", "heck", "indexmap", - "wit-parser", + "wit-parser 0.201.0", ] [[package]] name = "wasmtime-wmemcheck" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da08ab734954e16f57be38423b90c25a0b13420e51cbd0a2e37b86a468a988c" +checksum = "b77212b6874bbc86d220bb1d28632d0c11c6afe996c3e1ddcf746b1a6b4919b9" [[package]] name = "wast" @@ -5922,24 +5998,24 @@ dependencies = [ [[package]] name = "wast" -version = "200.0.0" +version = "202.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1810d14e6b03ebb8fb05eef4009ad5749c989b65197d83bce7de7172ed91366" +checksum = "1fbcb11204515c953c9b42ede0a46a1c5e17f82af05c4fae201a8efff1b0f4fe" dependencies = [ "bumpalo", "leb128", "memchr", "unicode-width", - "wasm-encoder 0.200.0", + "wasm-encoder 0.202.0", ] [[package]] name = "wat" -version = "1.200.0" +version = "1.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "776cbd10e217f83869beaa3f40e312bb9e91d5eee29bbf6f560db1261b6a4c3d" +checksum = "4de4b15a47135c56a3573406e9977b9518787a6154459b4842a9b9d3d1684848" dependencies = [ - "wast 200.0.0", + "wast 202.0.0", ] [[package]] @@ -5960,9 +6036,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "wiggle" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd5b200b5dd3d5d7cc4093166f4f916d2d2839296cf1b1757b9726635f6425c3" +checksum = "f093d8afdb09efaf2ed1037468bd4614308a762d215b6cafd60a7712993a8ffa" dependencies = [ "anyhow", "async-trait", @@ -5975,9 +6051,9 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4dc34a2bc1091599de005e9b854cd1a9ea35b16ca51cac2797274c1a2666e06" +checksum = "47c7bccd5172ce8d853242f723e42c84b8c131b24fb07a1570f9045d99258616" dependencies = [ "anyhow", "heck", @@ -5990,9 +6066,9 @@ dependencies = [ [[package]] name = "wiggle-macro" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ba3b37f402a7513b9ed7973a6e907074987b3afdcede98d3d79939b3e76f1b" +checksum = "a69d087dee85991096fc0c6eaf4dcf4e17cd16a0594c33b8ab9e2d345234ef75" dependencies = [ "proc-macro2", "quote", @@ -6033,9 +6109,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "0.15.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d921185084e134e897e0e202e129a422306d0f1391954ecf4928d36defa897d" +checksum = "e72a6a7034793b874b85e428fd6d7b3ccccb98c326e33af3aa40cdf50d0c33da" dependencies = [ "anyhow", "cranelift-codegen", @@ -6043,7 +6119,7 @@ dependencies = [ "regalloc2", "smallvec", "target-lexicon", - "wasmparser 0.118.2", + "wasmparser 0.201.0", "wasmtime-environ", ] @@ -6228,30 +6304,42 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.17.0" -source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=21a46c7#21a46c774532da99384f7a1877c1fcfb7a4c72d3" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb4e7653763780be47e38f479e9aa83c768aa6a3b2ed086dc2826fdbbb7e7f5" dependencies = [ - "bitflags 2.4.2", + "wit-bindgen-rt", "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" -version = "0.17.0" -source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=21a46c7#21a46c774532da99384f7a1877c1fcfb7a4c72d3" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b67e11c950041849a10828c7600ea62a4077c01e8af72e8593253575428f91b" dependencies = [ "anyhow", - "wit-component", - "wit-parser", + "wit-parser 0.202.0", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" +dependencies = [ + "bitflags 2.4.2", ] [[package]] name = "wit-bindgen-rust" -version = "0.17.0" -source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=21a46c7#21a46c774532da99384f7a1877c1fcfb7a4c72d3" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30acbe8fb708c3a830a33c4cb705df82659bf831b492ec6ca1a17a369cfeeafb" dependencies = [ "anyhow", "heck", + "indexmap", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -6259,8 +6347,9 @@ dependencies = [ [[package]] name = "wit-bindgen-rust-macro" -version = "0.17.0" -source = "git+https://github.com/bytecodealliance/wit-bindgen?rev=21a46c7#21a46c774532da99384f7a1877c1fcfb7a4c72d3" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b1b06eae85feaecdf9f2854f7cac124e00d5a6e5014bfb02eb1ecdeb5f265b9" dependencies = [ "anyhow", "proc-macro2", @@ -6268,14 +6357,13 @@ dependencies = [ "syn 2.0.48", "wit-bindgen-core", "wit-bindgen-rust", - "wit-component", ] [[package]] name = "wit-component" -version = "0.20.3" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4436190e87b4e539807bcdcf5b817e79d2e29e16bc5ddb6445413fe3d1f5716" +checksum = "0c836b1fd9932de0431c1758d8be08212071b6bba0151f7bac826dbc4312a2a9" dependencies = [ "anyhow", "bitflags 2.4.2", @@ -6284,17 +6372,35 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder 0.41.2", + "wasm-encoder 0.202.0", "wasm-metadata", - "wasmparser 0.121.2", - "wit-parser", + "wasmparser 0.202.0", + "wit-parser 0.202.0", ] [[package]] name = "wit-parser" -version = "0.13.2" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196d3ecfc4b759a8573bf86a9b3f8996b304b3732e4c7de81655f875f6efdca6" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver 1.0.21", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.201.0", +] + +[[package]] +name = "wit-parser" +version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "316b36a9f0005f5aa4b03c39bc3728d045df136f8c13a73b7db4510dec725e08" +checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc" dependencies = [ "anyhow", "id-arena", @@ -6305,6 +6411,7 @@ dependencies = [ "serde_derive", "serde_json", "unicode-xid", + "wasmparser 0.202.0", ] [[package]] @@ -6404,7 +6511,7 @@ dependencies = [ "pbkdf2", "sha1", "time", - "zstd", + "zstd 0.11.2+zstd.1.5.2", ] [[package]] @@ -6413,7 +6520,16 @@ version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ - "zstd-safe", + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +dependencies = [ + "zstd-safe 7.1.0", ] [[package]] @@ -6426,11 +6542,20 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "7.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +dependencies = [ + "zstd-sys", +] + [[package]] name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 44c405f50..a465cb9be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "kinode_lib" authors = ["KinodeDAO"] -version = "0.6.2" +version = "0.6.3" edition = "2021" description = "A general-purpose sovereign cloud computing platform" homepage = "https://kinode.org" diff --git a/README.md b/README.md index c4d10d70e..9283ed144 100644 --- a/README.md +++ b/README.md @@ -49,14 +49,14 @@ Make sure not to use the same home directory for two nodes at once! You can use TODO: document feature flags in `--simulation-mode` ```bash # OPTIONAL: --release flag -cargo +nightly run -p kinode -- home --testnet +cargo +nightly run -p kinode -- home ``` -On boot you will be prompted to navigate to `localhost:8080`. Make sure your browser wallet matches the network that the node is being booted on. Follow the registration UI -- if you want to register a new ID you will either need [Sepolia testnet tokens](https://www.infura.io/faucet/sepolia) or an invite code. +On boot you will be prompted to navigate to `localhost:8080`. Make sure your browser wallet matches the network that the node is being booted on. Follow the registration UI -- if you want to register a new ID you will either need Optimism ETH or an invite code. ## Configuring the ETH RPC Provider -By default, a node will use the hardcoded providers for the network ([testnet](./kinode/default_providers_testnet.json)/[mainnet](./kinode/default_providers_mainnet.json)) it is booted on. A node can use a WebSockets RPC URL directly, or use another Kinode as a relay point. To adjust the providers a node uses, just create and modify the `.eth_providers` file in the node's home folder (set at boot). See the Kinode Book for more docs, and see the [default providers file here](./kinode/default_providers_testnet.json) for a template to create `.eth_providers`. +By default, a node will use the [hardcoded providers](./kinode/default_providers_mainnet.json) for the network it is booted on. A node can use a WebSockets RPC URL directly, or use another Kinode as a relay point. To adjust the providers a node uses, just create and modify the `.eth_providers` file in the node's home folder (set at boot). See the Kinode Book for more docs, and see the [default providers file here](./kinode/default_providers_mainnet.json) for a template to create `.eth_providers`. You may also add a RPC provider or otherwise modify your configuration by sending messages from the terminal to the `eth:distro:sys` process. Use this message format to add a provider -- this will make your node's performance better when accessing a blockchain: ``` diff --git a/kinode/Cargo.toml b/kinode/Cargo.toml index 741ce36e3..1ff51905a 100644 --- a/kinode/Cargo.toml +++ b/kinode/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "kinode" authors = ["KinodeDAO"] -version = "0.6.2" +version = "0.6.3" edition = "2021" description = "A general-purpose sovereign cloud computing platform" homepage = "https://kinode.org" @@ -14,7 +14,7 @@ path = "src/main.rs" [build-dependencies] anyhow = "1.0.71" -kit = { git = "https://github.com/kinode-dao/kit", rev = "1bd7bec" } +kit = { git = "https://github.com/kinode-dao/kit", rev = "659f59e" } rayon = "1.8.1" sha2 = "0.10" tokio = "1.28" @@ -86,6 +86,7 @@ tokio-tungstenite = "0.20.1" url = "2.4.1" uuid = { version = "1.1.2", features = ["serde", "v4"] } warp = "0.3.5" -wasmtime = "17.0.1" -wasmtime-wasi = "17.0.1" +wasi-common = "19.0.1" +wasmtime = "19.0.1" +wasmtime-wasi = "19.0.1" zip = "0.6" diff --git a/kinode/build.rs b/kinode/build.rs index bdf3947a9..9fb7ed9e7 100644 --- a/kinode/build.rs +++ b/kinode/build.rs @@ -1,5 +1,6 @@ use rayon::prelude::*; use std::{ + collections::HashSet, fs::{self, File}, io::{Cursor, Read, Write}, path::{Path, PathBuf}, @@ -22,6 +23,24 @@ fn get_features() -> String { features } +fn output_reruns(dir: &Path, rerun_files: &HashSet) { + if let Ok(entries) = fs::read_dir(dir) { + for entry in entries.filter_map(|e| e.ok()) { + let path = entry.path(); + if path.is_dir() { + // If the entry is a directory, recursively walk it + output_reruns(&path, rerun_files); + } else if let Some(filename) = path.file_name().and_then(|n| n.to_str()) { + // Check if the current file is in our list of interesting files + if rerun_files.contains(filename) { + // If so, print a `cargo:rerun-if-changed=PATH` line for it + println!("cargo:rerun-if-changed={}", path.display()); + } + } + } + } +} + fn build_and_zip_package( entry_path: PathBuf, parent_pkg_path: &str, @@ -29,7 +48,9 @@ fn build_and_zip_package( ) -> anyhow::Result<(String, String, Vec)> { let rt = tokio::runtime::Runtime::new().unwrap(); rt.block_on(async { - kit::build::execute(&entry_path, true, false, true, features).await?; + kit::build::execute(&entry_path, true, false, true, features) + .await + .map_err(|e| anyhow::anyhow!("{:?}", e))?; let mut writer = Cursor::new(Vec::new()); let options = FileOptions::default() @@ -76,6 +97,13 @@ fn main() -> anyhow::Result<()> { .map(|entry| entry.unwrap().path()) .collect(); + let rerun_files: HashSet = HashSet::from([ + "Cargo.lock".to_string(), + "Cargo.toml".to_string(), + "src/".to_string(), + ]); + output_reruns(&parent_dir, &rerun_files); + let features = get_features(); let results: Vec)>> = entries diff --git a/kinode/packages/app_store/app_store/Cargo.toml b/kinode/packages/app_store/app_store/Cargo.toml index 0b1a96622..7dce49582 100644 --- a/kinode/packages/app_store/app_store/Cargo.toml +++ b/kinode/packages/app_store/app_store/Cargo.toml @@ -11,7 +11,7 @@ alloy-primitives = "0.6.2" alloy-sol-types = "0.6.2" anyhow = "1.0" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rand = "0.8" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" @@ -19,7 +19,7 @@ sha2 = "0.10.8" sha3 = "0.10.8" url = "2.4.1" urlencoding = "2.1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" zip = { version = "0.6.6", default-features = false } [lib] diff --git a/kinode/packages/app_store/app_store/src/api.rs b/kinode/packages/app_store/app_store/src/api.rs index f63021bf4..235ea7753 100644 --- a/kinode/packages/app_store/app_store/src/api.rs +++ b/kinode/packages/app_store/app_store/src/api.rs @@ -23,10 +23,19 @@ pub enum RemoteRequest { #[derive(Debug, Serialize, Deserialize)] pub enum RemoteResponse { DownloadApproved, - DownloadDenied, // TODO expand on why + DownloadDenied(ReasonDenied), Metadata, } +#[derive(Debug, Serialize, Deserialize)] +pub enum ReasonDenied { + NoPackage, + NotMirroring, + HashMismatch { requested: String, have: String }, + FileNotFound, + WorkerSpawnFailed, +} + /// Local requests sent to the app store take this form. #[derive(Debug, Serialize, Deserialize)] pub enum LocalRequest { diff --git a/kinode/packages/app_store/app_store/src/lib.rs b/kinode/packages/app_store/app_store/src/lib.rs index 630100470..a5ee2da18 100644 --- a/kinode/packages/app_store/app_store/src/lib.rs +++ b/kinode/packages/app_store/app_store/src/lib.rs @@ -1,4 +1,6 @@ -use kinode_process_lib::http::{bind_http_path, serve_ui, HttpServerRequest}; +use kinode_process_lib::http::{ + bind_http_path, bind_ws_path, send_ws_push, serve_ui, HttpServerRequest, WsMessageType, +}; use kinode_process_lib::kernel_types as kt; use kinode_process_lib::*; use kinode_process_lib::{call_init, println}; @@ -9,9 +11,6 @@ use std::str::FromStr; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); mod api; @@ -40,8 +39,8 @@ use ft_worker_lib::{ const ICON: &str = include_str!("icon"); -const CHAIN_ID: u64 = 11155111; // sepolia -const CONTRACT_ADDRESS: &str = "0x18c39eB547A0060C6034f8bEaFB947D1C16eADF1"; // sepolia +const CHAIN_ID: u64 = 10; // optimism +const CONTRACT_ADDRESS: &str = "0x52185B6a6017E6f079B994452F234f7C2533787B"; // optimism const EVENTS: [&str; 3] = [ "AppRegistered(uint256,string,bytes,string,bytes32)", @@ -82,7 +81,7 @@ fn fetch_logs(eth_provider: ð::Provider, filter: ð::Filter) -> Vec { @@ -189,7 +193,21 @@ fn init(our: Address) { &mut requested_packages, &message, ) { - println!("error handling message: {:?}", e) + println!("error handling message: {:?}", e); + send_ws_push( + channel_id, + WsMessageType::Text, + LazyLoadBlob { + mime: Some("application/json".to_string()), + bytes: serde_json::json!({ + "kind": "error", + "data": e.to_string(), + }) + .to_string() + .as_bytes() + .to_vec(), + }, + ) } } } @@ -298,14 +316,23 @@ fn handle_remote_request( desired_version_hash, } => { let Some(package_state) = state.get_downloaded_package(package_id) else { - return Resp::RemoteResponse(RemoteResponse::DownloadDenied); + return Resp::RemoteResponse(RemoteResponse::DownloadDenied( + ReasonDenied::NoPackage, + )); }; if !package_state.mirroring { - return Resp::RemoteResponse(RemoteResponse::DownloadDenied); + return Resp::RemoteResponse(RemoteResponse::DownloadDenied( + ReasonDenied::NotMirroring, + )); } if let Some(hash) = desired_version_hash { if &package_state.our_version != hash { - return Resp::RemoteResponse(RemoteResponse::DownloadDenied); + return Resp::RemoteResponse(RemoteResponse::DownloadDenied( + ReasonDenied::HashMismatch { + requested: hash.clone(), + have: package_state.our_version.clone(), + }, + )); } } let file_name = format!("/{}.zip", package_id); @@ -321,12 +348,16 @@ fn handle_remote_request( ) .send_and_await_response(5) else { - return Resp::RemoteResponse(RemoteResponse::DownloadDenied); + return Resp::RemoteResponse(RemoteResponse::DownloadDenied( + ReasonDenied::FileNotFound, + )); }; // transfer will *inherit* the blob bytes we receive from VFS match spawn_transfer(&our, &file_name, None, 60, &source) { Ok(()) => Resp::RemoteResponse(RemoteResponse::DownloadApproved), - Err(_e) => Resp::RemoteResponse(RemoteResponse::DownloadDenied), + Err(_e) => Resp::RemoteResponse(RemoteResponse::DownloadDenied( + ReasonDenied::WorkerSpawnFailed, + )), } } } @@ -686,25 +717,35 @@ pub fn handle_install( ))?) .send()?; - let _bytes_response = Request::to(("our", "vfs", "distro", "sys")) - .body(serde_json::to_vec(&vfs::VfsRequest { - path: wasm_path.clone(), - action: vfs::VfsAction::Read, - })?) - .send_and_await_response(5)??; + if let Ok(vfs::VfsResponse::Err(_)) = serde_json::from_slice( + Request::to(("our", "vfs", "distro", "sys")) + .body(serde_json::to_vec(&vfs::VfsRequest { + path: wasm_path.clone(), + action: vfs::VfsAction::Read, + })?) + .send_and_await_response(5)?? + .body(), + ) { + return Err(anyhow::anyhow!("failed to read process file")); + }; - Request::new() - .target(("our", "kernel", "distro", "sys")) - .body(serde_json::to_vec(&kt::KernelCommand::InitializeProcess { - id: parsed_new_process_id.clone(), - wasm_bytes_handle: wasm_path, - wit_version: None, - on_exit: entry.on_exit.clone(), - initial_capabilities: HashSet::new(), - public: entry.public, - })?) - .inherit(true) - .send_and_await_response(5)??; + let Ok(kt::KernelResponse::InitializedProcess) = serde_json::from_slice( + Request::new() + .target(("our", "kernel", "distro", "sys")) + .body(serde_json::to_vec(&kt::KernelCommand::InitializeProcess { + id: parsed_new_process_id.clone(), + wasm_bytes_handle: wasm_path, + wit_version: None, + on_exit: entry.on_exit.clone(), + initial_capabilities: HashSet::new(), + public: entry.public, + })?) + .inherit(true) + .send_and_await_response(5)?? + .body(), + ) else { + return Err(anyhow::anyhow!("failed to initialize process")); + }; // build initial caps let mut requested_capabilities: Vec = vec![]; for value in &entry.request_capabilities { @@ -829,11 +870,16 @@ pub fn handle_install( } } } - Request::to(("our", "kernel", "distro", "sys")) - .body(serde_json::to_vec(&kt::KernelCommand::RunProcess( - parsed_new_process_id, - ))?) - .send_and_await_response(5)??; + let Ok(kt::KernelResponse::StartedProcess) = serde_json::from_slice( + Request::to(("our", "kernel", "distro", "sys")) + .body(serde_json::to_vec(&kt::KernelCommand::RunProcess( + parsed_new_process_id, + ))?) + .send_and_await_response(5)?? + .body(), + ) else { + return Err(anyhow::anyhow!("failed to start process")); + }; } // finally set the package as installed state.update_downloaded_package(package_id, |package_state| { diff --git a/kinode/packages/app_store/download/Cargo.toml b/kinode/packages/app_store/download/Cargo.toml index dcafba9aa..cf10e764d 100644 --- a/kinode/packages/app_store/download/Cargo.toml +++ b/kinode/packages/app_store/download/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/app_store/download/src/lib.rs b/kinode/packages/app_store/download/src/lib.rs index 0e9c39327..0dab71539 100644 --- a/kinode/packages/app_store/download/src/lib.rs +++ b/kinode/packages/app_store/download/src/lib.rs @@ -1,5 +1,5 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Message, NodeId, PackageId, Request, + await_next_message_body, call_init, println, Address, Message, NodeId, PackageId, Request, }; mod api; @@ -8,15 +8,11 @@ use api::*; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(our: Address) { - let Ok(body) = await_next_request_body() else { + let Ok(body) = await_next_message_body() else { println!("download: failed to get args!"); return; }; diff --git a/kinode/packages/app_store/ft_worker/Cargo.toml b/kinode/packages/app_store/ft_worker/Cargo.toml index 3ecf4727d..89031b719 100644 --- a/kinode/packages/app_store/ft_worker/Cargo.toml +++ b/kinode/packages/app_store/ft_worker/Cargo.toml @@ -9,11 +9,11 @@ simulation-mode = [] [dependencies] anyhow = "1.0" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rand = "0.8" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/app_store/ft_worker/src/lib.rs b/kinode/packages/app_store/ft_worker/src/lib.rs index d7f809ffb..47db47b77 100644 --- a/kinode/packages/app_store/ft_worker/src/lib.rs +++ b/kinode/packages/app_store/ft_worker/src/lib.rs @@ -8,9 +8,6 @@ use ft_worker_lib::*; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); /// internal worker protocol @@ -21,7 +18,6 @@ pub enum FTWorkerProtocol { } call_init!(init); - fn init(our: Address) { let Ok(Message::Request { source: parent_process, diff --git a/kinode/packages/app_store/install/Cargo.toml b/kinode/packages/app_store/install/Cargo.toml index f63ac0fd6..dadf327f6 100644 --- a/kinode/packages/app_store/install/Cargo.toml +++ b/kinode/packages/app_store/install/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/app_store/install/src/lib.rs b/kinode/packages/app_store/install/src/lib.rs index aa9c54a95..c210a7054 100644 --- a/kinode/packages/app_store/install/src/lib.rs +++ b/kinode/packages/app_store/install/src/lib.rs @@ -1,5 +1,5 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Message, PackageId, Request, + await_next_message_body, call_init, println, Address, Message, PackageId, Request, }; mod api; @@ -8,15 +8,11 @@ use api::*; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(our: Address) { - let Ok(body) = await_next_request_body() else { + let Ok(body) = await_next_message_body() else { println!("install: failed to get args!"); return; }; diff --git a/kinode/packages/app_store/ui/src/assets/background.jpg b/kinode/packages/app_store/pkg/ui/assets/background.jpg similarity index 100% rename from kinode/packages/app_store/ui/src/assets/background.jpg rename to kinode/packages/app_store/pkg/ui/assets/background.jpg diff --git a/kinode/packages/app_store/pkg/ui/assets/fonts/BarlowCondensed-Black.ttf b/kinode/packages/app_store/pkg/ui/assets/fonts/BarlowCondensed-Black.ttf new file mode 100644 index 000000000..1776e63f4 Binary files /dev/null and b/kinode/packages/app_store/pkg/ui/assets/fonts/BarlowCondensed-Black.ttf differ diff --git a/kinode/packages/app_store/pkg/ui/assets/fonts/Futura-Heavy.ttf b/kinode/packages/app_store/pkg/ui/assets/fonts/Futura-Heavy.ttf new file mode 100644 index 000000000..97eded13a Binary files /dev/null and b/kinode/packages/app_store/pkg/ui/assets/fonts/Futura-Heavy.ttf differ diff --git a/kinode/packages/app_store/pkg/ui/assets/fonts/OpenSans-CondBold.ttf b/kinode/packages/app_store/pkg/ui/assets/fonts/OpenSans-CondBold.ttf new file mode 100644 index 000000000..83966f213 Binary files /dev/null and b/kinode/packages/app_store/pkg/ui/assets/fonts/OpenSans-CondBold.ttf differ diff --git a/kinode/packages/app_store/pkg/ui/assets/index-9gLRazVB.css b/kinode/packages/app_store/pkg/ui/assets/index-9gLRazVB.css new file mode 100644 index 000000000..53522a01e --- /dev/null +++ b/kinode/packages/app_store/pkg/ui/assets/index-9gLRazVB.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}:before,:after{--un-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.right-0{right:0}.right-1{right:.25rem}.top-0{top:0}.top-1{top:.25rem}.z-30{z-index:30}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.-mb-2{margin-bottom:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1,.mt1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.h-12{height:3rem}.h-32{height:8rem}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-20{max-height:5rem}.max-w-\[240px\]{max-width:240px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.min-h-\[10em\]{min-height:10em}.min-w-\[100px\]{min-width:100px}.min-w-\[30em\]{min-width:30em}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-full{width:100%}.w-screen{width:100vw}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.cursor-pointer{cursor:pointer}.items-start{align-items:flex-start}.items-center{align-items:center}.self-start{align-self:flex-start}.self-center{align-self:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.border{border-width:1px}.border-black{--un-border-opacity:1;border-color:rgb(34 33 31 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.bg-black\/25{background-color:#22211f40}.bg-black\/50{background-color:#22211f80}.bg-black\/90{background-color:#22211fe6}.hover\:bg-white\/10:hover{background-color:#fff5d91a}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.underline{text-decoration-line:underline}@tailwind base;@tailwind components;@tailwind utilities;@font-face{font-family:Futura;src:url(/main:app_store:sys/assets/fonts/Futura-Heavy.ttf)}@font-face{font-family:OpenSans;src:url(/main:app_store:sys/assets/fonts/OpenSans-CondBold.ttf)}@font-face{font-family:Barlow;src:url(/main:app_store:sys/assets/fonts/BarlowCondensed-Black.ttf)}body{font-family:Barlow,"ui-sans-serif","system-ui",-apple-system,BlinkMacSystemFont,'"Segoe UI"',Roboto,'"Helvetica Neue"',Arial,'"Noto Sans"',"sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;margin:0;line-height:1.5rem;font-family:OpenSans}h1.display{letter-spacing:.25em;text-transform:uppercase;font-size:1.875rem;line-height:2.25rem;font-weight:400;font-family:Futura}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem;line-height:1.75rem}h4{font-size:1.125rem;line-height:1.75rem}h6{font-size:.875rem;line-height:1.25rem}button,button[type=submit],.button{margin:0;display:flex;cursor:pointer;place-content:center;place-items:center;border-width:2px;--un-border-opacity:1;border-color:rgb(243 84 34 / var(--un-border-opacity));border-radius:.25rem;border-radius:.5rem;--un-bg-opacity:1;background-color:rgb(243 84 34 / var(--un-bg-opacity));padding:.5rem 1.5rem;text-align:center;--un-text-opacity:1;color:rgb(255 245 217 / var(--un-text-opacity));font-family:OpenSans;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button:hover,button[type=submit]:hover,.button:hover{--un-bg-opacity:1;background-color:rgb(34 33 31 / var(--un-bg-opacity))}.clear{border-color:transparent;background-color:transparent;font-weight:700;font-family:Barlow}.clear:hover{background-color:#fff5d940}.alt{--un-border-opacity:1;border-color:rgb(255 245 217 / var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(255 245 217 / var(--un-bg-opacity));--un-text-opacity:1;color:rgb(34 33 31 / var(--un-text-opacity))}.alt:hover{--un-text-opacity:1;color:rgb(255 245 217 / var(--un-text-opacity))}.thin{border-style:none;padding-left:0;padding-right:0}.icon{width:2.75rem;display:flex;place-content:center;align-items:center;border-color:#fff5d940;border-radius:9999px;background-color:transparent;padding:.75rem;font-size:14px}.icon.alt{border-color:#22211f40}.icon.alt:hover{border-color:#fff5d940}body{--un-url:url(/main:app_store:sys/assets/background.jpg);background-image:var(--un-url);background-size:cover;background-attachment:fixed;background-position:center;background-repeat:no-repeat;--un-text-opacity:1;color:rgb(255 245 217 / var(--un-text-opacity))}input{all:unset}select,textarea,input[type=text],input[type=password],input[type=checkbox]{border-width:1px;border-width:2px;--un-border-opacity:1;border-color:rgb(243 84 34 / var(--un-border-opacity));border-radius:.5rem;--un-bg-opacity:1;background-color:rgb(243 84 34 / var(--un-bg-opacity));--un-bg-opacity:.25;padding:.5rem 1rem;--un-text-opacity:1;color:rgb(255 245 217 / var(--un-text-opacity))}input[type=checkbox]{width:.5rem;height:.5rem;cursor:pointer;padding:.5rem}input[type=checkbox]:checked{--un-bg-opacity:1;background-color:rgb(243 84 34 / var(--un-bg-opacity))}select{background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:right 1.25rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:4rem}button:hover{opacity:.9;--un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}button:disabled{cursor:not-allowed;--un-border-opacity:1;border-color:rgb(126 126 126 / var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(126 126 126 / var(--un-bg-opacity));opacity:.7}.obox,.card{border-radius:.5rem;background-color:#f3542240;padding:1rem}.c{place-content:center;place-items:center} diff --git a/kinode/packages/app_store/pkg/ui/assets/index-JESB3UJK.css b/kinode/packages/app_store/pkg/ui/assets/index-JESB3UJK.css deleted file mode 100644 index c9e2d9ab6..000000000 --- a/kinode/packages/app_store/pkg/ui/assets/index-JESB3UJK.css +++ /dev/null @@ -1 +0,0 @@ -#root{max-width:700px;margin:0 auto;padding:2rem 0;text-align:center;width:75%;max-height:calc(100vh - 64px);min-height:calc(100vh - 64px)}.row.center{justify-content:center}.row.between{justify-content:space-between}.row.around{justify-content:space-around}.col{display:flex;flex-direction:column;align-items:flex-start}.col.center{align-items:center}.card{background-color:var(--input-background);border-radius:.75em;border:1px solid var(--orange-medium);padding:1em}button.action-btn{min-width:100px}button.small{padding:.25em .5em;height:auto}.searchbar{height:2.25em;padding:.5em 1em;border-radius:16px;flex:1;background-color:var(--input-background);text-align:left}.searchbar>input{border:none;height:1.5em;margin-left:.5em;flex:1}button.connect-wallet{margin:1em auto 0}.my-pkg-btn{margin-left:1em}.my-pkg-btn.selected{background-color:var(--bg-gray-medium)}.app-header{cursor:pointer;width:calc(100% - 10.3em);justify-content:flex-start}.app-header:hover{text-decoration:underline}.app-header.large:hover{text-decoration:none;cursor:default}.app-header.small>img{height:3em;margin-right:1em;border-radius:.375em}.app-header>img{height:3em;margin-right:1em;border-radius:.375em}.app-header.large>img{height:5em;margin-right:1em;border-radius:.5em}.app-header.large .app-name{font-size:1.5em}.app-entry{width:100%}.app-actions{margin-right:.5em}.dropdown{cursor:pointer;position:relative}.dropdown>ul{background-color:var(--orange-medium);padding:.5em 1em;border-radius:.5em;align-items:flex-start;text-align:left;border:1px solid var(--orange-medium);display:flex;flex-direction:column}.dropdown .dropdown-header{align-self:flex-end}.dropdown .dropdown-list{position:absolute;top:1em;right:-.5em}.page-selector{margin:.25em .5em}.page-selector.selected{font-weight:900}.back-btn{margin-right:1em;justify-content:center;width:2.5em}.app-details{margin-top:.5em;align-items:flex-start}.app-details .title{width:8em;text-align:left}.app-details .value{margin-bottom:.5em;text-align:left;max-width:calc(100% - 8em)}.app-details .value.underline{text-decoration:underline}.app-details .value.permission{background-color:var(--bg-gray-medium);border-radius:2em;padding:.25em .5em;margin-bottom:.5em}.app-screenshots{margin-top:.5em;overflow-x:scroll;max-width:100%}.app-screenshots>img{margin-right:1em;max-height:10em;max-width:100%;border-radius:.5em;border:1px solid var(--bg-gray-medium)}.search-icon{cursor:pointer;color:var(--bg-gray-solid);font-size:1.25em}.f-width{width:100%}#loading h3{text-align:center}#loader{display:inline-block;position:relative;width:48px;height:48px;margin-top:16px}#loader div{box-sizing:border-box;display:block;position:absolute;width:36px;height:36px;margin:6px;border:6px solid #fff;border-radius:50%;animation:loader 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}#loader div:nth-child(1){animation-delay:-.45s}#loader div:nth-child(2){animation-delay:-.3s}#loader div:nth-child(3){animation-delay:-.15s}@keyframes loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-entry{margin-bottom:.25em;color:inherit;white-space:nowrap;cursor:pointer;padding:.25em}.action-entry:hover{transform:scale(1.05)}.action-entry:first-child{margin-top:.25em}.my-apps-list{flex:1;height:100%;overflow-y:scroll;max-height:calc(100vh - 10em);border-radius:.5em}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title{width:calc(100% - 6em)}.title>div{max-width:100%}.modal-backdrop{background-color:#0000004d;position:fixed;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:3;min-height:10em;min-width:20em}.modal-backdrop .close{position:absolute;top:.5em;right:.5em;font-size:18px;font-weight:200;cursor:pointer;transform:rotate(45deg)}.modal{position:relative;background-color:var(--dark-background);color:#000;border-radius:8px;padding:24px;line-height:24px;max-width:500px;min-width:300px;color:var(--text-light)}.modal .modal-title{margin-top:0;margin-bottom:.5em}.modal .modal-content{align-items:center;width:100%;gap:1em}form.new{gap:1em}form.metadata{gap:.5em;align-items:center}form.metadata input{width:100%}form.metadata .row{margin-top:1em}form.metadata .col.label{width:80%}.page-title{align-items:center;margin:1em 0}@tailwind base;@tailwind components;@tailwind utilities;:root{--text-light: #FFF5D9;--text-dark: #22211F;--text-orange: #FF7533;--orange-light: #F36822;--orange-medium: #F35422;--orange-burnt: #E25F35;--medium-gray: #7E7E7E;--gray-button: rgba(253, 245, 220, .25);--dark-background: rgb(130, 59, 28);--input-background: rgba(243, 84, 34, .25)}body{margin:0;font-size:16px;color:var(--text-light);font-weight:400;background:url(/main:app_store:sys/assets/background-a451R5-M.jpg) no-repeat center center fixed;background-size:cover;background-color:var(--dark-background);height:100vh;width:100vw}body,h1,h2,h3,h4,h5,h6,p,a,button,input{font-family:Barlow Condensed,sans-serif}h1,h2,h3,h4,h5,h6{line-height:1.5em;font-weight:500;margin:0}h1{font-size:64px}h2{font-size:48px}h3{font-size:36px}h4{font-size:24px}h5{font-size:20px}h6{font-size:16px}.col{display:flex;flex-direction:column}.row{display:flex;flex-direction:row;align-items:center}input,button{all:unset}input[type=text],input[type=password],input[type=checkbox]{padding:1em;border:1px solid var(--orange-medium);border-radius:8px;box-sizing:border-box;font-size:1em;background-color:var(--input-background);color:var(--text-light);text-align:left}input[type=text],input[type=password]{width:100%}input[type=checkbox]{padding:.25em .8em;cursor:pointer}input[type=checkbox]:checked{background-color:var(--orange-medium)}.checkmark{position:absolute;left:4px;font-size:24px;top:-5px;cursor:pointer}::placeholder{color:var(--text-light)}::-webkit-input-placeholder::placeholder{color:var(--text-light)}::-moz-placeholder::placeholder{color:var(--text-light)}::-ms-input-placeholder{color:var(--text-light)}label{font-size:20px}button,[type=button],[type=reset],[type=submit]{padding:.75em 1em;margin:0;font-weight:500;border-width:1px;border-style:solid;border-color:var(--orange-medium);border-radius:8px;background:var(--orange-medium);box-sizing:border-box;cursor:pointer;font-size:1.125em;transition:all .1s;box-shadow:0 1px 2px var(--orange-light);color:var(--text-light)}button.alt{background-color:var(--text-light);color:var(--text-dark);border-color:var(--text-light);box-shadow:0 1px 2px var(--text-light)}button:hover{opacity:.9;box-shadow:none}button:disabled{background-color:var(--medium-gray);border:1px solid var(--medium-gray);box-shadow:0 1px 2px var(--medium-gray);opacity:.7;cursor:not-allowed}ul,li{all:unset}select{padding:.25em 2em .25em .5em;font-size:.9rem;border:1px solid var(--orange-medium);background-color:var(--input-background);color:var(--text-light);border-radius:8px;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23FFF5D9'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M6%209l6%206%206-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none} diff --git a/kinode/packages/app_store/pkg/ui/assets/index-YeOEFbyC.js b/kinode/packages/app_store/pkg/ui/assets/index-YeOEFbyC.js deleted file mode 100644 index f02ed18de..000000000 --- a/kinode/packages/app_store/pkg/ui/assets/index-YeOEFbyC.js +++ /dev/null @@ -1,90 +0,0 @@ -var iw=Object.defineProperty;var ow=(t,e,r)=>e in t?iw(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var zh=(t,e,r)=>(ow(t,typeof e!="symbol"?e+"":e,r),r);function sw(t,e){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();var Fe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Uo(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Fo(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var jm={exports:{}},hu={},Dm={exports:{}},ye={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var dl=Symbol.for("react.element"),lw=Symbol.for("react.portal"),aw=Symbol.for("react.fragment"),uw=Symbol.for("react.strict_mode"),cw=Symbol.for("react.profiler"),fw=Symbol.for("react.provider"),dw=Symbol.for("react.context"),hw=Symbol.for("react.forward_ref"),pw=Symbol.for("react.suspense"),mw=Symbol.for("react.memo"),gw=Symbol.for("react.lazy"),$h=Symbol.iterator;function vw(t){return t===null||typeof t!="object"?null:(t=$h&&t[$h]||t["@@iterator"],typeof t=="function"?t:null)}var Um={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Fm=Object.assign,zm={};function zo(t,e,r){this.props=t,this.context=e,this.refs=zm,this.updater=r||Um}zo.prototype.isReactComponent={};zo.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};zo.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function $m(){}$m.prototype=zo.prototype;function kd(t,e,r){this.props=t,this.context=e,this.refs=zm,this.updater=r||Um}var Nd=kd.prototype=new $m;Nd.constructor=kd;Fm(Nd,zo.prototype);Nd.isPureReactComponent=!0;var Hh=Array.isArray,Hm=Object.prototype.hasOwnProperty,Pd={current:null},qm={key:!0,ref:!0,__self:!0,__source:!0};function Wm(t,e,r){var n,i={},o=null,s=null;if(e!=null)for(n in e.ref!==void 0&&(s=e.ref),e.key!==void 0&&(o=""+e.key),e)Hm.call(e,n)&&!qm.hasOwnProperty(n)&&(i[n]=e[n]);var l=arguments.length-2;if(l===1)i.children=r;else if(1>>1,h=_[k];if(0>>1;ki(y,R))ji(U,y)?(_[k]=U,_[j]=R,k=j):(_[k]=y,_[Z]=R,k=Z);else if(ji(U,R))_[k]=U,_[j]=R,k=j;else break e}}return I}function i(_,I){var R=_.sortIndex-I.sortIndex;return R!==0?R:_.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var a=[],u=[],c=1,d=null,m=3,g=!1,v=!1,E=!1,N=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function b(_){for(var I=r(u);I!==null;){if(I.callback===null)n(u);else if(I.startTime<=_)n(u),I.sortIndex=I.expirationTime,e(a,I);else break;I=r(u)}}function T(_){if(E=!1,b(_),!v)if(r(a)!==null)v=!0,A(B);else{var I=r(u);I!==null&&S(T,I.startTime-_)}}function B(_,I){v=!1,E&&(E=!1,x(H),H=-1),g=!0;var R=m;try{for(b(I),d=r(a);d!==null&&(!(d.expirationTime>I)||_&&!X());){var k=d.callback;if(typeof k=="function"){d.callback=null,m=d.priorityLevel;var h=k(d.expirationTime<=I);I=t.unstable_now(),typeof h=="function"?d.callback=h:d===r(a)&&n(a),b(I)}else n(a);d=r(a)}if(d!==null)var C=!0;else{var Z=r(u);Z!==null&&S(T,Z.startTime-I),C=!1}return C}finally{d=null,m=R,g=!1}}var D=!1,$=null,H=-1,Y=5,Q=-1;function X(){return!(t.unstable_now()-Q_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<_?Math.floor(1e3/_):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return r(a)},t.unstable_next=function(_){switch(m){case 1:case 2:case 3:var I=3;break;default:I=m}var R=m;m=I;try{return _()}finally{m=R}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(_,I){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var R=m;m=_;try{return I()}finally{m=R}},t.unstable_scheduleCallback=function(_,I,R){var k=t.unstable_now();switch(typeof R=="object"&&R!==null?(R=R.delay,R=typeof R=="number"&&0k?(_.sortIndex=R,e(u,_),r(a)===null&&_===r(u)&&(E?(x(H),H=-1):E=!0,S(T,R-k))):(_.sortIndex=h,e(a,_),v||g||(v=!0,A(B))),_},t.unstable_shouldYield=X,t.unstable_wrapCallback=function(_){var I=m;return function(){var R=m;m=I;try{return _.apply(this,arguments)}finally{m=R}}}})(Qm);Km.exports=Qm;var Cw=Km.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Jm=L,pr=Cw;function q(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),df=Object.prototype.hasOwnProperty,Mw=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Wh={},Gh={};function Iw(t){return df.call(Gh,t)?!0:df.call(Wh,t)?!1:Mw.test(t)?Gh[t]=!0:(Wh[t]=!0,!1)}function Rw(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Tw(t,e,r,n){if(e===null||typeof e>"u"||Rw(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Vt(t,e,r,n,i,o,s){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=o,this.removeEmptyString=s}var Tt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Tt[t]=new Vt(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Tt[e]=new Vt(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Tt[t]=new Vt(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Tt[t]=new Vt(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Tt[t]=new Vt(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Tt[t]=new Vt(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Tt[t]=new Vt(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Tt[t]=new Vt(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Tt[t]=new Vt(t,5,!1,t.toLowerCase(),null,!1,!1)});var Md=/[\-:]([a-z])/g;function Id(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Md,Id);Tt[e]=new Vt(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Md,Id);Tt[e]=new Vt(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Md,Id);Tt[e]=new Vt(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Tt[t]=new Vt(t,1,!1,t.toLowerCase(),null,!1,!1)});Tt.xlinkHref=new Vt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Tt[t]=new Vt(t,1,!1,t.toLowerCase(),null,!0,!0)});function Rd(t,e,r,n){var i=Tt.hasOwnProperty(e)?Tt[e]:null;(i!==null?i.type!==0:n||!(2l||i[s]!==o[l]){var a=` -`+i[s].replace(" at new "," at ");return t.displayName&&a.includes("")&&(a=a.replace("",t.displayName)),a}while(1<=s&&0<=l);break}}}finally{pc=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?fs(t):""}function Ow(t){switch(t.tag){case 5:return fs(t.type);case 16:return fs("Lazy");case 13:return fs("Suspense");case 19:return fs("SuspenseList");case 0:case 2:case 15:return t=mc(t.type,!1),t;case 11:return t=mc(t.type.render,!1),t;case 1:return t=mc(t.type,!0),t;default:return""}}function gf(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case eo:return"Fragment";case Zi:return"Portal";case hf:return"Profiler";case Td:return"StrictMode";case pf:return"Suspense";case mf:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Zm:return(t.displayName||"Context")+".Consumer";case Xm:return(t._context.displayName||"Context")+".Provider";case Od:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Ld:return e=t.displayName||null,e!==null?e:gf(t.type)||"Memo";case Jn:e=t._payload,t=t._init;try{return gf(t(e))}catch{}}return null}function Lw(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return gf(e);case 8:return e===Td?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function pi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function tg(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Bw(t){var e=tg(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,o=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(s){n=""+s,o.call(this,s)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(s){n=""+s},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Nl(t){t._valueTracker||(t._valueTracker=Bw(t))}function rg(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=tg(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function ka(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function vf(t,e){var r=e.checked;return ft({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function Kh(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=pi(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function ng(t,e){e=e.checked,e!=null&&Rd(t,"checked",e,!1)}function yf(t,e){ng(t,e);var r=pi(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?wf(t,e.type,r):e.hasOwnProperty("defaultValue")&&wf(t,e.type,pi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Qh(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function wf(t,e,r){(e!=="number"||ka(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var ds=Array.isArray;function vo(t,e,r,n){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Pl.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Ts(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var ws={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},jw=["Webkit","ms","Moz","O"];Object.keys(ws).forEach(function(t){jw.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),ws[e]=ws[t]})});function lg(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||ws.hasOwnProperty(t)&&ws[t]?(""+e).trim():e+"px"}function ag(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,i=lg(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,i):t[r]=i}}var Dw=ft({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function bf(t,e){if(e){if(Dw[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(q(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(q(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(q(61))}if(e.style!=null&&typeof e.style!="object")throw Error(q(62))}}function Af(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var _f=null;function Bd(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Sf=null,yo=null,wo=null;function Xh(t){if(t=ml(t)){if(typeof Sf!="function")throw Error(q(280));var e=t.stateNode;e&&(e=yu(e),Sf(t.stateNode,t.type,e))}}function ug(t){yo?wo?wo.push(t):wo=[t]:yo=t}function cg(){if(yo){var t=yo,e=wo;if(wo=yo=null,Xh(t),e)for(t=0;t>>=0,t===0?32:31-(Qw(t)/Jw|0)|0}var Cl=64,Ml=4194304;function hs(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Ma(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,i=t.suspendedLanes,o=t.pingedLanes,s=r&268435455;if(s!==0){var l=s&~i;l!==0?n=hs(l):(o&=s,o!==0&&(n=hs(o)))}else s=r&~i,s!==0?n=hs(s):o!==0&&(n=hs(o));if(n===0)return 0;if(e!==0&&e!==n&&!(e&i)&&(i=n&-n,o=e&-e,i>=o||i===16&&(o&4194240)!==0))return e;if(n&4&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0r;r++)e.push(t);return e}function hl(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Wr(e),t[e]=r}function e2(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0=Es),l0=" ",a0=!1;function Mg(t,e){switch(t){case"keyup":return P2.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ig(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var to=!1;function M2(t,e){switch(t){case"compositionend":return Ig(e);case"keypress":return e.which!==32?null:(a0=!0,l0);case"textInput":return t=e.data,t===l0&&a0?null:t;default:return null}}function I2(t,e){if(to)return t==="compositionend"||!qd&&Mg(t,e)?(t=Pg(),ia=zd=ri=null,to=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=d0(r)}}function Lg(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Lg(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Bg(){for(var t=window,e=ka();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=ka(t.document)}return e}function Wd(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function F2(t){var e=Bg(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&Lg(r.ownerDocument.documentElement,r)){if(n!==null&&Wd(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=r.textContent.length,o=Math.min(n.start,i);n=n.end===void 0?o:Math.min(n.end,i),!t.extend&&o>n&&(i=n,n=o,o=i),i=h0(r,o);var s=h0(r,n);i&&s&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==s.node||t.focusOffset!==s.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),o>n?(t.addRange(e),t.extend(s.node,s.offset)):(e.setEnd(s.node,s.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,ro=null,If=null,As=null,Rf=!1;function p0(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Rf||ro==null||ro!==ka(n)||(n=ro,"selectionStart"in n&&Wd(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),As&&Us(As,n)||(As=n,n=Ta(If,"onSelect"),0oo||(t.current=Df[oo],Df[oo]=null,oo--)}function Qe(t,e){oo++,Df[oo]=t.current,t.current=e}var mi={},zt=wi(mi),er=wi(!1),Ri=mi;function No(t,e){var r=t.type.contextTypes;if(!r)return mi;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in r)i[o]=e[o];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function tr(t){return t=t.childContextTypes,t!=null}function La(){tt(er),tt(zt)}function E0(t,e,r){if(zt.current!==mi)throw Error(q(168));Qe(zt,e),Qe(er,r)}function Wg(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var i in n)if(!(i in e))throw Error(q(108,Lw(t)||"Unknown",i));return ft({},r,n)}function Ba(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||mi,Ri=zt.current,Qe(zt,t),Qe(er,er.current),!0}function b0(t,e,r){var n=t.stateNode;if(!n)throw Error(q(169));r?(t=Wg(t,e,Ri),n.__reactInternalMemoizedMergedChildContext=t,tt(er),tt(zt),Qe(zt,t)):tt(er),Qe(er,r)}var bn=null,wu=!1,Cc=!1;function Gg(t){bn===null?bn=[t]:bn.push(t)}function X2(t){wu=!0,Gg(t)}function xi(){if(!Cc&&bn!==null){Cc=!0;var t=0,e=Re;try{var r=bn;for(Re=1;t>=s,i-=s,Sn=1<<32-Wr(e)+i|r<H?(Y=$,$=null):Y=$.sibling;var Q=m(x,$,b[H],T);if(Q===null){$===null&&($=Y);break}t&&$&&Q.alternate===null&&e(x,$),w=o(Q,w,H),D===null?B=Q:D.sibling=Q,D=Q,$=Y}if(H===b.length)return r(x,$),nt&&Ai(x,H),B;if($===null){for(;HH?(Y=$,$=null):Y=$.sibling;var X=m(x,$,Q.value,T);if(X===null){$===null&&($=Y);break}t&&$&&X.alternate===null&&e(x,$),w=o(X,w,H),D===null?B=X:D.sibling=X,D=X,$=Y}if(Q.done)return r(x,$),nt&&Ai(x,H),B;if($===null){for(;!Q.done;H++,Q=b.next())Q=d(x,Q.value,T),Q!==null&&(w=o(Q,w,H),D===null?B=Q:D.sibling=Q,D=Q);return nt&&Ai(x,H),B}for($=n(x,$);!Q.done;H++,Q=b.next())Q=g($,x,H,Q.value,T),Q!==null&&(t&&Q.alternate!==null&&$.delete(Q.key===null?H:Q.key),w=o(Q,w,H),D===null?B=Q:D.sibling=Q,D=Q);return t&&$.forEach(function(ie){return e(x,ie)}),nt&&Ai(x,H),B}function N(x,w,b,T){if(typeof b=="object"&&b!==null&&b.type===eo&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case kl:e:{for(var B=b.key,D=w;D!==null;){if(D.key===B){if(B=b.type,B===eo){if(D.tag===7){r(x,D.sibling),w=i(D,b.props.children),w.return=x,x=w;break e}}else if(D.elementType===B||typeof B=="object"&&B!==null&&B.$$typeof===Jn&&C0(B)===D.type){r(x,D.sibling),w=i(D,b.props),w.ref=rs(x,D,b),w.return=x,x=w;break e}r(x,D);break}else e(x,D);D=D.sibling}b.type===eo?(w=Mi(b.props.children,x.mode,T,b.key),w.return=x,x=w):(T=da(b.type,b.key,b.props,null,x.mode,T),T.ref=rs(x,w,b),T.return=x,x=T)}return s(x);case Zi:e:{for(D=b.key;w!==null;){if(w.key===D)if(w.tag===4&&w.stateNode.containerInfo===b.containerInfo&&w.stateNode.implementation===b.implementation){r(x,w.sibling),w=i(w,b.children||[]),w.return=x,x=w;break e}else{r(x,w);break}else e(x,w);w=w.sibling}w=jc(b,x.mode,T),w.return=x,x=w}return s(x);case Jn:return D=b._init,N(x,w,D(b._payload),T)}if(ds(b))return v(x,w,b,T);if(Yo(b))return E(x,w,b,T);jl(x,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,w!==null&&w.tag===6?(r(x,w.sibling),w=i(w,b),w.return=x,x=w):(r(x,w),w=Bc(b,x.mode,T),w.return=x,x=w),s(x)):r(x,w)}return N}var Co=ev(!0),tv=ev(!1),gl={},an=wi(gl),Hs=wi(gl),qs=wi(gl);function Pi(t){if(t===gl)throw Error(q(174));return t}function eh(t,e){switch(Qe(qs,e),Qe(Hs,t),Qe(an,gl),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Ef(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Ef(e,t)}tt(an),Qe(an,e)}function Mo(){tt(an),tt(Hs),tt(qs)}function rv(t){Pi(qs.current);var e=Pi(an.current),r=Ef(e,t.type);e!==r&&(Qe(Hs,t),Qe(an,r))}function th(t){Hs.current===t&&(tt(an),tt(Hs))}var at=wi(0);function $a(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Mc=[];function rh(){for(var t=0;tr?r:4,t(!0);var n=Ic.transition;Ic.transition={};try{t(!1),e()}finally{Re=r,Ic.transition=n}}function yv(){return Pr().memoizedState}function rx(t,e,r){var n=di(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},wv(t))xv(e,r);else if(r=Jg(t,e,r,n),r!==null){var i=Wt();Gr(r,t,n,i),Ev(r,e,n)}}function nx(t,e,r){var n=di(t),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(wv(t))xv(e,i);else{var o=t.alternate;if(t.lanes===0&&(o===null||o.lanes===0)&&(o=e.lastRenderedReducer,o!==null))try{var s=e.lastRenderedState,l=o(s,r);if(i.hasEagerState=!0,i.eagerState=l,Vr(l,s)){var a=e.interleaved;a===null?(i.next=i,Xd(e)):(i.next=a.next,a.next=i),e.interleaved=i;return}}catch{}finally{}r=Jg(t,e,i,n),r!==null&&(i=Wt(),Gr(r,t,n,i),Ev(r,e,n))}}function wv(t){var e=t.alternate;return t===ct||e!==null&&e===ct}function xv(t,e){_s=Ha=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function Ev(t,e,r){if(r&4194240){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,Dd(t,r)}}var qa={readContext:Nr,useCallback:Lt,useContext:Lt,useEffect:Lt,useImperativeHandle:Lt,useInsertionEffect:Lt,useLayoutEffect:Lt,useMemo:Lt,useReducer:Lt,useRef:Lt,useState:Lt,useDebugValue:Lt,useDeferredValue:Lt,useTransition:Lt,useMutableSource:Lt,useSyncExternalStore:Lt,useId:Lt,unstable_isNewReconciler:!1},ix={readContext:Nr,useCallback:function(t,e){return Zr().memoizedState=[t,e===void 0?null:e],t},useContext:Nr,useEffect:I0,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,aa(4194308,4,hv.bind(null,e,t),r)},useLayoutEffect:function(t,e){return aa(4194308,4,t,e)},useInsertionEffect:function(t,e){return aa(4,2,t,e)},useMemo:function(t,e){var r=Zr();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=Zr();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=rx.bind(null,ct,t),[n.memoizedState,t]},useRef:function(t){var e=Zr();return t={current:t},e.memoizedState=t},useState:M0,useDebugValue:lh,useDeferredValue:function(t){return Zr().memoizedState=t},useTransition:function(){var t=M0(!1),e=t[0];return t=tx.bind(null,t[1]),Zr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=ct,i=Zr();if(nt){if(r===void 0)throw Error(q(407));r=r()}else{if(r=e(),Nt===null)throw Error(q(349));Oi&30||ov(n,e,r)}i.memoizedState=r;var o={value:r,getSnapshot:e};return i.queue=o,I0(lv.bind(null,n,o,t),[t]),n.flags|=2048,Vs(9,sv.bind(null,n,o,r,e),void 0,null),r},useId:function(){var t=Zr(),e=Nt.identifierPrefix;if(nt){var r=kn,n=Sn;r=(n&~(1<<32-Wr(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=Ws++,0<\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=s.createElement(r,{is:n.is}):(t=s.createElement(r),r==="select"&&(s=t,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):t=s.createElementNS(t,r),t[nn]=e,t[$s]=n,Mv(t,e,!1,!1),e.stateNode=t;e:{switch(s=Af(r,n),r){case"dialog":et("cancel",t),et("close",t),i=n;break;case"iframe":case"object":case"embed":et("load",t),i=n;break;case"video":case"audio":for(i=0;iRo&&(e.flags|=128,n=!0,ns(o,!1),e.lanes=4194304)}else{if(!n)if(t=$a(s),t!==null){if(e.flags|=128,n=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),ns(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!nt)return Bt(e),null}else 2*vt()-o.renderingStartTime>Ro&&r!==1073741824&&(e.flags|=128,n=!0,ns(o,!1),e.lanes=4194304);o.isBackwards?(s.sibling=e.child,e.child=s):(r=o.last,r!==null?r.sibling=s:e.child=s,o.last=s)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=vt(),e.sibling=null,r=at.current,Qe(at,n?r&1|2:r&1),e):(Bt(e),null);case 22:case 23:return hh(),n=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?lr&1073741824&&(Bt(e),e.subtreeFlags&6&&(e.flags|=8192)):Bt(e),null;case 24:return null;case 25:return null}throw Error(q(156,e.tag))}function dx(t,e){switch(Vd(e),e.tag){case 1:return tr(e.type)&&La(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Mo(),tt(er),tt(zt),rh(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return th(e),null;case 13:if(tt(at),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(q(340));Po()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return tt(at),null;case 4:return Mo(),null;case 10:return Yd(e.type._context),null;case 22:case 23:return hh(),null;case 24:return null;default:return null}}var Ul=!1,jt=!1,hx=typeof WeakSet=="function"?WeakSet:Set,ee=null;function uo(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){ht(t,e,n)}else r.current=null}function Jf(t,e,r){try{r()}catch(n){ht(t,e,n)}}var F0=!1;function px(t,e){if(Tf=Ia,t=Bg(),Wd(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var i=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var s=0,l=-1,a=-1,u=0,c=0,d=t,m=null;t:for(;;){for(var g;d!==r||i!==0&&d.nodeType!==3||(l=s+i),d!==o||n!==0&&d.nodeType!==3||(a=s+n),d.nodeType===3&&(s+=d.nodeValue.length),(g=d.firstChild)!==null;)m=d,d=g;for(;;){if(d===t)break t;if(m===r&&++u===i&&(l=s),m===o&&++c===n&&(a=s),(g=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=g}r=l===-1||a===-1?null:{start:l,end:a}}else r=null}r=r||{start:0,end:0}}else r=null;for(Of={focusedElem:t,selectionRange:r},Ia=!1,ee=e;ee!==null;)if(e=ee,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ee=t;else for(;ee!==null;){e=ee;try{var v=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var E=v.memoizedProps,N=v.memoizedState,x=e.stateNode,w=x.getSnapshotBeforeUpdate(e.elementType===e.type?E:Dr(e.type,E),N);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var b=e.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(q(163))}}catch(T){ht(e,e.return,T)}if(t=e.sibling,t!==null){t.return=e.return,ee=t;break}ee=e.return}return v=F0,F0=!1,v}function Ss(t,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&t)===t){var o=i.destroy;i.destroy=void 0,o!==void 0&&Jf(e,r,o)}i=i.next}while(i!==n)}}function bu(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function Yf(t){var e=t.ref;if(e!==null){var r=t.stateNode;switch(t.tag){case 5:t=r;break;default:t=r}typeof e=="function"?e(t):e.current=t}}function Tv(t){var e=t.alternate;e!==null&&(t.alternate=null,Tv(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[nn],delete e[$s],delete e[jf],delete e[J2],delete e[Y2])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Ov(t){return t.tag===5||t.tag===3||t.tag===4}function z0(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Ov(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Xf(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Oa));else if(n!==4&&(t=t.child,t!==null))for(Xf(t,e,r),t=t.sibling;t!==null;)Xf(t,e,r),t=t.sibling}function Zf(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(Zf(t,e,r),t=t.sibling;t!==null;)Zf(t,e,r),t=t.sibling}var Mt=null,Fr=!1;function Vn(t,e,r){for(r=r.child;r!==null;)Lv(t,e,r),r=r.sibling}function Lv(t,e,r){if(ln&&typeof ln.onCommitFiberUnmount=="function")try{ln.onCommitFiberUnmount(pu,r)}catch{}switch(r.tag){case 5:jt||uo(r,e);case 6:var n=Mt,i=Fr;Mt=null,Vn(t,e,r),Mt=n,Fr=i,Mt!==null&&(Fr?(t=Mt,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):Mt.removeChild(r.stateNode));break;case 18:Mt!==null&&(Fr?(t=Mt,r=r.stateNode,t.nodeType===8?Pc(t.parentNode,r):t.nodeType===1&&Pc(t,r),js(t)):Pc(Mt,r.stateNode));break;case 4:n=Mt,i=Fr,Mt=r.stateNode.containerInfo,Fr=!0,Vn(t,e,r),Mt=n,Fr=i;break;case 0:case 11:case 14:case 15:if(!jt&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&Jf(r,e,s),i=i.next}while(i!==n)}Vn(t,e,r);break;case 1:if(!jt&&(uo(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(l){ht(r,e,l)}Vn(t,e,r);break;case 21:Vn(t,e,r);break;case 22:r.mode&1?(jt=(n=jt)||r.memoizedState!==null,Vn(t,e,r),jt=n):Vn(t,e,r);break;default:Vn(t,e,r)}}function $0(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new hx),e.forEach(function(n){var i=Ax.bind(null,t,n);r.has(n)||(r.add(n),n.then(i,i))})}}function Tr(t,e){var r=e.deletions;if(r!==null)for(var n=0;ni&&(i=s),n&=~o}if(n=i,n=vt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*gx(n/1960))-n,10t?16:t,ni===null)var n=!1;else{if(t=ni,ni=null,Va=0,be&6)throw Error(q(331));var i=be;for(be|=4,ee=t.current;ee!==null;){var o=ee,s=o.child;if(ee.flags&16){var l=o.deletions;if(l!==null){for(var a=0;avt()-fh?Ci(t,0):ch|=r),rr(t,e)}function Hv(t,e){e===0&&(t.mode&1?(e=Ml,Ml<<=1,!(Ml&130023424)&&(Ml=4194304)):e=1);var r=Wt();t=Rn(t,e),t!==null&&(hl(t,e,r),rr(t,r))}function bx(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),Hv(t,r)}function Ax(t,e){var r=0;switch(t.tag){case 13:var n=t.stateNode,i=t.memoizedState;i!==null&&(r=i.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(q(314))}n!==null&&n.delete(e),Hv(t,r)}var qv;qv=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||er.current)Zt=!0;else{if(!(t.lanes&r)&&!(e.flags&128))return Zt=!1,cx(t,e,r);Zt=!!(t.flags&131072)}else Zt=!1,nt&&e.flags&1048576&&Vg(e,Da,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;ua(t,e),t=e.pendingProps;var i=No(e,zt.current);Eo(e,r),i=ih(null,e,n,t,i,r);var o=oh();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,tr(n)?(o=!0,Ba(e)):o=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Zd(e),i.updater=xu,e.stateNode=i,i._reactInternals=e,Hf(e,n,t,r),e=Gf(null,e,n,!0,o,r)):(e.tag=0,nt&&o&&Gd(e),qt(null,e,i,r),e=e.child),e;case 16:n=e.elementType;e:{switch(ua(t,e),t=e.pendingProps,i=n._init,n=i(n._payload),e.type=n,i=e.tag=Sx(n),t=Dr(n,t),i){case 0:e=Wf(null,e,n,t,r);break e;case 1:e=j0(null,e,n,t,r);break e;case 11:e=L0(null,e,n,t,r);break e;case 14:e=B0(null,e,n,Dr(n.type,t),r);break e}throw Error(q(306,n,""))}return e;case 0:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Dr(n,i),Wf(t,e,n,i,r);case 1:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Dr(n,i),j0(t,e,n,i,r);case 3:e:{if(Nv(e),t===null)throw Error(q(387));n=e.pendingProps,o=e.memoizedState,i=o.element,Yg(t,e),za(e,n,null,r);var s=e.memoizedState;if(n=s.element,o.isDehydrated)if(o={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},e.updateQueue.baseState=o,e.memoizedState=o,e.flags&256){i=Io(Error(q(423)),e),e=D0(t,e,n,r,i);break e}else if(n!==i){i=Io(Error(q(424)),e),e=D0(t,e,n,r,i);break e}else for(cr=ui(e.stateNode.containerInfo.firstChild),dr=e,nt=!0,zr=null,r=tv(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Po(),n===i){e=Tn(t,e,r);break e}qt(t,e,n,r)}e=e.child}return e;case 5:return rv(e),t===null&&Ff(e),n=e.type,i=e.pendingProps,o=t!==null?t.memoizedProps:null,s=i.children,Lf(n,i)?s=null:o!==null&&Lf(n,o)&&(e.flags|=32),kv(t,e),qt(t,e,s,r),e.child;case 6:return t===null&&Ff(e),null;case 13:return Pv(t,e,r);case 4:return eh(e,e.stateNode.containerInfo),n=e.pendingProps,t===null?e.child=Co(e,null,n,r):qt(t,e,n,r),e.child;case 11:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Dr(n,i),L0(t,e,n,i,r);case 7:return qt(t,e,e.pendingProps,r),e.child;case 8:return qt(t,e,e.pendingProps.children,r),e.child;case 12:return qt(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,i=e.pendingProps,o=e.memoizedProps,s=i.value,Qe(Ua,n._currentValue),n._currentValue=s,o!==null)if(Vr(o.value,s)){if(o.children===i.children&&!er.current){e=Tn(t,e,r);break e}}else for(o=e.child,o!==null&&(o.return=e);o!==null;){var l=o.dependencies;if(l!==null){s=o.child;for(var a=l.firstContext;a!==null;){if(a.context===n){if(o.tag===1){a=Pn(-1,r&-r),a.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}o.lanes|=r,a=o.alternate,a!==null&&(a.lanes|=r),zf(o.return,r,e),l.lanes|=r;break}a=a.next}}else if(o.tag===10)s=o.type===e.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(q(341));s.lanes|=r,l=s.alternate,l!==null&&(l.lanes|=r),zf(s,r,e),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===e){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}qt(t,e,i.children,r),e=e.child}return e;case 9:return i=e.type,n=e.pendingProps.children,Eo(e,r),i=Nr(i),n=n(i),e.flags|=1,qt(t,e,n,r),e.child;case 14:return n=e.type,i=Dr(n,e.pendingProps),i=Dr(n.type,i),B0(t,e,n,i,r);case 15:return _v(t,e,e.type,e.pendingProps,r);case 17:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Dr(n,i),ua(t,e),e.tag=1,tr(n)?(t=!0,Ba(e)):t=!1,Eo(e,r),Zg(e,n,i),Hf(e,n,i,r),Gf(null,e,n,!0,t,r);case 19:return Cv(t,e,r);case 22:return Sv(t,e,r)}throw Error(q(156,e.tag))};function Wv(t,e){return vg(t,e)}function _x(t,e,r,n){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Sr(t,e,r,n){return new _x(t,e,r,n)}function mh(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Sx(t){if(typeof t=="function")return mh(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Od)return 11;if(t===Ld)return 14}return 2}function hi(t,e){var r=t.alternate;return r===null?(r=Sr(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function da(t,e,r,n,i,o){var s=2;if(n=t,typeof t=="function")mh(t)&&(s=1);else if(typeof t=="string")s=5;else e:switch(t){case eo:return Mi(r.children,i,o,e);case Td:s=8,i|=8;break;case hf:return t=Sr(12,r,e,i|2),t.elementType=hf,t.lanes=o,t;case pf:return t=Sr(13,r,e,i),t.elementType=pf,t.lanes=o,t;case mf:return t=Sr(19,r,e,i),t.elementType=mf,t.lanes=o,t;case eg:return _u(r,i,o,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Xm:s=10;break e;case Zm:s=9;break e;case Od:s=11;break e;case Ld:s=14;break e;case Jn:s=16,n=null;break e}throw Error(q(130,t==null?t:typeof t,""))}return e=Sr(s,r,e,i),e.elementType=t,e.type=n,e.lanes=o,e}function Mi(t,e,r,n){return t=Sr(7,t,n,e),t.lanes=r,t}function _u(t,e,r,n){return t=Sr(22,t,n,e),t.elementType=eg,t.lanes=r,t.stateNode={isHidden:!1},t}function Bc(t,e,r){return t=Sr(6,t,null,e),t.lanes=r,t}function jc(t,e,r){return e=Sr(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function kx(t,e,r,n,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vc(0),this.expirationTimes=vc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vc(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function gh(t,e,r,n,i,o,s,l,a){return t=new kx(t,e,r,l,a),e===1?(e=1,o===!0&&(e|=8)):e=0,o=Sr(3,null,null,e),t.current=o,o.stateNode=t,o.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zd(o),t}function Nx(t,e,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Qv)}catch(t){console.error(t)}}Qv(),Vm.exports=gr;var Qs=Vm.exports,J0=Qs;ff.createRoot=J0.createRoot,ff.hydrateRoot=J0.hydrateRoot;/** - * @remix-run/router v1.14.2 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Js(){return Js=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u")throw new Error(e)}function xh(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function Tx(){return Math.random().toString(36).substr(2,8)}function X0(t,e){return{usr:t.state,key:t.key,idx:e}}function id(t,e,r,n){return r===void 0&&(r=null),Js({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof e=="string"?qo(e):e,{state:r,key:e&&e.key||n||Tx()})}function Jv(t){let{pathname:e="/",search:r="",hash:n=""}=t;return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function qo(t){let e={};if(t){let r=t.indexOf("#");r>=0&&(e.hash=t.substr(r),t=t.substr(0,r));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}function Ox(t,e,r,n){n===void 0&&(n={});let{window:i=document.defaultView,v5Compat:o=!1}=n,s=i.history,l=ii.Pop,a=null,u=c();u==null&&(u=0,s.replaceState(Js({},s.state,{idx:u}),""));function c(){return(s.state||{idx:null}).idx}function d(){l=ii.Pop;let N=c(),x=N==null?null:N-u;u=N,a&&a({action:l,location:E.location,delta:x})}function m(N,x){l=ii.Push;let w=id(E.location,N,x);r&&r(w,N),u=c()+1;let b=X0(w,u),T=E.createHref(w);try{s.pushState(b,"",T)}catch(B){if(B instanceof DOMException&&B.name==="DataCloneError")throw B;i.location.assign(T)}o&&a&&a({action:l,location:E.location,delta:1})}function g(N,x){l=ii.Replace;let w=id(E.location,N,x);r&&r(w,N),u=c();let b=X0(w,u),T=E.createHref(w);s.replaceState(b,"",T),o&&a&&a({action:l,location:E.location,delta:0})}function v(N){let x=i.location.origin!=="null"?i.location.origin:i.location.href,w=typeof N=="string"?N:Jv(N);return _t(x,"No window.location.(origin|href) available to create URL for href: "+w),new URL(w,x)}let E={get action(){return l},get location(){return t(i,s)},listen(N){if(a)throw new Error("A history only accepts one active listener");return i.addEventListener(Y0,d),a=N,()=>{i.removeEventListener(Y0,d),a=null}},createHref(N){return e(i,N)},createURL:v,encodeLocation(N){let x=v(N);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:m,replace:g,go(N){return s.go(N)}};return E}var Z0;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(Z0||(Z0={}));function Lx(t,e,r){r===void 0&&(r="/");let n=typeof e=="string"?qo(e):e,i=Zv(n.pathname||"/",r);if(i==null)return null;let o=Yv(t);Bx(o);let s=null;for(let l=0;s==null&&l{let a={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};a.relativePath.startsWith("/")&&(_t(a.relativePath.startsWith(n),'Absolute route path "'+a.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),a.relativePath=a.relativePath.slice(n.length));let u=Ii([n,a.relativePath]),c=r.concat(a);o.children&&o.children.length>0&&(_t(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Yv(o.children,e,c,u)),!(o.path==null&&!o.index)&&e.push({path:u,score:Hx(u,o.index),routesMeta:c})};return t.forEach((o,s)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))i(o,s);else for(let a of Xv(o.path))i(o,s,a)}),e}function Xv(t){let e=t.split("/");if(e.length===0)return[];let[r,...n]=e,i=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return i?[o,""]:[o];let s=Xv(n.join("/")),l=[];return l.push(...s.map(a=>a===""?o:[o,a].join("/"))),i&&l.push(...s),l.map(a=>t.startsWith("/")&&a===""?"/":a)}function Bx(t){t.sort((e,r)=>e.score!==r.score?r.score-e.score:qx(e.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const jx=/^:[\w-]+$/,Dx=3,Ux=2,Fx=1,zx=10,$x=-2,ep=t=>t==="*";function Hx(t,e){let r=t.split("/"),n=r.length;return r.some(ep)&&(n+=$x),e&&(n+=Ux),r.filter(i=>!ep(i)).reduce((i,o)=>i+(jx.test(o)?Dx:o===""?Fx:zx),n)}function qx(t,e){return t.length===e.length&&t.slice(0,-1).every((n,i)=>n===e[i])?t[t.length-1]-e[e.length-1]:0}function Wx(t,e){let{routesMeta:r}=t,n={},i="/",o=[];for(let s=0;s{let{paramName:m,isOptional:g}=c;if(m==="*"){let E=l[d]||"";s=o.slice(0,o.length-E.length).replace(/(.)\/+$/,"$1")}const v=l[d];return g&&!v?u[m]=void 0:u[m]=Qx(v||"",m),u},{}),pathname:o,pathnameBase:s,pattern:t}}function Vx(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!0),xh(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let n=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,l,a)=>(n.push({paramName:l,isOptional:a!=null}),a?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(n.push({paramName:"*"}),i+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?i+="\\/*$":t!==""&&t!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),n]}function Kx(t){try{return decodeURI(t)}catch(e){return xh(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function Qx(t,e){try{return decodeURIComponent(t)}catch(r){return xh(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+t+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),t}}function Zv(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,n=t.charAt(r);return n&&n!=="/"?null:t.slice(r)||"/"}function Jx(t,e){e===void 0&&(e="/");let{pathname:r,search:n="",hash:i=""}=typeof t=="string"?qo(t):t;return{pathname:r?r.startsWith("/")?r:Yx(r,e):e,search:rE(n),hash:nE(i)}}function Yx(t,e){let r=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(i=>{i===".."?r.length>1&&r.pop():i!=="."&&r.push(i)}),r.length>1?r.join("/"):"/"}function Dc(t,e,r,n){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Xx(t){return t.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function Zx(t,e){let r=Xx(t);return e?r.map((n,i)=>i===t.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function eE(t,e,r,n){n===void 0&&(n=!1);let i;typeof t=="string"?i=qo(t):(i=Js({},t),_t(!i.pathname||!i.pathname.includes("?"),Dc("?","pathname","search",i)),_t(!i.pathname||!i.pathname.includes("#"),Dc("#","pathname","hash",i)),_t(!i.search||!i.search.includes("#"),Dc("#","search","hash",i)));let o=t===""||i.pathname==="",s=o?"/":i.pathname,l;if(s==null)l=r;else{let d=e.length-1;if(!n&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),d-=1;i.pathname=m.join("/")}l=d>=0?e[d]:"/"}let a=Jx(i,l),u=s&&s!=="/"&&s.endsWith("/"),c=(o||s===".")&&r.endsWith("/");return!a.pathname.endsWith("/")&&(u||c)&&(a.pathname+="/"),a}const Ii=t=>t.join("/").replace(/\/\/+/g,"/"),tE=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),rE=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,nE=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function iE(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const ey=["post","put","patch","delete"];new Set(ey);const oE=["get",...ey];new Set(oE);/** - * React Router v6.21.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Ys(){return Ys=Object.assign?Object.assign.bind():function(t){for(var e=1;e{l.current=!0}),L.useCallback(function(u,c){if(c===void 0&&(c={}),!l.current)return;if(typeof u=="number"){n.go(u);return}let d=eE(u,JSON.parse(s),o,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Ii([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,s,o,t])}function aE(){let{matches:t}=L.useContext($i),e=t[t.length-1];return e?e.params:{}}function uE(t,e){return cE(t,e)}function cE(t,e,r,n){Iu()||_t(!1);let{navigator:i}=L.useContext(Cu),{matches:o}=L.useContext($i),s=o[o.length-1],l=s?s.params:{};s&&s.pathname;let a=s?s.pathnameBase:"/";s&&s.route;let u=Ru(),c;if(e){var d;let N=typeof e=="string"?qo(e):e;a==="/"||(d=N.pathname)!=null&&d.startsWith(a)||_t(!1),c=N}else c=u;let m=c.pathname||"/",g=a==="/"?m:m.slice(a.length)||"/",v=Lx(t,{pathname:g}),E=mE(v&&v.map(N=>Object.assign({},N,{params:Object.assign({},l,N.params),pathname:Ii([a,i.encodeLocation?i.encodeLocation(N.pathname).pathname:N.pathname]),pathnameBase:N.pathnameBase==="/"?a:Ii([a,i.encodeLocation?i.encodeLocation(N.pathnameBase).pathname:N.pathnameBase])})),o,r,n);return e&&E?L.createElement(Mu.Provider,{value:{location:Ys({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:ii.Pop}},E):E}function fE(){let t=wE(),e=iE(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},o=null;return L.createElement(L.Fragment,null,L.createElement("h2",null,"Unexpected Application Error!"),L.createElement("h3",{style:{fontStyle:"italic"}},e),r?L.createElement("pre",{style:i},r):null,o)}const dE=L.createElement(fE,null);class hE extends L.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){console.error("React Router caught the following error during render",e,r)}render(){return this.state.error!==void 0?L.createElement($i.Provider,{value:this.props.routeContext},L.createElement(ty.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function pE(t){let{routeContext:e,match:r,children:n}=t,i=L.useContext(Eh);return i&&i.static&&i.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=r.route.id),L.createElement($i.Provider,{value:e},n)}function mE(t,e,r,n){var i;if(e===void 0&&(e=[]),r===void 0&&(r=null),n===void 0&&(n=null),t==null){var o;if((o=r)!=null&&o.errors)t=r.matches;else return null}let s=t,l=(i=r)==null?void 0:i.errors;if(l!=null){let c=s.findIndex(d=>d.route.id&&(l==null?void 0:l[d.route.id]));c>=0||_t(!1),s=s.slice(0,Math.min(s.length,c+1))}let a=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let c=0;c=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((c,d,m)=>{let g,v=!1,E=null,N=null;r&&(g=l&&d.route.id?l[d.route.id]:void 0,E=d.route.errorElement||dE,a&&(u<0&&m===0?(EE("route-fallback",!1),v=!0,N=null):u===m&&(v=!0,N=d.route.hydrateFallbackElement||null)));let x=e.concat(s.slice(0,m+1)),w=()=>{let b;return g?b=E:v?b=N:d.route.Component?b=L.createElement(d.route.Component,null):d.route.element?b=d.route.element:b=c,L.createElement(pE,{match:d,routeContext:{outlet:c,matches:x,isDataRoute:r!=null},children:b})};return r&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?L.createElement(hE,{location:r.location,revalidation:r.revalidation,component:E,error:g,children:w(),routeContext:{outlet:null,matches:x,isDataRoute:!0}}):w()},null)}var ny=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ny||{}),Ja=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(Ja||{});function gE(t){let e=L.useContext(Eh);return e||_t(!1),e}function vE(t){let e=L.useContext(sE);return e||_t(!1),e}function yE(t){let e=L.useContext($i);return e||_t(!1),e}function iy(t){let e=yE(),r=e.matches[e.matches.length-1];return r.route.id||_t(!1),r.route.id}function wE(){var t;let e=L.useContext(ty),r=vE(Ja.UseRouteError),n=iy(Ja.UseRouteError);return e!==void 0?e:(t=r.errors)==null?void 0:t[n]}function xE(){let{router:t}=gE(ny.UseNavigateStable),e=iy(Ja.UseNavigateStable),r=L.useRef(!1);return ry(()=>{r.current=!0}),L.useCallback(function(i,o){o===void 0&&(o={}),r.current&&(typeof i=="number"?t.navigate(i):t.navigate(i,Ys({fromRouteId:e},o)))},[t,e])}const tp={};function EE(t,e,r){!e&&!tp[t]&&(tp[t]=!0)}function ms(t){_t(!1)}function bE(t){let{basename:e="/",children:r=null,location:n,navigationType:i=ii.Pop,navigator:o,static:s=!1,future:l}=t;Iu()&&_t(!1);let a=e.replace(/^\/*/,"/"),u=L.useMemo(()=>({basename:a,navigator:o,static:s,future:Ys({v7_relativeSplatPath:!1},l)}),[a,l,o,s]);typeof n=="string"&&(n=qo(n));let{pathname:c="/",search:d="",hash:m="",state:g=null,key:v="default"}=n,E=L.useMemo(()=>{let N=Zv(c,a);return N==null?null:{location:{pathname:N,search:d,hash:m,state:g,key:v},navigationType:i}},[a,c,d,m,g,v,i]);return E==null?null:L.createElement(Cu.Provider,{value:u},L.createElement(Mu.Provider,{children:r,value:E}))}function AE(t){let{children:e,location:r}=t;return uE(od(e),r)}new Promise(()=>{});function od(t,e){e===void 0&&(e=[]);let r=[];return L.Children.forEach(t,(n,i)=>{if(!L.isValidElement(n))return;let o=[...e,i];if(n.type===L.Fragment){r.push.apply(r,od(n.props.children,o));return}n.type!==ms&&_t(!1),!n.props.index||!n.props.children||_t(!1);let s={id:n.props.id||o.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(s.children=od(n.props.children,o)),r.push(s)}),r}/** - * React Router DOM v6.21.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */const _E="startTransition",rp=bw[_E];function SE(t){let{basename:e,children:r,future:n,window:i}=t,o=L.useRef();o.current==null&&(o.current=Rx({window:i,v5Compat:!0}));let s=o.current,[l,a]=L.useState({action:s.action,location:s.location}),{v7_startTransition:u}=n||{},c=L.useCallback(d=>{u&&rp?rp(()=>a(d)):a(d)},[a,u]);return L.useLayoutEffect(()=>s.listen(c),[s,c]),L.createElement(bE,{basename:e,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}var np;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(np||(np={}));var ip;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(ip||(ip={}));var bh={exports:{}};const kE={},NE=Object.freeze(Object.defineProperty({__proto__:null,default:kE},Symbol.toStringTag,{value:"Module"})),PE=Fo(NE);bh.exports;(function(t){(function(e,r){function n(M,f){if(!M)throw new Error(f||"Assertion failed")}function i(M,f){M.super_=f;var p=function(){};p.prototype=f.prototype,M.prototype=new p,M.prototype.constructor=M}function o(M,f,p){if(o.isBN(M))return M;this.negative=0,this.words=null,this.length=0,this.red=null,M!==null&&((f==="le"||f==="be")&&(p=f,f=10),this._init(M||0,f||10,p||"be"))}typeof e=="object"?e.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var s;try{typeof window<"u"&&typeof window.Buffer<"u"?s=window.Buffer:s=PE.Buffer}catch{}o.isBN=function(f){return f instanceof o?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===o.wordSize&&Array.isArray(f.words)},o.max=function(f,p){return f.cmp(p)>0?f:p},o.min=function(f,p){return f.cmp(p)<0?f:p},o.prototype._init=function(f,p,A){if(typeof f=="number")return this._initNumber(f,p,A);if(typeof f=="object")return this._initArray(f,p,A);p==="hex"&&(p=16),n(p===(p|0)&&p>=2&&p<=36),f=f.toString().replace(/\s+/g,"");var S=0;f[0]==="-"&&(S++,this.negative=1),S=0;S-=3)I=f[S]|f[S-1]<<8|f[S-2]<<16,this.words[_]|=I<>>26-R&67108863,R+=24,R>=26&&(R-=26,_++);else if(A==="le")for(S=0,_=0;S>>26-R&67108863,R+=24,R>=26&&(R-=26,_++);return this._strip()};function l(M,f){var p=M.charCodeAt(f);if(p>=48&&p<=57)return p-48;if(p>=65&&p<=70)return p-55;if(p>=97&&p<=102)return p-87;n(!1,"Invalid character in "+M)}function a(M,f,p){var A=l(M,p);return p-1>=f&&(A|=l(M,p-1)<<4),A}o.prototype._parseHex=function(f,p,A){this.length=Math.ceil((f.length-p)/6),this.words=new Array(this.length);for(var S=0;S=p;S-=2)R=a(f,p,S)<<_,this.words[I]|=R&67108863,_>=18?(_-=18,I+=1,this.words[I]|=R>>>26):_+=8;else{var k=f.length-p;for(S=k%2===0?p+1:p;S=18?(_-=18,I+=1,this.words[I]|=R>>>26):_+=8}this._strip()};function u(M,f,p,A){for(var S=0,_=0,I=Math.min(M.length,p),R=f;R=49?_=k-49+10:k>=17?_=k-17+10:_=k,n(k>=0&&_1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch{o.prototype.inspect=d}else o.prototype.inspect=d;function d(){return(this.red?""}var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],v=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(f,p){f=f||10,p=p|0||1;var A;if(f===16||f==="hex"){A="";for(var S=0,_=0,I=0;I>>24-S&16777215,S+=2,S>=26&&(S-=26,I--),_!==0||I!==this.length-1?A=m[6-k.length]+k+A:A=k+A}for(_!==0&&(A=_.toString(16)+A);A.length%p!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}if(f===(f|0)&&f>=2&&f<=36){var h=g[f],C=v[f];A="";var Z=this.clone();for(Z.negative=0;!Z.isZero();){var y=Z.modrn(C).toString(f);Z=Z.idivn(C),Z.isZero()?A=y+A:A=m[h-y.length]+y+A}for(this.isZero()&&(A="0"+A);A.length%p!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(f,p){return this.toArrayLike(s,f,p)}),o.prototype.toArray=function(f,p){return this.toArrayLike(Array,f,p)};var E=function(f,p){return f.allocUnsafe?f.allocUnsafe(p):new f(p)};o.prototype.toArrayLike=function(f,p,A){this._strip();var S=this.byteLength(),_=A||Math.max(1,S);n(S<=_,"byte array longer than desired length"),n(_>0,"Requested array length <= 0");var I=E(f,_),R=p==="le"?"LE":"BE";return this["_toArrayLike"+R](I,S),I},o.prototype._toArrayLikeLE=function(f,p){for(var A=0,S=0,_=0,I=0;_>8&255),A>16&255),I===6?(A>24&255),S=0,I=0):(S=R>>>24,I+=2)}if(A=0&&(f[A--]=R>>8&255),A>=0&&(f[A--]=R>>16&255),I===6?(A>=0&&(f[A--]=R>>24&255),S=0,I=0):(S=R>>>24,I+=2)}if(A>=0)for(f[A--]=S;A>=0;)f[A--]=0},Math.clz32?o.prototype._countBits=function(f){return 32-Math.clz32(f)}:o.prototype._countBits=function(f){var p=f,A=0;return p>=4096&&(A+=13,p>>>=13),p>=64&&(A+=7,p>>>=7),p>=8&&(A+=4,p>>>=4),p>=2&&(A+=2,p>>>=2),A+p},o.prototype._zeroBits=function(f){if(f===0)return 26;var p=f,A=0;return p&8191||(A+=13,p>>>=13),p&127||(A+=7,p>>>=7),p&15||(A+=4,p>>>=4),p&3||(A+=2,p>>>=2),p&1||A++,A},o.prototype.bitLength=function(){var f=this.words[this.length-1],p=this._countBits(f);return(this.length-1)*26+p};function N(M){for(var f=new Array(M.bitLength()),p=0;p>>S&1}return f}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,p=0;pf.length?this.clone().ior(f):f.clone().ior(this)},o.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},o.prototype.iuand=function(f){var p;this.length>f.length?p=f:p=this;for(var A=0;Af.length?this.clone().iand(f):f.clone().iand(this)},o.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},o.prototype.iuxor=function(f){var p,A;this.length>f.length?(p=this,A=f):(p=f,A=this);for(var S=0;Sf.length?this.clone().ixor(f):f.clone().ixor(this)},o.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},o.prototype.inotn=function(f){n(typeof f=="number"&&f>=0);var p=Math.ceil(f/26)|0,A=f%26;this._expand(p),A>0&&p--;for(var S=0;S0&&(this.words[S]=~this.words[S]&67108863>>26-A),this._strip()},o.prototype.notn=function(f){return this.clone().inotn(f)},o.prototype.setn=function(f,p){n(typeof f=="number"&&f>=0);var A=f/26|0,S=f%26;return this._expand(A+1),p?this.words[A]=this.words[A]|1<f.length?(A=this,S=f):(A=f,S=this);for(var _=0,I=0;I>>26;for(;_!==0&&I>>26;if(this.length=A.length,_!==0)this.words[this.length]=_,this.length++;else if(A!==this)for(;If.length?this.clone().iadd(f):f.clone().iadd(this)},o.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var p=this.iadd(f);return f.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var A=this.cmp(f);if(A===0)return this.negative=0,this.length=1,this.words[0]=0,this;var S,_;A>0?(S=this,_=f):(S=f,_=this);for(var I=0,R=0;R<_.length;R++)p=(S.words[R]|0)-(_.words[R]|0)+I,I=p>>26,this.words[R]=p&67108863;for(;I!==0&&R>26,this.words[R]=p&67108863;if(I===0&&R>>26,Z=k&67108863,y=Math.min(h,f.length-1),j=Math.max(0,h-M.length+1);j<=y;j++){var U=h-j|0;S=M.words[U]|0,_=f.words[j]|0,I=S*_+Z,C+=I/67108864|0,Z=I&67108863}p.words[h]=Z|0,k=C|0}return k!==0?p.words[h]=k|0:p.length--,p._strip()}var w=function(f,p,A){var S=f.words,_=p.words,I=A.words,R=0,k,h,C,Z=S[0]|0,y=Z&8191,j=Z>>>13,U=S[1]|0,F=U&8191,W=U>>>13,oe=S[2]|0,J=oe&8191,V=oe>>>13,Je=S[3]|0,K=Je&8191,le=Je>>>13,Qr=S[4]|0,Te=Qr&8191,Ne=Qr>>>13,Jr=S[5]|0,Pe=Jr&8191,ce=Jr>>>13,wr=S[6]|0,fe=wr&8191,Oe=wr>>>13,Yr=S[7]|0,me=Yr&8191,ze=Yr>>>13,gn=S[8]|0,$e=gn&8191,He=gn>>>13,Ht=S[9]|0,Le=Ht&8191,qe=Ht>>>13,Rr=_[0]|0,Ce=Rr&8191,We=Rr>>>13,vn=_[1]|0,Be=vn&8191,Ge=vn>>>13,yn=_[2]|0,je=yn&8191,ne=yn>>>13,ot=_[3]|0,ge=ot&8191,de=ot>>>13,rt=_[4]|0,Ae=rt&8191,_e=rt>>>13,Ct=_[5]|0,Me=Ct&8191,De=Ct>>>13,Kt=_[6]|0,Ve=Kt&8191,Ke=Kt>>>13,Qt=_[7]|0,Ie=Qt&8191,Ue=Qt>>>13,xr=_[8]|0,ke=xr&8191,Ye=xr>>>13,bi=_[9]|0,Xe=bi&8191,Ze=bi>>>13;A.negative=f.negative^p.negative,A.length=19,k=Math.imul(y,Ce),h=Math.imul(y,We),h=h+Math.imul(j,Ce)|0,C=Math.imul(j,We);var $n=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+($n>>>26)|0,$n&=67108863,k=Math.imul(F,Ce),h=Math.imul(F,We),h=h+Math.imul(W,Ce)|0,C=Math.imul(W,We),k=k+Math.imul(y,Be)|0,h=h+Math.imul(y,Ge)|0,h=h+Math.imul(j,Be)|0,C=C+Math.imul(j,Ge)|0;var Hn=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(Hn>>>26)|0,Hn&=67108863,k=Math.imul(J,Ce),h=Math.imul(J,We),h=h+Math.imul(V,Ce)|0,C=Math.imul(V,We),k=k+Math.imul(F,Be)|0,h=h+Math.imul(F,Ge)|0,h=h+Math.imul(W,Be)|0,C=C+Math.imul(W,Ge)|0,k=k+Math.imul(y,je)|0,h=h+Math.imul(y,ne)|0,h=h+Math.imul(j,je)|0,C=C+Math.imul(j,ne)|0;var qn=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(qn>>>26)|0,qn&=67108863,k=Math.imul(K,Ce),h=Math.imul(K,We),h=h+Math.imul(le,Ce)|0,C=Math.imul(le,We),k=k+Math.imul(J,Be)|0,h=h+Math.imul(J,Ge)|0,h=h+Math.imul(V,Be)|0,C=C+Math.imul(V,Ge)|0,k=k+Math.imul(F,je)|0,h=h+Math.imul(F,ne)|0,h=h+Math.imul(W,je)|0,C=C+Math.imul(W,ne)|0,k=k+Math.imul(y,ge)|0,h=h+Math.imul(y,de)|0,h=h+Math.imul(j,ge)|0,C=C+Math.imul(j,de)|0;var Wn=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,k=Math.imul(Te,Ce),h=Math.imul(Te,We),h=h+Math.imul(Ne,Ce)|0,C=Math.imul(Ne,We),k=k+Math.imul(K,Be)|0,h=h+Math.imul(K,Ge)|0,h=h+Math.imul(le,Be)|0,C=C+Math.imul(le,Ge)|0,k=k+Math.imul(J,je)|0,h=h+Math.imul(J,ne)|0,h=h+Math.imul(V,je)|0,C=C+Math.imul(V,ne)|0,k=k+Math.imul(F,ge)|0,h=h+Math.imul(F,de)|0,h=h+Math.imul(W,ge)|0,C=C+Math.imul(W,de)|0,k=k+Math.imul(y,Ae)|0,h=h+Math.imul(y,_e)|0,h=h+Math.imul(j,Ae)|0,C=C+Math.imul(j,_e)|0;var Gn=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(Gn>>>26)|0,Gn&=67108863,k=Math.imul(Pe,Ce),h=Math.imul(Pe,We),h=h+Math.imul(ce,Ce)|0,C=Math.imul(ce,We),k=k+Math.imul(Te,Be)|0,h=h+Math.imul(Te,Ge)|0,h=h+Math.imul(Ne,Be)|0,C=C+Math.imul(Ne,Ge)|0,k=k+Math.imul(K,je)|0,h=h+Math.imul(K,ne)|0,h=h+Math.imul(le,je)|0,C=C+Math.imul(le,ne)|0,k=k+Math.imul(J,ge)|0,h=h+Math.imul(J,de)|0,h=h+Math.imul(V,ge)|0,C=C+Math.imul(V,de)|0,k=k+Math.imul(F,Ae)|0,h=h+Math.imul(F,_e)|0,h=h+Math.imul(W,Ae)|0,C=C+Math.imul(W,_e)|0,k=k+Math.imul(y,Me)|0,h=h+Math.imul(y,De)|0,h=h+Math.imul(j,Me)|0,C=C+Math.imul(j,De)|0;var Xu=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(Xu>>>26)|0,Xu&=67108863,k=Math.imul(fe,Ce),h=Math.imul(fe,We),h=h+Math.imul(Oe,Ce)|0,C=Math.imul(Oe,We),k=k+Math.imul(Pe,Be)|0,h=h+Math.imul(Pe,Ge)|0,h=h+Math.imul(ce,Be)|0,C=C+Math.imul(ce,Ge)|0,k=k+Math.imul(Te,je)|0,h=h+Math.imul(Te,ne)|0,h=h+Math.imul(Ne,je)|0,C=C+Math.imul(Ne,ne)|0,k=k+Math.imul(K,ge)|0,h=h+Math.imul(K,de)|0,h=h+Math.imul(le,ge)|0,C=C+Math.imul(le,de)|0,k=k+Math.imul(J,Ae)|0,h=h+Math.imul(J,_e)|0,h=h+Math.imul(V,Ae)|0,C=C+Math.imul(V,_e)|0,k=k+Math.imul(F,Me)|0,h=h+Math.imul(F,De)|0,h=h+Math.imul(W,Me)|0,C=C+Math.imul(W,De)|0,k=k+Math.imul(y,Ve)|0,h=h+Math.imul(y,Ke)|0,h=h+Math.imul(j,Ve)|0,C=C+Math.imul(j,Ke)|0;var Zu=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(Zu>>>26)|0,Zu&=67108863,k=Math.imul(me,Ce),h=Math.imul(me,We),h=h+Math.imul(ze,Ce)|0,C=Math.imul(ze,We),k=k+Math.imul(fe,Be)|0,h=h+Math.imul(fe,Ge)|0,h=h+Math.imul(Oe,Be)|0,C=C+Math.imul(Oe,Ge)|0,k=k+Math.imul(Pe,je)|0,h=h+Math.imul(Pe,ne)|0,h=h+Math.imul(ce,je)|0,C=C+Math.imul(ce,ne)|0,k=k+Math.imul(Te,ge)|0,h=h+Math.imul(Te,de)|0,h=h+Math.imul(Ne,ge)|0,C=C+Math.imul(Ne,de)|0,k=k+Math.imul(K,Ae)|0,h=h+Math.imul(K,_e)|0,h=h+Math.imul(le,Ae)|0,C=C+Math.imul(le,_e)|0,k=k+Math.imul(J,Me)|0,h=h+Math.imul(J,De)|0,h=h+Math.imul(V,Me)|0,C=C+Math.imul(V,De)|0,k=k+Math.imul(F,Ve)|0,h=h+Math.imul(F,Ke)|0,h=h+Math.imul(W,Ve)|0,C=C+Math.imul(W,Ke)|0,k=k+Math.imul(y,Ie)|0,h=h+Math.imul(y,Ue)|0,h=h+Math.imul(j,Ie)|0,C=C+Math.imul(j,Ue)|0;var ec=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(ec>>>26)|0,ec&=67108863,k=Math.imul($e,Ce),h=Math.imul($e,We),h=h+Math.imul(He,Ce)|0,C=Math.imul(He,We),k=k+Math.imul(me,Be)|0,h=h+Math.imul(me,Ge)|0,h=h+Math.imul(ze,Be)|0,C=C+Math.imul(ze,Ge)|0,k=k+Math.imul(fe,je)|0,h=h+Math.imul(fe,ne)|0,h=h+Math.imul(Oe,je)|0,C=C+Math.imul(Oe,ne)|0,k=k+Math.imul(Pe,ge)|0,h=h+Math.imul(Pe,de)|0,h=h+Math.imul(ce,ge)|0,C=C+Math.imul(ce,de)|0,k=k+Math.imul(Te,Ae)|0,h=h+Math.imul(Te,_e)|0,h=h+Math.imul(Ne,Ae)|0,C=C+Math.imul(Ne,_e)|0,k=k+Math.imul(K,Me)|0,h=h+Math.imul(K,De)|0,h=h+Math.imul(le,Me)|0,C=C+Math.imul(le,De)|0,k=k+Math.imul(J,Ve)|0,h=h+Math.imul(J,Ke)|0,h=h+Math.imul(V,Ve)|0,C=C+Math.imul(V,Ke)|0,k=k+Math.imul(F,Ie)|0,h=h+Math.imul(F,Ue)|0,h=h+Math.imul(W,Ie)|0,C=C+Math.imul(W,Ue)|0,k=k+Math.imul(y,ke)|0,h=h+Math.imul(y,Ye)|0,h=h+Math.imul(j,ke)|0,C=C+Math.imul(j,Ye)|0;var tc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(tc>>>26)|0,tc&=67108863,k=Math.imul(Le,Ce),h=Math.imul(Le,We),h=h+Math.imul(qe,Ce)|0,C=Math.imul(qe,We),k=k+Math.imul($e,Be)|0,h=h+Math.imul($e,Ge)|0,h=h+Math.imul(He,Be)|0,C=C+Math.imul(He,Ge)|0,k=k+Math.imul(me,je)|0,h=h+Math.imul(me,ne)|0,h=h+Math.imul(ze,je)|0,C=C+Math.imul(ze,ne)|0,k=k+Math.imul(fe,ge)|0,h=h+Math.imul(fe,de)|0,h=h+Math.imul(Oe,ge)|0,C=C+Math.imul(Oe,de)|0,k=k+Math.imul(Pe,Ae)|0,h=h+Math.imul(Pe,_e)|0,h=h+Math.imul(ce,Ae)|0,C=C+Math.imul(ce,_e)|0,k=k+Math.imul(Te,Me)|0,h=h+Math.imul(Te,De)|0,h=h+Math.imul(Ne,Me)|0,C=C+Math.imul(Ne,De)|0,k=k+Math.imul(K,Ve)|0,h=h+Math.imul(K,Ke)|0,h=h+Math.imul(le,Ve)|0,C=C+Math.imul(le,Ke)|0,k=k+Math.imul(J,Ie)|0,h=h+Math.imul(J,Ue)|0,h=h+Math.imul(V,Ie)|0,C=C+Math.imul(V,Ue)|0,k=k+Math.imul(F,ke)|0,h=h+Math.imul(F,Ye)|0,h=h+Math.imul(W,ke)|0,C=C+Math.imul(W,Ye)|0,k=k+Math.imul(y,Xe)|0,h=h+Math.imul(y,Ze)|0,h=h+Math.imul(j,Xe)|0,C=C+Math.imul(j,Ze)|0;var rc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(rc>>>26)|0,rc&=67108863,k=Math.imul(Le,Be),h=Math.imul(Le,Ge),h=h+Math.imul(qe,Be)|0,C=Math.imul(qe,Ge),k=k+Math.imul($e,je)|0,h=h+Math.imul($e,ne)|0,h=h+Math.imul(He,je)|0,C=C+Math.imul(He,ne)|0,k=k+Math.imul(me,ge)|0,h=h+Math.imul(me,de)|0,h=h+Math.imul(ze,ge)|0,C=C+Math.imul(ze,de)|0,k=k+Math.imul(fe,Ae)|0,h=h+Math.imul(fe,_e)|0,h=h+Math.imul(Oe,Ae)|0,C=C+Math.imul(Oe,_e)|0,k=k+Math.imul(Pe,Me)|0,h=h+Math.imul(Pe,De)|0,h=h+Math.imul(ce,Me)|0,C=C+Math.imul(ce,De)|0,k=k+Math.imul(Te,Ve)|0,h=h+Math.imul(Te,Ke)|0,h=h+Math.imul(Ne,Ve)|0,C=C+Math.imul(Ne,Ke)|0,k=k+Math.imul(K,Ie)|0,h=h+Math.imul(K,Ue)|0,h=h+Math.imul(le,Ie)|0,C=C+Math.imul(le,Ue)|0,k=k+Math.imul(J,ke)|0,h=h+Math.imul(J,Ye)|0,h=h+Math.imul(V,ke)|0,C=C+Math.imul(V,Ye)|0,k=k+Math.imul(F,Xe)|0,h=h+Math.imul(F,Ze)|0,h=h+Math.imul(W,Xe)|0,C=C+Math.imul(W,Ze)|0;var nc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(nc>>>26)|0,nc&=67108863,k=Math.imul(Le,je),h=Math.imul(Le,ne),h=h+Math.imul(qe,je)|0,C=Math.imul(qe,ne),k=k+Math.imul($e,ge)|0,h=h+Math.imul($e,de)|0,h=h+Math.imul(He,ge)|0,C=C+Math.imul(He,de)|0,k=k+Math.imul(me,Ae)|0,h=h+Math.imul(me,_e)|0,h=h+Math.imul(ze,Ae)|0,C=C+Math.imul(ze,_e)|0,k=k+Math.imul(fe,Me)|0,h=h+Math.imul(fe,De)|0,h=h+Math.imul(Oe,Me)|0,C=C+Math.imul(Oe,De)|0,k=k+Math.imul(Pe,Ve)|0,h=h+Math.imul(Pe,Ke)|0,h=h+Math.imul(ce,Ve)|0,C=C+Math.imul(ce,Ke)|0,k=k+Math.imul(Te,Ie)|0,h=h+Math.imul(Te,Ue)|0,h=h+Math.imul(Ne,Ie)|0,C=C+Math.imul(Ne,Ue)|0,k=k+Math.imul(K,ke)|0,h=h+Math.imul(K,Ye)|0,h=h+Math.imul(le,ke)|0,C=C+Math.imul(le,Ye)|0,k=k+Math.imul(J,Xe)|0,h=h+Math.imul(J,Ze)|0,h=h+Math.imul(V,Xe)|0,C=C+Math.imul(V,Ze)|0;var ic=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(ic>>>26)|0,ic&=67108863,k=Math.imul(Le,ge),h=Math.imul(Le,de),h=h+Math.imul(qe,ge)|0,C=Math.imul(qe,de),k=k+Math.imul($e,Ae)|0,h=h+Math.imul($e,_e)|0,h=h+Math.imul(He,Ae)|0,C=C+Math.imul(He,_e)|0,k=k+Math.imul(me,Me)|0,h=h+Math.imul(me,De)|0,h=h+Math.imul(ze,Me)|0,C=C+Math.imul(ze,De)|0,k=k+Math.imul(fe,Ve)|0,h=h+Math.imul(fe,Ke)|0,h=h+Math.imul(Oe,Ve)|0,C=C+Math.imul(Oe,Ke)|0,k=k+Math.imul(Pe,Ie)|0,h=h+Math.imul(Pe,Ue)|0,h=h+Math.imul(ce,Ie)|0,C=C+Math.imul(ce,Ue)|0,k=k+Math.imul(Te,ke)|0,h=h+Math.imul(Te,Ye)|0,h=h+Math.imul(Ne,ke)|0,C=C+Math.imul(Ne,Ye)|0,k=k+Math.imul(K,Xe)|0,h=h+Math.imul(K,Ze)|0,h=h+Math.imul(le,Xe)|0,C=C+Math.imul(le,Ze)|0;var oc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(oc>>>26)|0,oc&=67108863,k=Math.imul(Le,Ae),h=Math.imul(Le,_e),h=h+Math.imul(qe,Ae)|0,C=Math.imul(qe,_e),k=k+Math.imul($e,Me)|0,h=h+Math.imul($e,De)|0,h=h+Math.imul(He,Me)|0,C=C+Math.imul(He,De)|0,k=k+Math.imul(me,Ve)|0,h=h+Math.imul(me,Ke)|0,h=h+Math.imul(ze,Ve)|0,C=C+Math.imul(ze,Ke)|0,k=k+Math.imul(fe,Ie)|0,h=h+Math.imul(fe,Ue)|0,h=h+Math.imul(Oe,Ie)|0,C=C+Math.imul(Oe,Ue)|0,k=k+Math.imul(Pe,ke)|0,h=h+Math.imul(Pe,Ye)|0,h=h+Math.imul(ce,ke)|0,C=C+Math.imul(ce,Ye)|0,k=k+Math.imul(Te,Xe)|0,h=h+Math.imul(Te,Ze)|0,h=h+Math.imul(Ne,Xe)|0,C=C+Math.imul(Ne,Ze)|0;var sc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(sc>>>26)|0,sc&=67108863,k=Math.imul(Le,Me),h=Math.imul(Le,De),h=h+Math.imul(qe,Me)|0,C=Math.imul(qe,De),k=k+Math.imul($e,Ve)|0,h=h+Math.imul($e,Ke)|0,h=h+Math.imul(He,Ve)|0,C=C+Math.imul(He,Ke)|0,k=k+Math.imul(me,Ie)|0,h=h+Math.imul(me,Ue)|0,h=h+Math.imul(ze,Ie)|0,C=C+Math.imul(ze,Ue)|0,k=k+Math.imul(fe,ke)|0,h=h+Math.imul(fe,Ye)|0,h=h+Math.imul(Oe,ke)|0,C=C+Math.imul(Oe,Ye)|0,k=k+Math.imul(Pe,Xe)|0,h=h+Math.imul(Pe,Ze)|0,h=h+Math.imul(ce,Xe)|0,C=C+Math.imul(ce,Ze)|0;var lc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(lc>>>26)|0,lc&=67108863,k=Math.imul(Le,Ve),h=Math.imul(Le,Ke),h=h+Math.imul(qe,Ve)|0,C=Math.imul(qe,Ke),k=k+Math.imul($e,Ie)|0,h=h+Math.imul($e,Ue)|0,h=h+Math.imul(He,Ie)|0,C=C+Math.imul(He,Ue)|0,k=k+Math.imul(me,ke)|0,h=h+Math.imul(me,Ye)|0,h=h+Math.imul(ze,ke)|0,C=C+Math.imul(ze,Ye)|0,k=k+Math.imul(fe,Xe)|0,h=h+Math.imul(fe,Ze)|0,h=h+Math.imul(Oe,Xe)|0,C=C+Math.imul(Oe,Ze)|0;var ac=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(ac>>>26)|0,ac&=67108863,k=Math.imul(Le,Ie),h=Math.imul(Le,Ue),h=h+Math.imul(qe,Ie)|0,C=Math.imul(qe,Ue),k=k+Math.imul($e,ke)|0,h=h+Math.imul($e,Ye)|0,h=h+Math.imul(He,ke)|0,C=C+Math.imul(He,Ye)|0,k=k+Math.imul(me,Xe)|0,h=h+Math.imul(me,Ze)|0,h=h+Math.imul(ze,Xe)|0,C=C+Math.imul(ze,Ze)|0;var uc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(uc>>>26)|0,uc&=67108863,k=Math.imul(Le,ke),h=Math.imul(Le,Ye),h=h+Math.imul(qe,ke)|0,C=Math.imul(qe,Ye),k=k+Math.imul($e,Xe)|0,h=h+Math.imul($e,Ze)|0,h=h+Math.imul(He,Xe)|0,C=C+Math.imul(He,Ze)|0;var cc=(R+k|0)+((h&8191)<<13)|0;R=(C+(h>>>13)|0)+(cc>>>26)|0,cc&=67108863,k=Math.imul(Le,Xe),h=Math.imul(Le,Ze),h=h+Math.imul(qe,Xe)|0,C=Math.imul(qe,Ze);var fc=(R+k|0)+((h&8191)<<13)|0;return R=(C+(h>>>13)|0)+(fc>>>26)|0,fc&=67108863,I[0]=$n,I[1]=Hn,I[2]=qn,I[3]=Wn,I[4]=Gn,I[5]=Xu,I[6]=Zu,I[7]=ec,I[8]=tc,I[9]=rc,I[10]=nc,I[11]=ic,I[12]=oc,I[13]=sc,I[14]=lc,I[15]=ac,I[16]=uc,I[17]=cc,I[18]=fc,R!==0&&(I[19]=R,A.length++),A};Math.imul||(w=x);function b(M,f,p){p.negative=f.negative^M.negative,p.length=M.length+f.length;for(var A=0,S=0,_=0;_>>26)|0,S+=I>>>26,I&=67108863}p.words[_]=R,A=I,I=S}return A!==0?p.words[_]=A:p.length--,p._strip()}function T(M,f,p){return b(M,f,p)}o.prototype.mulTo=function(f,p){var A,S=this.length+f.length;return this.length===10&&f.length===10?A=w(this,f,p):S<63?A=x(this,f,p):S<1024?A=b(this,f,p):A=T(this,f,p),A},o.prototype.mul=function(f){var p=new o(null);return p.words=new Array(this.length+f.length),this.mulTo(f,p)},o.prototype.mulf=function(f){var p=new o(null);return p.words=new Array(this.length+f.length),T(this,f,p)},o.prototype.imul=function(f){return this.clone().mulTo(f,this)},o.prototype.imuln=function(f){var p=f<0;p&&(f=-f),n(typeof f=="number"),n(f<67108864);for(var A=0,S=0;S>=26,A+=_/67108864|0,A+=I>>>26,this.words[S]=I&67108863}return A!==0&&(this.words[S]=A,this.length++),p?this.ineg():this},o.prototype.muln=function(f){return this.clone().imuln(f)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(f){var p=N(f);if(p.length===0)return new o(1);for(var A=this,S=0;S=0);var p=f%26,A=(f-p)/26,S=67108863>>>26-p<<26-p,_;if(p!==0){var I=0;for(_=0;_>>26-p}I&&(this.words[_]=I,this.length++)}if(A!==0){for(_=this.length-1;_>=0;_--)this.words[_+A]=this.words[_];for(_=0;_=0);var S;p?S=(p-p%26)/26:S=0;var _=f%26,I=Math.min((f-_)/26,this.length),R=67108863^67108863>>>_<<_,k=A;if(S-=I,S=Math.max(0,S),k){for(var h=0;hI)for(this.length-=I,h=0;h=0&&(C!==0||h>=S);h--){var Z=this.words[h]|0;this.words[h]=C<<26-_|Z>>>_,C=Z&R}return k&&C!==0&&(k.words[k.length++]=C),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(f,p,A){return n(this.negative===0),this.iushrn(f,p,A)},o.prototype.shln=function(f){return this.clone().ishln(f)},o.prototype.ushln=function(f){return this.clone().iushln(f)},o.prototype.shrn=function(f){return this.clone().ishrn(f)},o.prototype.ushrn=function(f){return this.clone().iushrn(f)},o.prototype.testn=function(f){n(typeof f=="number"&&f>=0);var p=f%26,A=(f-p)/26,S=1<=0);var p=f%26,A=(f-p)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=A)return this;if(p!==0&&A++,this.length=Math.min(A,this.length),p!==0){var S=67108863^67108863>>>p<=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},o.prototype.isubn=function(f){if(n(typeof f=="number"),n(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p>26)-(k/67108864|0),this.words[_+A]=I&67108863}for(;_>26,this.words[_+A]=I&67108863;if(R===0)return this._strip();for(n(R===-1),R=0,_=0;_>26,this.words[_]=I&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(f,p){var A=this.length-f.length,S=this.clone(),_=f,I=_.words[_.length-1]|0,R=this._countBits(I);A=26-R,A!==0&&(_=_.ushln(A),S.iushln(A),I=_.words[_.length-1]|0);var k=S.length-_.length,h;if(p!=="mod"){h=new o(null),h.length=k+1,h.words=new Array(h.length);for(var C=0;C=0;y--){var j=(S.words[_.length+y]|0)*67108864+(S.words[_.length+y-1]|0);for(j=Math.min(j/I|0,67108863),S._ishlnsubmul(_,j,y);S.negative!==0;)j--,S.negative=0,S._ishlnsubmul(_,1,y),S.isZero()||(S.negative^=1);h&&(h.words[y]=j)}return h&&h._strip(),S._strip(),p!=="div"&&A!==0&&S.iushrn(A),{div:h||null,mod:S}},o.prototype.divmod=function(f,p,A){if(n(!f.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var S,_,I;return this.negative!==0&&f.negative===0?(I=this.neg().divmod(f,p),p!=="mod"&&(S=I.div.neg()),p!=="div"&&(_=I.mod.neg(),A&&_.negative!==0&&_.iadd(f)),{div:S,mod:_}):this.negative===0&&f.negative!==0?(I=this.divmod(f.neg(),p),p!=="mod"&&(S=I.div.neg()),{div:S,mod:I.mod}):this.negative&f.negative?(I=this.neg().divmod(f.neg(),p),p!=="div"&&(_=I.mod.neg(),A&&_.negative!==0&&_.isub(f)),{div:I.div,mod:_}):f.length>this.length||this.cmp(f)<0?{div:new o(0),mod:this}:f.length===1?p==="div"?{div:this.divn(f.words[0]),mod:null}:p==="mod"?{div:null,mod:new o(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new o(this.modrn(f.words[0]))}:this._wordDiv(f,p)},o.prototype.div=function(f){return this.divmod(f,"div",!1).div},o.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},o.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},o.prototype.divRound=function(f){var p=this.divmod(f);if(p.mod.isZero())return p.div;var A=p.div.negative!==0?p.mod.isub(f):p.mod,S=f.ushrn(1),_=f.andln(1),I=A.cmp(S);return I<0||_===1&&I===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},o.prototype.modrn=function(f){var p=f<0;p&&(f=-f),n(f<=67108863);for(var A=(1<<26)%f,S=0,_=this.length-1;_>=0;_--)S=(A*S+(this.words[_]|0))%f;return p?-S:S},o.prototype.modn=function(f){return this.modrn(f)},o.prototype.idivn=function(f){var p=f<0;p&&(f=-f),n(f<=67108863);for(var A=0,S=this.length-1;S>=0;S--){var _=(this.words[S]|0)+A*67108864;this.words[S]=_/f|0,A=_%f}return this._strip(),p?this.ineg():this},o.prototype.divn=function(f){return this.clone().idivn(f)},o.prototype.egcd=function(f){n(f.negative===0),n(!f.isZero());var p=this,A=f.clone();p.negative!==0?p=p.umod(f):p=p.clone();for(var S=new o(1),_=new o(0),I=new o(0),R=new o(1),k=0;p.isEven()&&A.isEven();)p.iushrn(1),A.iushrn(1),++k;for(var h=A.clone(),C=p.clone();!p.isZero();){for(var Z=0,y=1;!(p.words[0]&y)&&Z<26;++Z,y<<=1);if(Z>0)for(p.iushrn(Z);Z-- >0;)(S.isOdd()||_.isOdd())&&(S.iadd(h),_.isub(C)),S.iushrn(1),_.iushrn(1);for(var j=0,U=1;!(A.words[0]&U)&&j<26;++j,U<<=1);if(j>0)for(A.iushrn(j);j-- >0;)(I.isOdd()||R.isOdd())&&(I.iadd(h),R.isub(C)),I.iushrn(1),R.iushrn(1);p.cmp(A)>=0?(p.isub(A),S.isub(I),_.isub(R)):(A.isub(p),I.isub(S),R.isub(_))}return{a:I,b:R,gcd:A.iushln(k)}},o.prototype._invmp=function(f){n(f.negative===0),n(!f.isZero());var p=this,A=f.clone();p.negative!==0?p=p.umod(f):p=p.clone();for(var S=new o(1),_=new o(0),I=A.clone();p.cmpn(1)>0&&A.cmpn(1)>0;){for(var R=0,k=1;!(p.words[0]&k)&&R<26;++R,k<<=1);if(R>0)for(p.iushrn(R);R-- >0;)S.isOdd()&&S.iadd(I),S.iushrn(1);for(var h=0,C=1;!(A.words[0]&C)&&h<26;++h,C<<=1);if(h>0)for(A.iushrn(h);h-- >0;)_.isOdd()&&_.iadd(I),_.iushrn(1);p.cmp(A)>=0?(p.isub(A),S.isub(_)):(A.isub(p),_.isub(S))}var Z;return p.cmpn(1)===0?Z=S:Z=_,Z.cmpn(0)<0&&Z.iadd(f),Z},o.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var p=this.clone(),A=f.clone();p.negative=0,A.negative=0;for(var S=0;p.isEven()&&A.isEven();S++)p.iushrn(1),A.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;A.isEven();)A.iushrn(1);var _=p.cmp(A);if(_<0){var I=p;p=A,A=I}else if(_===0||A.cmpn(1)===0)break;p.isub(A)}while(!0);return A.iushln(S)},o.prototype.invm=function(f){return this.egcd(f).a.umod(f)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(f){return this.words[0]&f},o.prototype.bincn=function(f){n(typeof f=="number");var p=f%26,A=(f-p)/26,S=1<>>26,R&=67108863,this.words[I]=R}return _!==0&&(this.words[I]=_,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(f){var p=f<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this._strip();var A;if(this.length>1)A=1;else{p&&(f=-f),n(f<=67108863,"Number is too big");var S=this.words[0]|0;A=S===f?0:Sf.length)return 1;if(this.length=0;A--){var S=this.words[A]|0,_=f.words[A]|0;if(S!==_){S<_?p=-1:S>_&&(p=1);break}}return p},o.prototype.gtn=function(f){return this.cmpn(f)===1},o.prototype.gt=function(f){return this.cmp(f)===1},o.prototype.gten=function(f){return this.cmpn(f)>=0},o.prototype.gte=function(f){return this.cmp(f)>=0},o.prototype.ltn=function(f){return this.cmpn(f)===-1},o.prototype.lt=function(f){return this.cmp(f)===-1},o.prototype.lten=function(f){return this.cmpn(f)<=0},o.prototype.lte=function(f){return this.cmp(f)<=0},o.prototype.eqn=function(f){return this.cmpn(f)===0},o.prototype.eq=function(f){return this.cmp(f)===0},o.red=function(f){return new X(f)},o.prototype.toRed=function(f){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(f){return this.red=f,this},o.prototype.forceRed=function(f){return n(!this.red,"Already a number in reduction context"),this._forceRed(f)},o.prototype.redAdd=function(f){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},o.prototype.redIAdd=function(f){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},o.prototype.redSub=function(f){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},o.prototype.redISub=function(f){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},o.prototype.redShl=function(f){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},o.prototype.redMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},o.prototype.redIMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(f){return n(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var B={k256:null,p224:null,p192:null,p25519:null};function D(M,f){this.name=M,this.p=new o(f,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}D.prototype._tmp=function(){var f=new o(null);return f.words=new Array(Math.ceil(this.n/13)),f},D.prototype.ireduce=function(f){var p=f,A;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),A=p.bitLength();while(A>this.n);var S=A0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},D.prototype.split=function(f,p){f.iushrn(this.n,0,p)},D.prototype.imulK=function(f){return f.imul(this.k)};function $(){D.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i($,D),$.prototype.split=function(f,p){for(var A=4194303,S=Math.min(f.length,9),_=0;_>>22,I=R}I>>>=22,f.words[_-10]=I,I===0&&f.length>10?f.length-=10:f.length-=9},$.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var p=0,A=0;A>>=26,f.words[A]=_,p=S}return p!==0&&(f.words[f.length++]=p),f},o._prime=function(f){if(B[f])return B[f];var p;if(f==="k256")p=new $;else if(f==="p224")p=new H;else if(f==="p192")p=new Y;else if(f==="p25519")p=new Q;else throw new Error("Unknown prime "+f);return B[f]=p,p};function X(M){if(typeof M=="string"){var f=o._prime(M);this.m=f.p,this.prime=f}else n(M.gtn(1),"modulus must be greater than 1"),this.m=M,this.prime=null}X.prototype._verify1=function(f){n(f.negative===0,"red works only with positives"),n(f.red,"red works only with red numbers")},X.prototype._verify2=function(f,p){n((f.negative|p.negative)===0,"red works only with positives"),n(f.red&&f.red===p.red,"red works only with red numbers")},X.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(c(f,f.umod(this.m)._forceRed(this)),f)},X.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},X.prototype.add=function(f,p){this._verify2(f,p);var A=f.add(p);return A.cmp(this.m)>=0&&A.isub(this.m),A._forceRed(this)},X.prototype.iadd=function(f,p){this._verify2(f,p);var A=f.iadd(p);return A.cmp(this.m)>=0&&A.isub(this.m),A},X.prototype.sub=function(f,p){this._verify2(f,p);var A=f.sub(p);return A.cmpn(0)<0&&A.iadd(this.m),A._forceRed(this)},X.prototype.isub=function(f,p){this._verify2(f,p);var A=f.isub(p);return A.cmpn(0)<0&&A.iadd(this.m),A},X.prototype.shl=function(f,p){return this._verify1(f),this.imod(f.ushln(p))},X.prototype.imul=function(f,p){return this._verify2(f,p),this.imod(f.imul(p))},X.prototype.mul=function(f,p){return this._verify2(f,p),this.imod(f.mul(p))},X.prototype.isqr=function(f){return this.imul(f,f.clone())},X.prototype.sqr=function(f){return this.mul(f,f)},X.prototype.sqrt=function(f){if(f.isZero())return f.clone();var p=this.m.andln(3);if(n(p%2===1),p===3){var A=this.m.add(new o(1)).iushrn(2);return this.pow(f,A)}for(var S=this.m.subn(1),_=0;!S.isZero()&&S.andln(1)===0;)_++,S.iushrn(1);n(!S.isZero());var I=new o(1).toRed(this),R=I.redNeg(),k=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);this.pow(h,k).cmp(R)!==0;)h.redIAdd(R);for(var C=this.pow(h,S),Z=this.pow(f,S.addn(1).iushrn(1)),y=this.pow(f,S),j=_;y.cmp(I)!==0;){for(var U=y,F=0;U.cmp(I)!==0;F++)U=U.redSqr();n(F=0;_--){for(var C=p.words[_],Z=h-1;Z>=0;Z--){var y=C>>Z&1;if(I!==S[0]&&(I=this.sqr(I)),y===0&&R===0){k=0;continue}R<<=1,R|=y,k++,!(k!==A&&(_!==0||Z!==0))&&(I=this.mul(I,S[R]),k=0,R=0)}h=26}return I},X.prototype.convertTo=function(f){var p=f.umod(this.m);return p===f?p.clone():p},X.prototype.convertFrom=function(f){var p=f.clone();return p.red=null,p},o.mont=function(f){return new ie(f)};function ie(M){X.call(this,M),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(ie,X),ie.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},ie.prototype.convertFrom=function(f){var p=this.imod(f.mul(this.rinv));return p.red=null,p},ie.prototype.imul=function(f,p){if(f.isZero()||p.isZero())return f.words[0]=0,f.length=1,f;var A=f.imul(p),S=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=A.isub(S).iushrn(this.shift),I=_;return _.cmp(this.m)>=0?I=_.isub(this.m):_.cmpn(0)<0&&(I=_.iadd(this.m)),I._forceRed(this)},ie.prototype.mul=function(f,p){if(f.isZero()||p.isZero())return new o(0)._forceRed(this);var A=f.mul(p),S=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=A.isub(S).iushrn(this.shift),I=_;return _.cmp(this.m)>=0?I=_.isub(this.m):_.cmpn(0)<0&&(I=_.iadd(this.m)),I._forceRed(this)},ie.prototype.invm=function(f){var p=this.imod(f._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(t,Fe)})(bh);var CE=bh.exports;const ue=Uo(CE),ME="logger/5.7.0";let op=!1,sp=!1;const ha={debug:1,default:2,info:2,warning:3,error:4,off:5};let lp=ha.default,Uc=null;function IE(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(t){return t.message}return null}const ap=IE();var sd;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(sd||(sd={}));var Ur;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(Ur||(Ur={}));const up="0123456789abcdef";class O{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){const n=e.toLowerCase();ha[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(lp>ha[n])&&console.log.apply(console,r)}debug(...e){this._log(O.levels.DEBUG,e)}info(...e){this._log(O.levels.INFO,e)}warn(...e){this._log(O.levels.WARNING,e)}makeError(e,r,n){if(sp)return this.makeError("censored error",r,{});r||(r=O.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(a=>{const u=n[a];try{if(u instanceof Uint8Array){let c="";for(let d=0;d>4],c+=up[u[d]&15];i.push(a+"=Uint8Array(0x"+c+")")}else i.push(a+"="+JSON.stringify(u))}catch{i.push(a+"="+JSON.stringify(n[a].toString()))}}),i.push(`code=${r}`),i.push(`version=${this.version}`);const o=e;let s="";switch(r){case Ur.NUMERIC_FAULT:{s="NUMERIC_FAULT";const a=e;switch(a){case"overflow":case"underflow":case"division-by-zero":s+="-"+a;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result";break}break}case Ur.CALL_EXCEPTION:case Ur.INSUFFICIENT_FUNDS:case Ur.MISSING_NEW:case Ur.NONCE_EXPIRED:case Ur.REPLACEMENT_UNDERPRICED:case Ur.TRANSACTION_REPLACED:case Ur.UNPREDICTABLE_GAS_LIMIT:s=r;break}s&&(e+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),i.length&&(e+=" ("+i.join(", ")+")");const l=new Error(e);return l.reason=o,l.code=r,Object.keys(n).forEach(function(a){l[a]=n[a]}),l}throwError(e,r,n){throw this.makeError(e,r,n)}throwArgumentError(e,r,n){return this.throwError(e,O.errors.INVALID_ARGUMENT,{argument:r,value:n})}assert(e,r,n,i){e||this.throwError(r,n,i)}assertArgument(e,r,n,i){e||this.throwArgumentError(r,n,i)}checkNormalize(e){ap&&this.throwError("platform missing String.prototype.normalize",O.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:ap})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,O.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,O.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,n){n?n=": "+n:n="",er&&this.throwError("too many arguments"+n,O.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",O.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",O.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",O.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Uc||(Uc=new O(ME)),Uc}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",O.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),op){if(!e)return;this.globalLogger().throwError("error censorship permanent",O.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}sp=!!e,op=!!r}static setLogLevel(e){const r=ha[e.toLowerCase()];if(r==null){O.globalLogger().warn("invalid log level - "+e);return}lp=r}static from(e){return new O(e)}}O.errors=Ur;O.levels=sd;const RE="bytes/5.7.0",dt=new O(RE);function oy(t){return!!t.toHexString}function Ao(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return Ao(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Ah(t){return pe(t)&&!(t.length%2)||Tu(t)}function cp(t){return typeof t=="number"&&t==t&&t%1===0}function Tu(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!cp(t.length)||t.length<0)return!1;for(let e=0;e=256)return!1}return!0}function se(t,e){if(e||(e={}),typeof t=="number"){dt.checkSafeUint53(t,"invalid arrayify value");const r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),Ao(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),oy(t)&&(t=t.toHexString()),pe(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":dt.throwArgumentError("hex data is odd-length","value",t));const n=[];for(let i=0;ise(i)),r=e.reduce((i,o)=>i+o.length,0),n=new Uint8Array(r);return e.reduce((i,o)=>(n.set(o,i),i+o.length),0),Ao(n)}function To(t){let e=se(t);if(e.length===0)return e;let r=0;for(;re&&dt.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),Ao(r)}function pe(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}const Fc="0123456789abcdef";function re(t,e){if(e||(e={}),typeof t=="number"){dt.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Fc[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),oy(t))return t.toHexString();if(pe(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":dt.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(Tu(t)){let r="0x";for(let n=0;n>4]+Fc[i&15]}return r}return dt.throwArgumentError("invalid hexlify value","value",t)}function On(t){if(typeof t!="string")t=re(t);else if(!pe(t)||t.length%2)return null;return(t.length-2)/2}function It(t,e,r){return typeof t!="string"?t=re(t):(!pe(t)||t.length%2)&&dt.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function Xt(t){let e="0x";return t.forEach(r=>{e+=re(r).substring(2)}),e}function Ou(t){const e=TE(re(t,{hexPad:"left"}));return e==="0x"?"0x0":e}function TE(t){typeof t!="string"&&(t=re(t)),pe(t)||dt.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e2*e+2&&dt.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function Lu(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Ah(t)){let r=se(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=re(r.slice(0,32)),e.s=re(r.slice(32,64))):r.length===65?(e.r=re(r.slice(0,32)),e.s=re(r.slice(32,64)),e.v=r[64]):dt.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:dt.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=re(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){const i=pa(se(e._vs),32);e._vs=re(i);const o=i[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=o:e.recoveryParam!==o&&dt.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),i[0]&=127;const s=re(i);e.s==null?e.s=s:e.s!==s&&dt.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?dt.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const i=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==i&&dt.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!pe(e.r)?dt.throwArgumentError("signature missing or invalid r","signature",t):e.r=pt(e.r,32),e.s==null||!pe(e.s)?dt.throwArgumentError("signature missing or invalid s","signature",t):e.s=pt(e.s,32);const r=se(e.s);r[0]>=128&&dt.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const n=re(r);e._vs&&(pe(e._vs)||dt.throwArgumentError("signature invalid _vs","signature",t),e._vs=pt(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&dt.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}const OE="bignumber/5.7.0";var Xs=ue.BN;const xn=new O(OE),zc={},fp=9007199254740991;let dp=!1;class G{constructor(e,r){e!==zc&&xn.throwError("cannot call constructor directly; use BigNumber.from",O.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return Jt(ve(this).fromTwos(e))}toTwos(e){return Jt(ve(this).toTwos(e))}abs(){return this._hex[0]==="-"?G.from(this._hex.substring(1)):this}add(e){return Jt(ve(this).add(ve(e)))}sub(e){return Jt(ve(this).sub(ve(e)))}div(e){return G.from(e).isZero()&&Er("division-by-zero","div"),Jt(ve(this).div(ve(e)))}mul(e){return Jt(ve(this).mul(ve(e)))}mod(e){const r=ve(e);return r.isNeg()&&Er("division-by-zero","mod"),Jt(ve(this).umod(r))}pow(e){const r=ve(e);return r.isNeg()&&Er("negative-power","pow"),Jt(ve(this).pow(r))}and(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","and"),Jt(ve(this).and(r))}or(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","or"),Jt(ve(this).or(r))}xor(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","xor"),Jt(ve(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&Er("negative-width","mask"),Jt(ve(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Er("negative-width","shl"),Jt(ve(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Er("negative-width","shr"),Jt(ve(this).shrn(e))}eq(e){return ve(this).eq(ve(e))}lt(e){return ve(this).lt(ve(e))}lte(e){return ve(this).lte(ve(e))}gt(e){return ve(this).gt(ve(e))}gte(e){return ve(this).gte(ve(e))}isNegative(){return this._hex[0]==="-"}isZero(){return ve(this).isZero()}toNumber(){try{return ve(this).toNumber()}catch{Er("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return xn.throwError("this platform does not support BigInt",O.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?dp||(dp=!0,xn.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?xn.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",O.errors.UNEXPECTED_ARGUMENT,{}):xn.throwError("BigNumber.toString does not accept parameters",O.errors.UNEXPECTED_ARGUMENT,{})),ve(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof G)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new G(zc,Zs(e)):e.match(/^-?[0-9]+$/)?new G(zc,Zs(new Xs(e))):xn.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Er("underflow","BigNumber.from",e),(e>=fp||e<=-fp)&&Er("overflow","BigNumber.from",e),G.from(String(e));const r=e;if(typeof r=="bigint")return G.from(r.toString());if(Tu(r))return G.from(re(r));if(r)if(r.toHexString){const n=r.toHexString();if(typeof n=="string")return G.from(n)}else{let n=r._hex;if(n==null&&r.type==="BigNumber"&&(n=r.hex),typeof n=="string"&&(pe(n)||n[0]==="-"&&pe(n.substring(1))))return G.from(n)}return xn.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function Zs(t){if(typeof t!="string")return Zs(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&xn.throwArgumentError("invalid hex","value",t),t=Zs(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function Jt(t){return G.from(Zs(t))}function ve(t){const e=G.from(t).toHexString();return e[0]==="-"?new Xs("-"+e.substring(3),16):new Xs(e.substring(2),16)}function Er(t,e,r){const n={fault:t,operation:e};return r!=null&&(n.value=r),xn.throwError(t,O.errors.NUMERIC_FAULT,n)}function LE(t){return new Xs(t,36).toString(16)}function BE(t){return new Xs(t,16).toString(36)}const jE="properties/5.7.0";var DE=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const Ya=new O(jE);function z(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function fr(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||typeof t.prototype!="object")break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function yt(t){return DE(this,void 0,void 0,function*(){const e=Object.keys(t).map(n=>{const i=t[n];return Promise.resolve(i).then(o=>({key:n,value:o}))});return(yield Promise.all(e)).reduce((n,i)=>(n[i.key]=i.value,n),{})})}function UE(t,e){(!t||typeof t!="object")&&Ya.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||Ya.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function it(t){const e={};for(const r in t)e[r]=t[r];return e}const FE={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function sy(t){if(t==null||FE[typeof t])return!0;if(Array.isArray(t)||typeof t=="object"){if(!Object.isFrozen(t))return!1;const e=Object.keys(t);for(let r=0;rnr(e)));if(typeof t=="object"){const e={};for(const r in t){const n=t[r];n!==void 0&&z(e,r,nr(n))}return e}return Ya.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function nr(t){return zE(t)}class yl{constructor(e){for(const r in e)this[r]=nr(e[r])}}const wl="abi/5.7.0",xe=new O(wl),ji={};let hp={calldata:!0,memory:!0,storage:!0},$E={calldata:!0,memory:!0};function $l(t,e){if(t==="bytes"||t==="string"){if(hp[e])return!0}else if(t==="address"){if(e==="payable")return!0}else if((t.indexOf("[")>=0||t==="tuple")&&$E[e])return!0;return(hp[e]||e==="payable")&&xe.throwArgumentError("invalid modifier","name",e),!1}function HE(t,e){let r=t;function n(l){xe.throwArgumentError(`unexpected character at position ${l}`,"param",t)}t=t.replace(/\s/g," ");function i(l){let a={type:"",name:"",parent:l,state:{allowType:!0}};return e&&(a.indexed=!1),a}let o={type:"",name:"",state:{allowType:!0}},s=o;for(let l=0;lJSON.parse(i.format(e)))),JSON.stringify(n)}let r="";return this.baseType==="array"?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(e!==Se.sighash&&(r+=this.type),r+="("+this.components.map(n=>n.format(e)).join(e===Se.full?", ":",")+")"):r+=this.type,e!==Se.sighash&&(this.indexed===!0&&(r+=" indexed"),e===Se.full&&this.name&&(r+=" "+this.name)),r}static from(e,r){return typeof e=="string"?kt.fromString(e,r):kt.fromObject(e)}static fromObject(e){return kt.isParamType(e)?e:new kt(ji,{name:e.name||null,type:Yi(e.type),indexed:e.indexed==null?null:!!e.indexed,components:e.components?e.components.map(kt.fromObject):null})}static fromString(e,r){function n(i){return kt.fromObject({name:i.name,type:i.type,indexed:i.indexed,components:i.components})}return n(HE(e,!!r))}static isParamType(e){return!!(e!=null&&e._isParamType)}}function el(t,e){return GE(t).map(r=>kt.fromString(r,e))}class Nn{constructor(e,r){e!==ji&&xe.throwError("use a static from method",O.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),ma(this,r),this._isFragment=!0,Object.freeze(this)}static from(e){return Nn.isFragment(e)?e:typeof e=="string"?Nn.fromString(e):Nn.fromObject(e)}static fromObject(e){if(Nn.isFragment(e))return e;switch(e.type){case"function":return sn.fromObject(e);case"event":return _n.fromObject(e);case"constructor":return on.fromObject(e);case"error":return ei.fromObject(e);case"fallback":case"receive":return null}return xe.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return e=e.replace(/\s/g," "),e=e.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),e=e.trim(),e.split(" ")[0]==="event"?_n.fromString(e.substring(5).trim()):e.split(" ")[0]==="function"?sn.fromString(e.substring(8).trim()):e.split("(")[0].trim()==="constructor"?on.fromString(e.trim()):e.split(" ")[0]==="error"?ei.fromString(e.substring(5).trim()):xe.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}}class _n extends Nn{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="event "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",e!==Se.sighash&&this.anonymous&&(r+="anonymous "),r.trim()}static from(e){return typeof e=="string"?_n.fromString(e):_n.fromObject(e)}static fromObject(e){if(_n.isEventFragment(e))return e;e.type!=="event"&&xe.throwArgumentError("invalid event object","value",e);const r={name:tl(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(kt.fromObject):[],type:"event"};return new _n(ji,r)}static fromString(e){let r=e.match(rl);r||xe.throwArgumentError("invalid event string","value",e);let n=!1;return r[3].split(" ").forEach(i=>{switch(i.trim()){case"anonymous":n=!0;break;case"":break;default:xe.warn("unknown modifier: "+i)}}),_n.fromObject({name:r[1].trim(),anonymous:n,inputs:el(r[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&e.type==="event"}}function ly(t,e){e.gas=null;let r=t.split("@");return r.length!==1?(r.length>2&&xe.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||xe.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=G.from(r[1]),r[0]):t}function ay(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(r=>{switch(r.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+r)}})}function uy(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return t.stateMutability!=null?(e.stateMutability=t.stateMutability,e.constant=e.stateMutability==="view"||e.stateMutability==="pure",t.constant!=null&&!!t.constant!==e.constant&&xe.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable=e.stateMutability==="payable",t.payable!=null&&!!t.payable!==e.payable&&xe.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):t.payable!=null?(e.payable=!!t.payable,t.constant==null&&!e.payable&&t.type!=="constructor"&&xe.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&xe.throwArgumentError("cannot have constant payable function","value",t)):t.constant!=null?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):t.type!=="constructor"&&xe.throwArgumentError("unable to determine stateMutability","value",t),e}class on extends Nn{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});e===Se.sighash&&xe.throwError("cannot format a constructor for sighash",O.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let r="constructor("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "),r.trim()}static from(e){return typeof e=="string"?on.fromString(e):on.fromObject(e)}static fromObject(e){if(on.isConstructorFragment(e))return e;e.type!=="constructor"&&xe.throwArgumentError("invalid constructor object","value",e);let r=uy(e);r.constant&&xe.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(kt.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?G.from(e.gas):null};return new on(ji,n)}static fromString(e){let r={type:"constructor"};e=ly(e,r);let n=e.match(rl);return(!n||n[1].trim()!=="constructor")&&xe.throwArgumentError("invalid constructor string","value",e),r.inputs=el(n[2].trim(),!1),ay(n[3].trim(),r),on.fromObject(r)}static isConstructorFragment(e){return e&&e._isFragment&&e.type==="constructor"}}class sn extends on{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",e!==Se.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map(n=>n.format(e)).join(", ")+") "),this.gas!=null&&(r+="@"+this.gas.toString()+" ")),r.trim()}static from(e){return typeof e=="string"?sn.fromString(e):sn.fromObject(e)}static fromObject(e){if(sn.isFunctionFragment(e))return e;e.type!=="function"&&xe.throwArgumentError("invalid function object","value",e);let r=uy(e);const n={type:e.type,name:tl(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(kt.fromObject):[],outputs:e.outputs?e.outputs.map(kt.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?G.from(e.gas):null};return new sn(ji,n)}static fromString(e){let r={type:"function"};e=ly(e,r);let n=e.split(" returns ");n.length>2&&xe.throwArgumentError("invalid function string","value",e);let i=n[0].match(rl);if(i||xe.throwArgumentError("invalid function signature","value",e),r.name=i[1].trim(),r.name&&tl(r.name),r.inputs=el(i[2],!1),ay(i[3].trim(),r),n.length>1){let o=n[1].match(rl);(o[1].trim()!=""||o[3].trim()!="")&&xe.throwArgumentError("unexpected tokens","value",e),r.outputs=el(o[2],!1)}else r.outputs=[];return sn.fromObject(r)}static isFunctionFragment(e){return e&&e._isFragment&&e.type==="function"}}function pp(t){const e=t.format();return(e==="Error(string)"||e==="Panic(uint256)")&&xe.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}class ei extends Nn{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="error "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",r.trim()}static from(e){return typeof e=="string"?ei.fromString(e):ei.fromObject(e)}static fromObject(e){if(ei.isErrorFragment(e))return e;e.type!=="error"&&xe.throwArgumentError("invalid error object","value",e);const r={type:e.type,name:tl(e.name),inputs:e.inputs?e.inputs.map(kt.fromObject):[]};return pp(new ei(ji,r))}static fromString(e){let r={type:"error"},n=e.match(rl);return n||xe.throwArgumentError("invalid error signature","value",e),r.name=n[1].trim(),r.name&&tl(r.name),r.inputs=el(n[2],!1),pp(ei.fromObject(r))}static isErrorFragment(e){return e&&e._isFragment&&e.type==="error"}}function Yi(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const WE=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function tl(t){return(!t||!t.match(WE))&&xe.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const rl=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function GE(t){t=t.trim();let e=[],r="",n=0;for(let i=0;ithis.wordSize&&_h.throwError("value out-of-bounds",O.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=Ut([this._padding.slice(r.length%this.wordSize),r])),r}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,r=>{this._data[e]=this._getValue(r)}}}class Xa{constructor(e,r,n,i){z(this,"_data",se(e)),z(this,"wordSize",r||32),z(this,"_coerceFunc",n),z(this,"allowLoose",i),this._offset=0}get data(){return re(this._data)}get consumed(){return this._offset}static coerce(e,r){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(r=r.toNumber()),r}coerce(e,r){return this._coerceFunc?this._coerceFunc(e,r):Xa.coerce(e,r)}_peekBytes(e,r,n){let i=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+i>this._data.length&&(this.allowLoose&&n&&this._offset+r<=this._data.length?i=r:_h.throwError("data out-of-bounds",O.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+i})),this._data.slice(this._offset,this._offset+i)}subReader(e){return new Xa(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,r){let n=this._peekBytes(0,e,!!r);return this._offset+=n.length,n.slice(0,e)}readValue(){return G.from(this.readBytes(this.wordSize))}}var cy={exports:{}};/** - * [js-sha3]{@link https://github.com/emn178/js-sha3} - * - * @version 0.8.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2015-2018 - * @license MIT - */(function(t){(function(){var e="input is invalid type",r="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var o=!n&&typeof self=="object",s=!i.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;s?i=Fe:o&&(i=self);var l=!i.JS_SHA3_NO_COMMON_JS&&!0&&t.exports,a=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),c=[31,7936,2031616,520093696],d=[4,1024,262144,67108864],m=[1,256,65536,16777216],g=[6,1536,393216,100663296],v=[0,8,16,24],E=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],N=[224,256,384,512],x=[128,256],w=["hex","buffer","arrayBuffer","array","digest"],b={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(y){return Object.prototype.toString.call(y)==="[object Array]"}),a&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(y){return typeof y=="object"&&y.buffer&&y.buffer.constructor===ArrayBuffer});for(var T=function(y,j,U){return function(F){return new h(y,j,y).update(F)[U]()}},B=function(y,j,U){return function(F,W){return new h(y,j,W).update(F)[U]()}},D=function(y,j,U){return function(F,W,oe,J){return f["cshake"+y].update(F,W,oe,J)[U]()}},$=function(y,j,U){return function(F,W,oe,J){return f["kmac"+y].update(F,W,oe,J)[U]()}},H=function(y,j,U,F){for(var W=0;W>5,this.byteCount=this.blockCount<<2,this.outputBlocks=U>>5,this.extraBytes=(U&31)>>3;for(var F=0;F<50;++F)this.s[F]=0}h.prototype.update=function(y){if(this.finalized)throw new Error(r);var j,U=typeof y;if(U!=="string"){if(U==="object"){if(y===null)throw new Error(e);if(a&&y.constructor===ArrayBuffer)y=new Uint8Array(y);else if(!Array.isArray(y)&&(!a||!ArrayBuffer.isView(y)))throw new Error(e)}else throw new Error(e);j=!0}for(var F=this.blocks,W=this.byteCount,oe=y.length,J=this.blockCount,V=0,Je=this.s,K,le;V>2]|=y[V]<>2]|=le<>2]|=(192|le>>6)<>2]|=(128|le&63)<=57344?(F[K>>2]|=(224|le>>12)<>2]|=(128|le>>6&63)<>2]|=(128|le&63)<>2]|=(240|le>>18)<>2]|=(128|le>>12&63)<>2]|=(128|le>>6&63)<>2]|=(128|le&63)<=W){for(this.start=K-W,this.block=F[J],K=0;K>8,U=y&255;U>0;)W.unshift(U),y=y>>8,U=y&255,++F;return j?W.push(F):W.unshift(F),this.update(W),W.length},h.prototype.encodeString=function(y){var j,U=typeof y;if(U!=="string"){if(U==="object"){if(y===null)throw new Error(e);if(a&&y.constructor===ArrayBuffer)y=new Uint8Array(y);else if(!Array.isArray(y)&&(!a||!ArrayBuffer.isView(y)))throw new Error(e)}else throw new Error(e);j=!0}var F=0,W=y.length;if(j)F=W;else for(var oe=0;oe=57344?F+=3:(J=65536+((J&1023)<<10|y.charCodeAt(++oe)&1023),F+=4)}return F+=this.encode(F*8),this.update(y),F},h.prototype.bytepad=function(y,j){for(var U=this.encode(j),F=0;F>2]|=this.padding[j&3],this.lastByteIndex===this.byteCount)for(y[0]=y[U],j=1;j>4&15]+u[V&15]+u[V>>12&15]+u[V>>8&15]+u[V>>20&15]+u[V>>16&15]+u[V>>28&15]+u[V>>24&15];oe%y===0&&(Z(j),W=0)}return F&&(V=j[W],J+=u[V>>4&15]+u[V&15],F>1&&(J+=u[V>>12&15]+u[V>>8&15]),F>2&&(J+=u[V>>20&15]+u[V>>16&15])),J},h.prototype.arrayBuffer=function(){this.finalize();var y=this.blockCount,j=this.s,U=this.outputBlocks,F=this.extraBytes,W=0,oe=0,J=this.outputBits>>3,V;F?V=new ArrayBuffer(U+1<<2):V=new ArrayBuffer(J);for(var Je=new Uint32Array(V);oe>8&255,J[V+2]=Je>>16&255,J[V+3]=Je>>24&255;oe%y===0&&Z(j)}return F&&(V=oe<<2,Je=j[W],J[V]=Je&255,F>1&&(J[V+1]=Je>>8&255),F>2&&(J[V+2]=Je>>16&255)),J};function C(y,j,U){h.call(this,y,j,U)}C.prototype=new h,C.prototype.finalize=function(){return this.encode(this.outputBits,!0),h.prototype.finalize.call(this)};var Z=function(y){var j,U,F,W,oe,J,V,Je,K,le,Qr,Te,Ne,Jr,Pe,ce,wr,fe,Oe,Yr,me,ze,gn,$e,He,Ht,Le,qe,Rr,Ce,We,vn,Be,Ge,yn,je,ne,ot,ge,de,rt,Ae,_e,Ct,Me,De,Kt,Ve,Ke,Qt,Ie,Ue,xr,ke,Ye,bi,Xe,Ze,$n,Hn,qn,Wn,Gn;for(F=0;F<48;F+=2)W=y[0]^y[10]^y[20]^y[30]^y[40],oe=y[1]^y[11]^y[21]^y[31]^y[41],J=y[2]^y[12]^y[22]^y[32]^y[42],V=y[3]^y[13]^y[23]^y[33]^y[43],Je=y[4]^y[14]^y[24]^y[34]^y[44],K=y[5]^y[15]^y[25]^y[35]^y[45],le=y[6]^y[16]^y[26]^y[36]^y[46],Qr=y[7]^y[17]^y[27]^y[37]^y[47],Te=y[8]^y[18]^y[28]^y[38]^y[48],Ne=y[9]^y[19]^y[29]^y[39]^y[49],j=Te^(J<<1|V>>>31),U=Ne^(V<<1|J>>>31),y[0]^=j,y[1]^=U,y[10]^=j,y[11]^=U,y[20]^=j,y[21]^=U,y[30]^=j,y[31]^=U,y[40]^=j,y[41]^=U,j=W^(Je<<1|K>>>31),U=oe^(K<<1|Je>>>31),y[2]^=j,y[3]^=U,y[12]^=j,y[13]^=U,y[22]^=j,y[23]^=U,y[32]^=j,y[33]^=U,y[42]^=j,y[43]^=U,j=J^(le<<1|Qr>>>31),U=V^(Qr<<1|le>>>31),y[4]^=j,y[5]^=U,y[14]^=j,y[15]^=U,y[24]^=j,y[25]^=U,y[34]^=j,y[35]^=U,y[44]^=j,y[45]^=U,j=Je^(Te<<1|Ne>>>31),U=K^(Ne<<1|Te>>>31),y[6]^=j,y[7]^=U,y[16]^=j,y[17]^=U,y[26]^=j,y[27]^=U,y[36]^=j,y[37]^=U,y[46]^=j,y[47]^=U,j=le^(W<<1|oe>>>31),U=Qr^(oe<<1|W>>>31),y[8]^=j,y[9]^=U,y[18]^=j,y[19]^=U,y[28]^=j,y[29]^=U,y[38]^=j,y[39]^=U,y[48]^=j,y[49]^=U,Jr=y[0],Pe=y[1],De=y[11]<<4|y[10]>>>28,Kt=y[10]<<4|y[11]>>>28,qe=y[20]<<3|y[21]>>>29,Rr=y[21]<<3|y[20]>>>29,Hn=y[31]<<9|y[30]>>>23,qn=y[30]<<9|y[31]>>>23,Ae=y[40]<<18|y[41]>>>14,_e=y[41]<<18|y[40]>>>14,Ge=y[2]<<1|y[3]>>>31,yn=y[3]<<1|y[2]>>>31,ce=y[13]<<12|y[12]>>>20,wr=y[12]<<12|y[13]>>>20,Ve=y[22]<<10|y[23]>>>22,Ke=y[23]<<10|y[22]>>>22,Ce=y[33]<<13|y[32]>>>19,We=y[32]<<13|y[33]>>>19,Wn=y[42]<<2|y[43]>>>30,Gn=y[43]<<2|y[42]>>>30,ke=y[5]<<30|y[4]>>>2,Ye=y[4]<<30|y[5]>>>2,je=y[14]<<6|y[15]>>>26,ne=y[15]<<6|y[14]>>>26,fe=y[25]<<11|y[24]>>>21,Oe=y[24]<<11|y[25]>>>21,Qt=y[34]<<15|y[35]>>>17,Ie=y[35]<<15|y[34]>>>17,vn=y[45]<<29|y[44]>>>3,Be=y[44]<<29|y[45]>>>3,$e=y[6]<<28|y[7]>>>4,He=y[7]<<28|y[6]>>>4,bi=y[17]<<23|y[16]>>>9,Xe=y[16]<<23|y[17]>>>9,ot=y[26]<<25|y[27]>>>7,ge=y[27]<<25|y[26]>>>7,Yr=y[36]<<21|y[37]>>>11,me=y[37]<<21|y[36]>>>11,Ue=y[47]<<24|y[46]>>>8,xr=y[46]<<24|y[47]>>>8,Ct=y[8]<<27|y[9]>>>5,Me=y[9]<<27|y[8]>>>5,Ht=y[18]<<20|y[19]>>>12,Le=y[19]<<20|y[18]>>>12,Ze=y[29]<<7|y[28]>>>25,$n=y[28]<<7|y[29]>>>25,de=y[38]<<8|y[39]>>>24,rt=y[39]<<8|y[38]>>>24,ze=y[48]<<14|y[49]>>>18,gn=y[49]<<14|y[48]>>>18,y[0]=Jr^~ce&fe,y[1]=Pe^~wr&Oe,y[10]=$e^~Ht&qe,y[11]=He^~Le&Rr,y[20]=Ge^~je&ot,y[21]=yn^~ne&ge,y[30]=Ct^~De&Ve,y[31]=Me^~Kt&Ke,y[40]=ke^~bi&Ze,y[41]=Ye^~Xe&$n,y[2]=ce^~fe&Yr,y[3]=wr^~Oe&me,y[12]=Ht^~qe&Ce,y[13]=Le^~Rr&We,y[22]=je^~ot&de,y[23]=ne^~ge&rt,y[32]=De^~Ve&Qt,y[33]=Kt^~Ke&Ie,y[42]=bi^~Ze&Hn,y[43]=Xe^~$n&qn,y[4]=fe^~Yr&ze,y[5]=Oe^~me&gn,y[14]=qe^~Ce&vn,y[15]=Rr^~We&Be,y[24]=ot^~de&Ae,y[25]=ge^~rt&_e,y[34]=Ve^~Qt&Ue,y[35]=Ke^~Ie&xr,y[44]=Ze^~Hn&Wn,y[45]=$n^~qn&Gn,y[6]=Yr^~ze&Jr,y[7]=me^~gn&Pe,y[16]=Ce^~vn&$e,y[17]=We^~Be&He,y[26]=de^~Ae&Ge,y[27]=rt^~_e&yn,y[36]=Qt^~Ue&Ct,y[37]=Ie^~xr&Me,y[46]=Hn^~Wn&ke,y[47]=qn^~Gn&Ye,y[8]=ze^~Jr&ce,y[9]=gn^~Pe&wr,y[18]=vn^~$e&Ht,y[19]=Be^~He&Le,y[28]=Ae^~Ge&je,y[29]=_e^~yn&ne,y[38]=Ue^~Ct&De,y[39]=xr^~Me&Kt,y[48]=Wn^~ke&bi,y[49]=Gn^~Ye&Xe,y[0]^=E[F],y[1]^=E[F+1]};if(l)t.exports=f;else for(A=0;A>=8;return e}function gp(t,e,r){let n=0;for(let i=0;ie+1+n&&tn.throwError("child data too short",O.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function dy(t,e){if(t.length===0&&tn.throwError("data too short",O.errors.BUFFER_OVERRUN,{}),t[e]>=248){const r=t[e]-247;e+1+r>t.length&&tn.throwError("data short segment too short",O.errors.BUFFER_OVERRUN,{});const n=gp(t,e+1,r);return e+1+r+n>t.length&&tn.throwError("data long segment too short",O.errors.BUFFER_OVERRUN,{}),vp(t,e,e+1+r,r+n)}else if(t[e]>=192){const r=t[e]-192;return e+1+r>t.length&&tn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{}),vp(t,e,e+1,r)}else if(t[e]>=184){const r=t[e]-183;e+1+r>t.length&&tn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{});const n=gp(t,e+1,r);e+1+r+n>t.length&&tn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{});const i=re(t.slice(e+1+r,e+1+r+n));return{consumed:1+r+n,result:i}}else if(t[e]>=128){const r=t[e]-128;e+1+r>t.length&&tn.throwError("data too short",O.errors.BUFFER_OVERRUN,{});const n=re(t.slice(e+1,e+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:re(t[e])}}function Sh(t){const e=se(t),r=dy(e,0);return r.consumed!==e.length&&tn.throwArgumentError("invalid rlp data","data",t),r.result}const YE="address/5.7.0",oi=new O(YE);function yp(t){pe(t,20)||oi.throwArgumentError("invalid address","address",t),t=t.toLowerCase();const e=t.substring(2).split(""),r=new Uint8Array(40);for(let i=0;i<40;i++)r[i]=e[i].charCodeAt(0);const n=se(ut(r));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const XE=9007199254740991;function ZE(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}const kh={};for(let t=0;t<10;t++)kh[String(t)]=String(t);for(let t=0;t<26;t++)kh[String.fromCharCode(65+t)]=String(10+t);const wp=Math.floor(ZE(XE));function hy(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>kh[n]).join("");for(;e.length>=wp;){let n=e.substring(0,wp);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function mt(t){let e=null;if(typeof t!="string"&&oi.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=yp(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&oi.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==hy(t)&&oi.throwArgumentError("bad icap checksum","address",t),e=LE(t.substring(4));e.length<40;)e="0"+e;e=yp("0x"+e)}else oi.throwArgumentError("invalid address","address",t);return e}function eb(t){try{return mt(t),!0}catch{}return!1}function tb(t){let e=BE(mt(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+hy("XE00"+e)+e}function Nh(t){let e=null;try{e=mt(t.from)}catch{oi.throwArgumentError("missing from address","transaction",t)}const r=To(se(G.from(t.nonce).toHexString()));return mt(It(ut(Bu([e,r])),12))}function rb(t,e,r){return On(e)!==32&&oi.throwArgumentError("salt must be 32 bytes","salt",e),On(r)!==32&&oi.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),mt(It(ut(Ut(["0xff",mt(t),e,r])),12))}const nb=Object.freeze(Object.defineProperty({__proto__:null,getAddress:mt,getContractAddress:Nh,getCreate2Address:rb,getIcapAddress:tb,isAddress:eb},Symbol.toStringTag,{value:"Module"}));class ib extends Dn{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){try{r=mt(r)}catch(n){this._throwError(n.message,r)}return e.writeValue(r)}decode(e){return mt(pt(e.readValue().toHexString(),20))}}class ob extends Dn{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}}const fo=new O(wl);function py(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let a={};n=e.map(u=>{const c=u.localName;return c||fo.throwError("cannot encode object for signature with missing names",O.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:r}),a[c]&&fo.throwError("cannot encode object for signature with duplicate names",O.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:r}),a[c]=!0,r[c]})}else fo.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&fo.throwArgumentError("types/value length mismatch","tuple",r);let i=new ld(t.wordSize),o=new ld(t.wordSize),s=[];e.forEach((a,u)=>{let c=n[u];if(a.dynamic){let d=o.length;a.encode(o,c);let m=i.writeUpdatableValue();s.push(g=>{m(g+d)})}else a.encode(i,c)}),s.forEach(a=>{a(i.length)});let l=t.appendWriter(i);return l+=t.appendWriter(o),l}function my(t,e){let r=[],n=t.subReader(0);e.forEach(o=>{let s=null;if(o.dynamic){let l=t.readValue(),a=n.subReader(l.toNumber());try{s=o.decode(a)}catch(u){if(u.code===O.errors.BUFFER_OVERRUN)throw u;s=u,s.baseType=o.name,s.name=o.localName,s.type=o.type}}else try{s=o.decode(t)}catch(l){if(l.code===O.errors.BUFFER_OVERRUN)throw l;s=l,s.baseType=o.name,s.name=o.localName,s.type=o.type}s!=null&&r.push(s)});const i=e.reduce((o,s)=>{const l=s.localName;return l&&(o[l]||(o[l]=0),o[l]++),o},{});e.forEach((o,s)=>{let l=o.localName;if(!l||i[l]!==1||(l==="length"&&(l="_length"),r[l]!=null))return;const a=r[s];a instanceof Error?Object.defineProperty(r,l,{enumerable:!0,get:()=>{throw a}}):r[l]=a});for(let o=0;o{throw s}})}return Object.freeze(r)}class sb extends Dn{constructor(e,r,n){const i=e.type+"["+(r>=0?r:"")+"]",o=r===-1||e.dynamic;super("array",i,n,o),this.coder=e,this.length=r}defaultValue(){const e=this.coder.defaultValue(),r=[];for(let n=0;ne._data.length&&fo.throwError("insufficient data length",O.errors.BUFFER_OVERRUN,{length:e._data.length,count:r}));let n=[];for(let i=0;i>6===2;s++)o++;return o}return t===ar.OVERRUN?r.length-e-1:0}function wb(t,e,r,n,i){return t===ar.OVERLONG?(n.push(i),0):(n.push(65533),wy(t,e,r))}const xb=Object.freeze({error:yb,ignore:wy,replace:wb});function xy(t,e){e==null&&(e=xb.error),t=se(t);const r=[];let n=0;for(;n>7)){r.push(i);continue}let o=null,s=null;if((i&224)===192)o=1,s=127;else if((i&240)===224)o=2,s=2047;else if((i&248)===240)o=3,s=65535;else{(i&192)===128?n+=e(ar.UNEXPECTED_CONTINUE,n-1,t,r):n+=e(ar.BAD_PREFIX,n-1,t,r);continue}if(n-1+o>=t.length){n+=e(ar.OVERRUN,n-1,t,r);continue}let l=i&(1<<8-o-1)-1;for(let a=0;a1114111){n+=e(ar.OUT_OF_RANGE,n-1-o,t,r,l);continue}if(l>=55296&&l<=57343){n+=e(ar.UTF16_SURROGATE,n-1-o,t,r,l);continue}if(l<=s){n+=e(ar.OVERLONG,n-1-o,t,r,l);continue}r.push(l)}}return r}function mr(t,e=nl.current){e!=nl.current&&(yy.checkNormalize(),t=t.normalize(e));let r=[];for(let n=0;n>6|192),r.push(i&63|128);else if((i&64512)==55296){n++;const o=t.charCodeAt(n);if(n>=t.length||(o&64512)!==56320)throw new Error("invalid utf-8 string");const s=65536+((i&1023)<<10)+(o&1023);r.push(s>>18|240),r.push(s>>12&63|128),r.push(s>>6&63|128),r.push(s&63|128)}else r.push(i>>12|224),r.push(i>>6&63|128),r.push(i&63|128)}return se(r)}function Eb(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function xl(t,e){return Eb(xy(t,e))}function bb(t,e=nl.current){return xy(mr(t,e))}class Ab extends gy{constructor(e){super("string",e)}defaultValue(){return""}encode(e,r){return super.encode(e,mr(r))}decode(e){return xl(super.decode(e))}}class Hl extends Dn{constructor(e,r){let n=!1;const i=[];e.forEach(s=>{s.dynamic&&(n=!0),i.push(s.type)});const o="tuple("+i.join(",")+")";super("tuple",o,r,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});const r=this.coders.reduce((n,i)=>{const o=i.localName;return o&&(n[o]||(n[o]=0),n[o]++),n},{});return this.coders.forEach((n,i)=>{let o=n.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),e[o]==null&&(e[o]=e[i]))}),Object.freeze(e)}encode(e,r){return py(e,this.coders,r)}decode(e){return e.coerce(this.name,my(e,this.coders))}}const ql=new O(wl),_b=new RegExp(/^bytes([0-9]*)$/),Sb=new RegExp(/^(u?int)([0-9]*)$/);class kb{constructor(e){z(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new ib(e.name);case"bool":return new lb(e.name);case"string":return new Ab(e.name);case"bytes":return new ab(e.name);case"array":return new sb(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Hl((e.components||[]).map(n=>this._getCoder(n)),e.name);case"":return new cb(e.name)}let r=e.type.match(Sb);if(r){let n=parseInt(r[2]||"256");return(n===0||n>256||n%8!==0)&&ql.throwArgumentError("invalid "+r[1]+" bit length","param",e),new gb(n/8,r[1]==="int",e.name)}if(r=e.type.match(_b),r){let n=parseInt(r[1]);return(n===0||n>32)&&ql.throwArgumentError("invalid bytes length","param",e),new ub(n,e.name)}return ql.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,r){return new Xa(e,this._getWordSize(),this.coerceFunc,r)}_getWriter(){return new ld(this._getWordSize())}getDefaultValue(e){const r=e.map(i=>this._getCoder(kt.from(i)));return new Hl(r,"_").defaultValue()}encode(e,r){e.length!==r.length&&ql.throwError("types/values length mismatch",O.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});const n=e.map(s=>this._getCoder(kt.from(s))),i=new Hl(n,"_"),o=this._getWriter();return i.encode(o,r),o.data}decode(e,r,n){const i=e.map(s=>this._getCoder(kt.from(s)));return new Hl(i,"_").decode(this._getReader(se(r),n))}}const Nb=new kb;function ho(t){return ut(mr(t))}const Ey="hash/5.7.0";function by(t){t=atob(t);const e=[];for(let r=0;r0&&Array.isArray(l)?i(l,s-1):r.push(l)})};return i(t,e),r}function Pb(t){const e={};for(let r=0;r>--a&1}const d=31,m=Math.pow(2,d),g=m>>>1,v=g>>1,E=m-1;let N=0;for(let B=0;B1;){let Q=D+$>>>1;B>>1|c(),H=H<<1^g,Y=(Y^g)<<1|g|1;w=H,b=1+Y-H}let T=n-4;return x.map(B=>{switch(B-T){case 3:return T+65792+(t[l++]<<16|t[l++]<<8|t[l++]);case 2:return T+256+(t[l++]<<8|t[l++]);case 1:return T+t[l++];default:return B-1}})}function Mb(t){let e=0;return()=>t[e++]}function Ib(t){return Mb(Cb(t))}function Rb(t){return t&1?~t>>1:t>>1}function Tb(t,e){let r=Array(t);for(let n=0;ne[s]):r}function Lb(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(jb(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(Db(r,t))}return Pb(_y(e))}function Bb(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(r)}return e}function Sy(t,e,r){let n=Array(t).fill(void 0).map(()=>[]);for(let i=0;in[s].push(o));return n}function jb(t,e){let r=1+e(),n=e(),i=Bb(e),o=Sy(i.length,1+t,e);return _y(o.map((s,l)=>{const a=s[0],u=s.slice(1);return Array(i[l]).fill(void 0).map((c,d)=>{let m=d*n;return[a+d*r,u.map(g=>g+m)]})}))}function Db(t,e){let r=1+e();return Sy(r,1+t,e).map(i=>[i[0],i.slice(1)])}function Ub(t){let e=Za(t).sort((n,i)=>n-i);return r();function r(){let n=[];for(;;){let u=Za(t,e);if(u.length==0)break;n.push({set:new Set(u),node:r()})}n.sort((u,c)=>c.set.size-u.set.size);let i=t(),o=i%3;i=i/3|0;let s=!!(i&1);i>>=1;let l=i==1,a=i==2;return{branches:n,valid:o,fe0f:s,save:l,check:a}}}function Fb(){return Ib(by("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}const ju=Fb(),zb=new Set(Za(ju)),$b=new Set(Za(ju)),Hb=Lb(ju),qb=Ub(ju),Ep=45,bp=95;function ky(t){return bb(t)}function Wb(t){return t.filter(e=>e!=65039)}function Ny(t){for(let e of t.split(".")){let r=ky(e);try{for(let n=r.lastIndexOf(bp)-1;n>=0;n--)if(r[n]!==bp)throw new Error("underscore only allowed at start");if(r.length>=4&&r.every(n=>n<128)&&r[2]===Ep&&r[3]===Ep)throw new Error("invalid label extension")}catch(n){throw new Error(`Invalid label "${e}": ${n.message}`)}}return t}function Gb(t){return Ny(Vb(t,Wb))}function Vb(t,e){let r=ky(t).reverse(),n=[];for(;r.length;){let i=Qb(r);if(i){n.push(...e(i));continue}let o=r.pop();if(zb.has(o)){n.push(o);continue}if($b.has(o))continue;let s=Hb[o];if(s){n.push(...s);continue}throw new Error(`Disallowed codepoint: 0x${o.toString(16).toUpperCase()}`)}return Ny(Kb(String.fromCodePoint(...n)))}function Kb(t){return t.normalize("NFC")}function Qb(t,e){var r;let n=qb,i,o,s=[],l=t.length;for(e&&(e.length=0);l;){let a=t[--l];if(n=(r=n.branches.find(u=>u.set.has(a)))===null||r===void 0?void 0:r.node,!n)break;if(n.save)o=a;else if(n.check&&a===o)break;s.push(a),n.fe0f&&(s.push(65039),l>0&&t[l-1]==65039&&l--),n.valid&&(i=s.slice(),n.valid==2&&i.splice(1,1),e&&e.push(...t.slice(l).reverse()),t.length=l)}return i}const Jb=new O(Ey),Py=new Uint8Array(32);Py.fill(0);function Ap(t){if(t.length===0)throw new Error("invalid ENS name; empty component");return t}function Cy(t){const e=mr(Gb(t)),r=[];if(t.length===0)return r;let n=0;for(let i=0;i=e.length)throw new Error("invalid ENS name; empty component");return r.push(Ap(e.slice(n))),r}function ga(t){typeof t!="string"&&Jb.throwArgumentError("invalid ENS name; not a string","name",t);let e=Py;const r=Cy(t);for(;r.length;)e=ut(Ut([e,ut(r.pop())]));return re(e)}function Yb(t){return re(Ut(Cy(t).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r})))+"00"}var Xb=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const lt=new O(Ey),My=new Uint8Array(32);My.fill(0);const Zb=G.from(-1),Iy=G.from(0),Ry=G.from(1),eA=G.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function tA(t){const e=se(t),r=e.length%32;return r?Xt([e,My.slice(r)]):re(e)}const rA=pt(Ry.toHexString(),32),nA=pt(Iy.toHexString(),32),_p={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},$c=["name","version","chainId","verifyingContract","salt"];function Sp(t){return function(e){return typeof e!="string"&<.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const iA={name:Sp("name"),version:Sp("version"),chainId:function(t){try{return G.from(t).toString()}catch{}return lt.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return mt(t).toLowerCase()}catch{}return lt.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=se(t);if(e.length!==32)throw new Error("bad length");return re(e)}catch{}return lt.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function Hc(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=e[1]==="",n=parseInt(e[2]||"256");(n%8!==0||n>256||e[2]&&e[2]!==String(n))&<.throwArgumentError("invalid numeric width","type",t);const i=eA.mask(r?n-1:n),o=r?i.add(Ry).mul(Zb):Iy;return function(s){const l=G.from(s);return(l.lt(o)||l.gt(i))&<.throwArgumentError(`value out-of-bounds for ${t}`,"value",s),pt(l.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(r===0||r>32||e[1]!==String(r))&<.throwArgumentError("invalid bytes width","type",t),function(n){return se(n).length!==r&<.throwArgumentError(`invalid length for ${t}`,"value",n),tA(n)}}}switch(t){case"address":return function(e){return pt(mt(e),32)};case"bool":return function(e){return e?rA:nA};case"bytes":return function(e){return ut(e)};case"string":return function(e){return ho(e)}}return null}function kp(t,e){return`${t}(${e.map(({name:r,type:n})=>n+" "+r).join(",")})`}class sr{constructor(e){z(this,"types",Object.freeze(nr(e))),z(this,"_encoderCache",{}),z(this,"_types",{});const r={},n={},i={};Object.keys(e).forEach(l=>{r[l]={},n[l]=[],i[l]={}});for(const l in e){const a={};e[l].forEach(u=>{a[u.name]&<.throwArgumentError(`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(l)}`,"types",e),a[u.name]=!0;const c=u.type.match(/^([^\x5b]*)(\x5b|$)/)[1];c===l&<.throwArgumentError(`circular type reference to ${JSON.stringify(c)}`,"types",e),!Hc(c)&&(n[c]||lt.throwArgumentError(`unknown type ${JSON.stringify(c)}`,"types",e),n[c].push(l),r[l][c]=!0)})}const o=Object.keys(n).filter(l=>n[l].length===0);o.length===0?lt.throwArgumentError("missing primary type","types",e):o.length>1&<.throwArgumentError(`ambiguous primary types or unused types: ${o.map(l=>JSON.stringify(l)).join(", ")}`,"types",e),z(this,"primaryType",o[0]);function s(l,a){a[l]&<.throwArgumentError(`circular type reference to ${JSON.stringify(l)}`,"types",e),a[l]=!0,Object.keys(r[l]).forEach(u=>{n[u]&&(s(u,a),Object.keys(a).forEach(c=>{i[c][u]=!0}))}),delete a[l]}s(this.primaryType,{});for(const l in i){const a=Object.keys(i[l]);a.sort(),this._types[l]=kp(l,e[l])+a.map(u=>kp(u,e[u])).join("")}}getEncoder(e){let r=this._encoderCache[e];return r||(r=this._encoderCache[e]=this._getEncoder(e)),r}_getEncoder(e){{const i=Hc(e);if(i)return i}const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const i=r[1],o=this.getEncoder(i),s=parseInt(r[3]);return l=>{s>=0&&l.length!==s&<.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",l);let a=l.map(o);return this._types[i]&&(a=a.map(ut)),ut(Xt(a))}}const n=this.types[e];if(n){const i=ho(this._types[e]);return o=>{const s=n.map(({name:l,type:a})=>{const u=this.getEncoder(a)(o[l]);return this._types[a]?ut(u):u});return s.unshift(i),Xt(s)}}return lt.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const r=this._types[e];return r||lt.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),r}encodeData(e,r){return this.getEncoder(e)(r)}hashStruct(e,r){return ut(this.encodeData(e,r))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,r,n){if(Hc(e))return n(e,r);const i=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const s=i[1],l=parseInt(i[3]);return l>=0&&r.length!==l&<.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",r),r.map(a=>this._visit(s,a,n))}const o=this.types[e];return o?o.reduce((s,{name:l,type:a})=>(s[l]=this._visit(a,r[l],n),s),{}):lt.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,r){return this._visit(this.primaryType,e,r)}static from(e){return new sr(e)}static getPrimaryType(e){return sr.from(e).primaryType}static hashStruct(e,r,n){return sr.from(r).hashStruct(e,n)}static hashDomain(e){const r=[];for(const n in e){const i=_p[n];i||lt.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),r.push({name:n,type:i})}return r.sort((n,i)=>$c.indexOf(n.name)-$c.indexOf(i.name)),sr.hashStruct("EIP712Domain",{EIP712Domain:r},e)}static encode(e,r,n){return Xt(["0x1901",sr.hashDomain(e),sr.from(r).hash(n)])}static hash(e,r,n){return ut(sr.encode(e,r,n))}static resolveNames(e,r,n,i){return Xb(this,void 0,void 0,function*(){e=it(e);const o={};e.verifyingContract&&!pe(e.verifyingContract,20)&&(o[e.verifyingContract]="0x");const s=sr.from(r);s.visit(n,(l,a)=>(l==="address"&&!pe(a,20)&&(o[a]="0x"),a));for(const l in o)o[l]=yield i(l);return e.verifyingContract&&o[e.verifyingContract]&&(e.verifyingContract=o[e.verifyingContract]),n=s.visit(n,(l,a)=>l==="address"&&o[a]?o[a]:a),{domain:e,value:n}})}static getPayload(e,r,n){sr.hashDomain(e);const i={},o=[];$c.forEach(a=>{const u=e[a];u!=null&&(i[a]=iA[a](u),o.push({name:a,type:_p[a]}))});const s=sr.from(r),l=it(r);return l.EIP712Domain?lt.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):l.EIP712Domain=o,s.encode(n),{types:l,domain:i,primaryType:s.primaryType,message:s.visit(n,(a,u)=>{if(a.match(/^bytes(\d*)/))return re(se(u));if(a.match(/^u?int/))return G.from(u).toString();switch(a){case"address":return u.toLowerCase();case"bool":return!!u;case"string":return typeof u!="string"&<.throwArgumentError("invalid string","value",u),u}return lt.throwArgumentError("unsupported type","type",a)})}}}const st=new O(wl);class oA extends yl{}class sA extends yl{}class lA extends yl{}class ad extends yl{static isIndexed(e){return!!(e&&e._isIndexed)}}const aA={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function Np(t,e){const r=new Error(`deferred error during ABI decoding triggered accessing ${t}`);return r.error=e,r}class ud{constructor(e){let r=[];typeof e=="string"?r=JSON.parse(e):r=e,z(this,"fragments",r.map(n=>Nn.from(n)).filter(n=>n!=null)),z(this,"_abiCoder",fr(new.target,"getAbiCoder")()),z(this,"functions",{}),z(this,"errors",{}),z(this,"events",{}),z(this,"structs",{}),this.fragments.forEach(n=>{let i=null;switch(n.type){case"constructor":if(this.deploy){st.warn("duplicate definition - constructor");return}z(this,"deploy",n);return;case"function":i=this.functions;break;case"event":i=this.events;break;case"error":i=this.errors;break;default:return}let o=n.format();if(i[o]){st.warn("duplicate definition - "+o);return}i[o]=n}),this.deploy||z(this,"deploy",on.from({payable:!1,type:"constructor"})),z(this,"_isInterface",!0)}format(e){e||(e=Se.full),e===Se.sighash&&st.throwArgumentError("interface does not support formatting sighash","format",e);const r=this.fragments.map(n=>n.format(e));return e===Se.json?JSON.stringify(r.map(n=>JSON.parse(n))):r}static getAbiCoder(){return Nb}static getAddress(e){return mt(e)}static getSighash(e){return It(ho(e.format()),0,4)}static getEventTopic(e){return ho(e.format())}getFunction(e){if(pe(e)){for(const n in this.functions)if(e===this.getSighash(n))return this.functions[n];st.throwArgumentError("no matching function","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.functions).filter(o=>o.split("(")[0]===n);return i.length===0?st.throwArgumentError("no matching function","name",n):i.length>1&&st.throwArgumentError("multiple matching functions","name",n),this.functions[i[0]]}const r=this.functions[sn.fromString(e).format()];return r||st.throwArgumentError("no matching function","signature",e),r}getEvent(e){if(pe(e)){const n=e.toLowerCase();for(const i in this.events)if(n===this.getEventTopic(i))return this.events[i];st.throwArgumentError("no matching event","topichash",n)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.events).filter(o=>o.split("(")[0]===n);return i.length===0?st.throwArgumentError("no matching event","name",n):i.length>1&&st.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}const r=this.events[_n.fromString(e).format()];return r||st.throwArgumentError("no matching event","signature",e),r}getError(e){if(pe(e)){const n=fr(this.constructor,"getSighash");for(const i in this.errors){const o=this.errors[i];if(e===n(o))return this.errors[i]}st.throwArgumentError("no matching error","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.errors).filter(o=>o.split("(")[0]===n);return i.length===0?st.throwArgumentError("no matching error","name",n):i.length>1&&st.throwArgumentError("multiple matching errors","name",n),this.errors[i[0]]}const r=this.errors[sn.fromString(e).format()];return r||st.throwArgumentError("no matching error","signature",e),r}getSighash(e){if(typeof e=="string")try{e=this.getFunction(e)}catch(r){try{e=this.getError(e)}catch{throw r}}return fr(this.constructor,"getSighash")(e)}getEventTopic(e){return typeof e=="string"&&(e=this.getEvent(e)),fr(this.constructor,"getEventTopic")(e)}_decodeParams(e,r){return this._abiCoder.decode(e,r)}_encodeParams(e,r){return this._abiCoder.encode(e,r)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,r){typeof e=="string"&&(e=this.getError(e));const n=se(r);return re(n.slice(0,4))!==this.getSighash(e)&&st.throwArgumentError(`data signature does not match error ${e.name}.`,"data",re(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,r){return typeof e=="string"&&(e=this.getError(e)),re(Ut([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionData(e,r){typeof e=="string"&&(e=this.getFunction(e));const n=se(r);return re(n.slice(0,4))!==this.getSighash(e)&&st.throwArgumentError(`data signature does not match function ${e.name}.`,"data",re(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,r){return typeof e=="string"&&(e=this.getFunction(e)),re(Ut([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionResult(e,r){typeof e=="string"&&(e=this.getFunction(e));let n=se(r),i=null,o="",s=null,l=null,a=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch{}break;case 4:{const u=re(n.slice(0,4)),c=aA[u];if(c)s=this._abiCoder.decode(c.inputs,n.slice(4)),l=c.name,a=c.signature,c.reason&&(i=s[0]),l==="Error"?o=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(s[0])}`:l==="Panic"&&(o=`; VM Exception while processing transaction: reverted with panic code ${s[0]}`);else try{const d=this.getError(u);s=this._abiCoder.decode(d.inputs,n.slice(4)),l=d.name,a=d.format()}catch{}break}}return st.throwError("call revert exception"+o,O.errors.CALL_EXCEPTION,{method:e.format(),data:re(r),errorArgs:s,errorName:l,errorSignature:a,reason:i})}encodeFunctionResult(e,r){return typeof e=="string"&&(e=this.getFunction(e)),re(this._abiCoder.encode(e.outputs,r||[]))}encodeFilterTopics(e,r){typeof e=="string"&&(e=this.getEvent(e)),r.length>e.inputs.length&&st.throwError("too many arguments for "+e.format(),O.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:r});let n=[];e.anonymous||n.push(this.getEventTopic(e));const i=(o,s)=>o.type==="string"?ho(s):o.type==="bytes"?ut(re(s)):(o.type==="bool"&&typeof s=="boolean"&&(s=s?"0x01":"0x00"),o.type.match(/^u?int/)&&(s=G.from(s).toHexString()),o.type==="address"&&this._abiCoder.encode(["address"],[s]),pt(re(s),32));for(r.forEach((o,s)=>{let l=e.inputs[s];if(!l.indexed){o!=null&&st.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+l.name,o);return}o==null?n.push(null):l.baseType==="array"||l.baseType==="tuple"?st.throwArgumentError("filtering with tuples or arrays not supported","contract."+l.name,o):Array.isArray(o)?n.push(o.map(a=>i(l,a))):n.push(i(l,o))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,r){typeof e=="string"&&(e=this.getEvent(e));const n=[],i=[],o=[];return e.anonymous||n.push(this.getEventTopic(e)),r.length!==e.inputs.length&&st.throwArgumentError("event arguments/values mismatch","values",r),e.inputs.forEach((s,l)=>{const a=r[l];if(s.indexed)if(s.type==="string")n.push(ho(a));else if(s.type==="bytes")n.push(ut(a));else{if(s.baseType==="tuple"||s.baseType==="array")throw new Error("not implemented");n.push(this._abiCoder.encode([s.type],[a]))}else i.push(s),o.push(a)}),{data:this._abiCoder.encode(i,o),topics:n}}decodeEventLog(e,r,n){if(typeof e=="string"&&(e=this.getEvent(e)),n!=null&&!e.anonymous){let m=this.getEventTopic(e);(!pe(n[0],32)||n[0].toLowerCase()!==m)&&st.throwError("fragment/topic mismatch",O.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:m,value:n[0]}),n=n.slice(1)}let i=[],o=[],s=[];e.inputs.forEach((m,g)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(i.push(kt.fromObject({type:"bytes32",name:m.name})),s.push(!0)):(i.push(m),s.push(!1)):(o.push(m),s.push(!1))});let l=n!=null?this._abiCoder.decode(i,Ut(n)):null,a=this._abiCoder.decode(o,r,!0),u=[],c=0,d=0;e.inputs.forEach((m,g)=>{if(m.indexed)if(l==null)u[g]=new ad({_isIndexed:!0,hash:null});else if(s[g])u[g]=new ad({_isIndexed:!0,hash:l[d++]});else try{u[g]=l[d++]}catch(v){u[g]=v}else try{u[g]=a[c++]}catch(v){u[g]=v}if(m.name&&u[m.name]==null){const v=u[g];v instanceof Error?Object.defineProperty(u,m.name,{enumerable:!0,get:()=>{throw Np(`property ${JSON.stringify(m.name)}`,v)}}):u[m.name]=v}});for(let m=0;m{throw Np(`index ${m}`,g)}})}return Object.freeze(u)}parseTransaction(e){let r=this.getFunction(e.data.substring(0,10).toLowerCase());return r?new sA({args:this._abiCoder.decode(r.inputs,"0x"+e.data.substring(10)),functionFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r),value:G.from(e.value||"0")}):null}parseLog(e){let r=this.getEvent(e.topics[0]);return!r||r.anonymous?null:new oA({eventFragment:r,name:r.name,signature:r.format(),topic:this.getEventTopic(r),args:this.decodeEventLog(r,e.data,e.topics)})}parseError(e){const r=re(e);let n=this.getError(r.substring(0,10).toLowerCase());return n?new lA({args:this._abiCoder.decode(n.inputs,"0x"+r.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!!(e&&e._isInterface)}}const uA="abstract-provider/5.7.0";var cA=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const fA=new O(uA);class dA extends yl{static isForkEvent(e){return!!(e&&e._isForkEvent)}}class Wo{constructor(){fA.checkAbstract(new.target,Wo),z(this,"_isProvider",!0)}getFeeData(){return cA(this,void 0,void 0,function*(){const{block:e,gasPrice:r}=yield yt({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(s=>null)});let n=null,i=null,o=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,o=G.from("1500000000"),i=e.baseFeePerGas.mul(2).add(o)),{lastBaseFeePerGas:n,maxFeePerGas:i,maxPriorityFeePerGas:o,gasPrice:r}})}addListener(e,r){return this.on(e,r)}removeListener(e,r){return this.off(e,r)}static isProvider(e){return!!(e&&e._isProvider)}}const hA="abstract-signer/5.7.0";var Or=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const br=new O(hA),pA=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],mA=[O.errors.INSUFFICIENT_FUNDS,O.errors.NONCE_EXPIRED,O.errors.REPLACEMENT_UNDERPRICED];class El{constructor(){br.checkAbstract(new.target,El),z(this,"_isSigner",!0)}getBalance(e){return Or(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return Or(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return Or(this,void 0,void 0,function*(){this._checkProvider("estimateGas");const r=yield yt(this.checkTransaction(e));return yield this.provider.estimateGas(r)})}call(e,r){return Or(this,void 0,void 0,function*(){this._checkProvider("call");const n=yield yt(this.checkTransaction(e));return yield this.provider.call(n,r)})}sendTransaction(e){return Or(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");const r=yield this.populateTransaction(e),n=yield this.signTransaction(r);return yield this.provider.sendTransaction(n)})}getChainId(){return Or(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return Or(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return Or(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(e){return Or(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)})}checkTransaction(e){for(const n in e)pA.indexOf(n)===-1&&br.throwArgumentError("invalid transaction key: "+n,"transaction",e);const r=it(e);return r.from==null?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then(n=>(n[0].toLowerCase()!==n[1].toLowerCase()&&br.throwArgumentError("from address mismatch","transaction",e),n[0])),r}populateTransaction(e){return Or(this,void 0,void 0,function*(){const r=yield yt(this.checkTransaction(e));r.to!=null&&(r.to=Promise.resolve(r.to).then(i=>Or(this,void 0,void 0,function*(){if(i==null)return null;const o=yield this.resolveName(i);return o==null&&br.throwArgumentError("provided ENS name resolves to null","tx.to",i),o})),r.to.catch(i=>{}));const n=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||n)?br.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e):(r.type===0||r.type===1)&&n&&br.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1)r.gasPrice==null&&(r.gasPrice=this.getGasPrice());else{const i=yield this.getFeeData();if(r.type==null)if(i.maxFeePerGas!=null&&i.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const o=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=o,r.maxPriorityFeePerGas=o}else r.maxFeePerGas==null&&(r.maxFeePerGas=i.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=i.maxPriorityFeePerGas);else i.gasPrice!=null?(n&&br.throwError("network does not support EIP-1559",O.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=i.gasPrice),r.type=0):br.throwError("failed to get consistent fee data",O.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else r.type===2&&(r.maxFeePerGas==null&&(r.maxFeePerGas=i.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=i.maxPriorityFeePerGas))}return r.nonce==null&&(r.nonce=this.getTransactionCount("pending")),r.gasLimit==null&&(r.gasLimit=this.estimateGas(r).catch(i=>{if(mA.indexOf(i.code)>=0)throw i;return br.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:i,tx:r})})),r.chainId==null?r.chainId=this.getChainId():r.chainId=Promise.all([Promise.resolve(r.chainId),this.getChainId()]).then(i=>(i[1]!==0&&i[0]!==i[1]&&br.throwArgumentError("chainId address mismatch","transaction",e),i[0])),yield yt(r)})}_checkProvider(e){this.provider||br.throwError("missing provider",O.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!!(e&&e._isSigner)}}class Ph extends El{constructor(e,r){super(),z(this,"address",e),z(this,"provider",r||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,r){return Promise.resolve().then(()=>{br.throwError(e,O.errors.UNSUPPORTED_OPERATION,{operation:r})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,r,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new Ph(this.address,e)}}var Ty={},we={},bl=Oy;function Oy(t,e){if(!t)throw new Error(e||"Assertion failed")}Oy.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)};var cd={exports:{}};typeof Object.create=="function"?cd.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:cd.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}};var gA=cd.exports,vA=bl,yA=gA;we.inherits=yA;function wA(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function xA(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),i=0;i>6|192,r[n++]=o&63|128):wA(t,i)?(o=65536+((o&1023)<<10)+(t.charCodeAt(++i)&1023),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128)}else for(i=0;i>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}we.htonl=Ly;function bA(t,e){for(var r="",n=0;n>>0}return o}we.join32=AA;function _A(t,e){for(var r=new Array(t.length*4),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=o&255):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=o&255)}return r}we.split32=_A;function SA(t,e){return t>>>e|t<<32-e}we.rotr32=SA;function kA(t,e){return t<>>32-e}we.rotl32=kA;function NA(t,e){return t+e>>>0}we.sum32=NA;function PA(t,e,r){return t+e+r>>>0}we.sum32_3=PA;function CA(t,e,r,n){return t+e+r+n>>>0}we.sum32_4=CA;function MA(t,e,r,n,i){return t+e+r+n+i>>>0}we.sum32_5=MA;function IA(t,e,r,n){var i=t[e],o=t[e+1],s=n+o>>>0,l=(s>>0,t[e+1]=s}we.sum64=IA;function RA(t,e,r,n){var i=e+n>>>0,o=(i>>0}we.sum64_hi=RA;function TA(t,e,r,n){var i=e+n;return i>>>0}we.sum64_lo=TA;function OA(t,e,r,n,i,o,s,l){var a=0,u=e;u=u+n>>>0,a+=u>>0,a+=u>>0,a+=u>>0}we.sum64_4_hi=OA;function LA(t,e,r,n,i,o,s,l){var a=e+n+o+l;return a>>>0}we.sum64_4_lo=LA;function BA(t,e,r,n,i,o,s,l,a,u){var c=0,d=e;d=d+n>>>0,c+=d>>0,c+=d>>0,c+=d>>0,c+=d>>0}we.sum64_5_hi=BA;function jA(t,e,r,n,i,o,s,l,a,u){var c=e+n+o+l+u;return c>>>0}we.sum64_5_lo=jA;function DA(t,e,r){var n=e<<32-r|t>>>r;return n>>>0}we.rotr64_hi=DA;function UA(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}we.rotr64_lo=UA;function FA(t,e,r){return t>>>r}we.shr64_hi=FA;function zA(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}we.shr64_lo=zA;var Go={},Pp=we,$A=bl;function Du(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Go.BlockHash=Du;Du.prototype.update=function(e,r){if(e=Pp.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),this.pending.length===0&&(this.pending=null),e=Pp.join32(e,0,e.length-n,this.endian);for(var i=0;i>>24&255,i[o++]=e>>>16&255,i[o++]=e>>>8&255,i[o++]=e&255}else for(i[o++]=e&255,i[o++]=e>>>8&255,i[o++]=e>>>16&255,i[o++]=e>>>24&255,i[o++]=0,i[o++]=0,i[o++]=0,i[o++]=0,s=8;s>>3}mn.g0_256=VA;function KA(t){return un(t,17)^un(t,19)^t>>>10}mn.g1_256=KA;var Oo=we,QA=Go,JA=mn,qc=Oo.rotl32,os=Oo.sum32,YA=Oo.sum32_5,XA=JA.ft_1,zy=QA.BlockHash,ZA=[1518500249,1859775393,2400959708,3395469782];function dn(){if(!(this instanceof dn))return new dn;zy.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Oo.inherits(dn,zy);var e_=dn;dn.blockSize=512;dn.outSize=160;dn.hmacStrength=80;dn.padLength=64;dn.prototype._update=function(e,r){for(var n=this.W,i=0;i<16;i++)n[i]=e[r+i];for(;ithis.blockSize&&(e=new this.Hash().update(e).digest()),z_(e.length<=this.blockSize);for(var r=e.length;r>8,m=c&255;d?a.push(d,m):a.push(m)}return a}r.toArray=n;function i(s){return s.length===1?"0"+s:s}r.zero2=i;function o(s){for(var l="",a=0;a(m>>1)-1?E=(m>>1)-N:E=N,g.isubn(E)):E=0,d[v]=E,g.iushrn(1)}return d}r.getNAF=n;function i(a,u){var c=[[],[]];a=a.clone(),u=u.clone();for(var d=0,m=0,g;a.cmpn(-d)>0||u.cmpn(-m)>0;){var v=a.andln(3)+d&3,E=u.andln(3)+m&3;v===3&&(v=-1),E===3&&(E=-1);var N;v&1?(g=a.andln(7)+d&7,(g===3||g===5)&&E===2?N=-v:N=v):N=0,c[0].push(N);var x;E&1?(g=u.andln(7)+m&7,(g===3||g===5)&&v===2?x=-E:x=E):x=0,c[1].push(x),2*d===N+1&&(d=1-d),2*m===x+1&&(m=1-m),a.iushrn(1),u.iushrn(1)}return c}r.getJSF=i;function o(a,u,c){var d="_"+u;a.prototype[u]=function(){return this[d]!==void 0?this[d]:this[d]=c.call(this)}}r.cachedProperty=o;function s(a){return typeof a=="string"?r.toArray(a,"hex"):a}r.parseBytes=s;function l(a){return new ue(a,"hex","le")}r.intFromLE=l}),eu=yr.getNAF,q_=yr.getJSF,tu=yr.assert;function Ei(t,e){this.type=t,this.p=new ue(e.p,16),this.red=e.prime?ue.red(e.prime):ue.mont(this.p),this.zero=new ue(0).toRed(this.red),this.one=new ue(1).toRed(this.red),this.two=new ue(2).toRed(this.red),this.n=e.n&&new ue(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Hi=Ei;Ei.prototype.point=function(){throw new Error("Not implemented")};Ei.prototype.validate=function(){throw new Error("Not implemented")};Ei.prototype._fixedNafMul=function(e,r){tu(e.precomputed);var n=e._getDoubles(),i=eu(r,1,this._bitLength),o=(1<=l;u--)a=(a<<1)+i[u];s.push(a)}for(var c=this.jpoint(null,null,null),d=this.jpoint(null,null,null),m=o;m>0;m--){for(l=0;l=0;a--){for(var u=0;a>=0&&s[a]===0;a--)u++;if(a>=0&&u++,l=l.dblp(u),a<0)break;var c=s[a];tu(c!==0),e.type==="affine"?c>0?l=l.mixedAdd(o[c-1>>1]):l=l.mixedAdd(o[-c-1>>1].neg()):c>0?l=l.add(o[c-1>>1]):l=l.add(o[-c-1>>1].neg())}return e.type==="affine"?l.toP():l};Ei.prototype._wnafMulAdd=function(e,r,n,i,o){var s=this._wnafT1,l=this._wnafT2,a=this._wnafT3,u=0,c,d,m;for(c=0;c=1;c-=2){var v=c-1,E=c;if(s[v]!==1||s[E]!==1){a[v]=eu(n[v],s[v],this._bitLength),a[E]=eu(n[E],s[E],this._bitLength),u=Math.max(a[v].length,u),u=Math.max(a[E].length,u);continue}var N=[r[v],null,null,r[E]];r[v].y.cmp(r[E].y)===0?(N[1]=r[v].add(r[E]),N[2]=r[v].toJ().mixedAdd(r[E].neg())):r[v].y.cmp(r[E].y.redNeg())===0?(N[1]=r[v].toJ().mixedAdd(r[E]),N[2]=r[v].add(r[E].neg())):(N[1]=r[v].toJ().mixedAdd(r[E]),N[2]=r[v].toJ().mixedAdd(r[E].neg()));var x=[-3,-1,-5,-7,0,7,5,1,3],w=q_(n[v],n[E]);for(u=Math.max(w[0].length,u),a[v]=new Array(u),a[E]=new Array(u),d=0;d=0;c--){for(var $=0;c>=0;){var H=!0;for(d=0;d=0&&$++,B=B.dblp($),c<0)break;for(d=0;d0?m=l[d][Y-1>>1]:Y<0&&(m=l[d][-Y-1>>1].neg()),m.type==="affine"?B=B.mixedAdd(m):B=B.add(m))}}for(c=0;c=Math.ceil((e.bitLength()+1)/r.step):!1};Mr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],i=this,o=0;o=0&&(g=u,v=c),d.negative&&(d=d.neg(),m=m.neg()),g.negative&&(g=g.neg(),v=v.neg()),[{a:d,b:m},{a:g,b:v}]};Ir.prototype._endoSplit=function(e){var r=this.endo.basis,n=r[0],i=r[1],o=i.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),l=o.mul(n.a),a=s.mul(i.a),u=o.mul(n.b),c=s.mul(i.b),d=e.sub(l).sub(a),m=u.add(c).neg();return{k1:d,k2:m}};Ir.prototype.pointFromX=function(e,r){e=new ue(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(i.redSqr().redSub(n).cmp(this.zero)!==0)throw new Error("invalid point");var o=i.fromRed().isOdd();return(r&&!o||!r&&o)&&(i=i.redNeg()),this.point(e,i)};Ir.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,n=e.y,i=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(i).redIAdd(this.b);return n.redSqr().redISub(o).cmpn(0)===0};Ir.prototype._endoWnafMulAdd=function(e,r,n){for(var i=this._endoWnafT1,o=this._endoWnafT2,s=0;s":""};Pt.prototype.isInfinity=function(){return this.inf};Pt.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var n=r.redSqr().redISub(this.x).redISub(e.x),i=r.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,i)};Pt.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,n=this.x.redSqr(),i=e.redInvm(),o=n.redAdd(n).redIAdd(n).redIAdd(r).redMul(i),s=o.redSqr().redISub(this.x.redAdd(this.x)),l=o.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,l)};Pt.prototype.getX=function(){return this.x.fromRed()};Pt.prototype.getY=function(){return this.y.fromRed()};Pt.prototype.mul=function(e){return e=new ue(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};Pt.prototype.mulAdd=function(e,r,n){var i=[this,r],o=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,o):this.curve._wnafMulAdd(1,i,o,2)};Pt.prototype.jmulAdd=function(e,r,n){var i=[this,r],o=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,o,!0):this.curve._wnafMulAdd(1,i,o,2,!0)};Pt.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Pt.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,i=function(o){return o.neg()};r.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(i)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(i)}}}return r};Pt.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function Ot(t,e,r,n){Hi.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ue(0)):(this.x=new ue(e,16),this.y=new ue(r,16),this.z=new ue(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Mh(Ot,Hi.BasePoint);Ir.prototype.jpoint=function(e,r,n){return new Ot(this,e,r,n)};Ot.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),n=this.x.redMul(r),i=this.y.redMul(r).redMul(e);return this.curve.point(n,i)};Ot.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Ot.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),n=this.z.redSqr(),i=this.x.redMul(r),o=e.x.redMul(n),s=this.y.redMul(r.redMul(e.z)),l=e.y.redMul(n.redMul(this.z)),a=i.redSub(o),u=s.redSub(l);if(a.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),d=c.redMul(a),m=i.redMul(c),g=u.redSqr().redIAdd(d).redISub(m).redISub(m),v=u.redMul(m.redISub(g)).redISub(s.redMul(d)),E=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(g,v,E)};Ot.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),n=this.x,i=e.x.redMul(r),o=this.y,s=e.y.redMul(r).redMul(this.z),l=n.redSub(i),a=o.redSub(s);if(l.cmpn(0)===0)return a.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=l.redSqr(),c=u.redMul(l),d=n.redMul(u),m=a.redSqr().redIAdd(c).redISub(d).redISub(d),g=a.redMul(d.redISub(m)).redISub(o.redMul(c)),v=this.z.redMul(l);return this.curve.jpoint(m,g,v)};Ot.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var n=this;for(r=0;r=0)return!1;if(n.redIAdd(o),this.x.cmp(n)===0)return!0}};Ot.prototype.inspect=function(){return this.isInfinity()?"":""};Ot.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var va=Qo(function(t,e){var r=e;r.base=Hi,r.short=G_,r.mont=null,r.edwards=null}),ya=Qo(function(t,e){var r=e,n=yr.assert;function i(l){l.type==="short"?this.curve=new va.short(l):l.type==="edwards"?this.curve=new va.edwards(l):this.curve=new va.mont(l),this.g=this.curve.g,this.n=this.curve.n,this.hash=l.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=i;function o(l,a){Object.defineProperty(r,l,{configurable:!0,enumerable:!0,get:function(){var u=new i(a);return Object.defineProperty(r,l,{configurable:!0,enumerable:!0,value:u}),u}})}o("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:en.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),o("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:en.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),o("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:en.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),o("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:en.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),o("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:en.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),o("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:!1,g:["9"]}),o("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var s;try{s=null.crash()}catch{s=void 0}o("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:en.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",s]})});function gi(t){if(!(this instanceof gi))return new gi(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Hr.toArray(t.entropy,t.entropyEnc||"hex"),r=Hr.toArray(t.nonce,t.nonceEnc||"hex"),n=Hr.toArray(t.pers,t.persEnc||"hex");Ch(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Zy=gi;gi.prototype._init=function(e,r,n){var i=e.concat(r).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1};gi.prototype.generate=function(e,r,n,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(i=n,n=r,r=null),n&&(n=Hr.toArray(n,i||"hex"),this._update(n));for(var o=[];o.length"};var V_=yr.assert;function Uu(t,e){if(t instanceof Uu)return t;this._importDER(t,e)||(V_(t.r&&t.s,"Signature without r or s"),this.r=new ue(t.r,16),this.s=new ue(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Fu=Uu;function K_(){this.place=0}function Vc(t,e){var r=t[e.place++];if(!(r&128))return r;var n=r&15;if(n===0||n>4)return!1;for(var i=0,o=0,s=e.place;o>>=0;return i<=127?!1:(e.place=s,i)}function Rp(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Uu.prototype.toDER=function(e){var r=this.r.toArray(),n=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),n[0]&128&&(n=[0].concat(n)),r=Rp(r),n=Rp(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var i=[2];Kc(i,r.length),i=i.concat(r),i.push(2),Kc(i,n.length);var o=i.concat(n),s=[48];return Kc(s,o.length),s=s.concat(o),yr.encode(s,e)};var Q_=function(){throw new Error("unsupported")},e1=yr.assert;function Cr(t){if(!(this instanceof Cr))return new Cr(t);typeof t=="string"&&(e1(Object.prototype.hasOwnProperty.call(ya,t),"Unknown curve "+t),t=ya[t]),t instanceof ya.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var J_=Cr;Cr.prototype.keyPair=function(e){return new Ih(this,e)};Cr.prototype.keyFromPrivate=function(e,r){return Ih.fromPrivate(this,e,r)};Cr.prototype.keyFromPublic=function(e,r){return Ih.fromPublic(this,e,r)};Cr.prototype.genKeyPair=function(e){e||(e={});for(var r=new Zy({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Q_(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new ue(2));;){var o=new ue(r.generate(n));if(!(o.cmp(i)>0))return o.iaddn(1),this.keyFromPrivate(o)}};Cr.prototype._truncateToN=function(e,r){var n=e.byteLength()*8-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e};Cr.prototype.sign=function(e,r,n,i){typeof n=="object"&&(i=n,n=null),i||(i={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new ue(e,16));for(var o=this.n.byteLength(),s=r.getPrivate().toArray("be",o),l=e.toArray("be",o),a=new Zy({hash:this.hash,entropy:s,nonce:l,pers:i.pers,persEnc:i.persEnc||"utf8"}),u=this.n.sub(new ue(1)),c=0;;c++){var d=i.k?i.k(c):new ue(a.generate(this.n.byteLength()));if(d=this._truncateToN(d,!0),!(d.cmpn(1)<=0||d.cmp(u)>=0)){var m=this.g.mul(d);if(!m.isInfinity()){var g=m.getX(),v=g.umod(this.n);if(v.cmpn(0)!==0){var E=d.invm(this.n).mul(v.mul(r.getPrivate()).iadd(e));if(E=E.umod(this.n),E.cmpn(0)!==0){var N=(m.getY().isOdd()?1:0)|(g.cmp(v)!==0?2:0);return i.canonical&&E.cmp(this.nh)>0&&(E=this.n.sub(E),N^=1),new Fu({r:v,s:E,recoveryParam:N})}}}}}};Cr.prototype.verify=function(e,r,n,i){e=this._truncateToN(new ue(e,16)),n=this.keyFromPublic(n,i),r=new Fu(r,"hex");var o=r.r,s=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var l=s.invm(this.n),a=l.mul(e).umod(this.n),u=l.mul(o).umod(this.n),c;return this.curve._maxwellTrick?(c=this.g.jmulAdd(a,n.getPublic(),u),c.isInfinity()?!1:c.eqXToP(o)):(c=this.g.mulAdd(a,n.getPublic(),u),c.isInfinity()?!1:c.getX().umod(this.n).cmp(o)===0)};Cr.prototype.recoverPubKey=function(t,e,r,n){e1((3&r)===r,"The recovery param is more than two bits"),e=new Fu(e,n);var i=this.n,o=new ue(t),s=e.r,l=e.s,a=r&1,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?s=this.curve.pointFromX(s.add(this.curve.n),a):s=this.curve.pointFromX(s,a);var c=e.r.invm(i),d=i.sub(o).mul(c).umod(i),m=l.mul(c).umod(i);return this.g.mulAdd(d,s,m)};Cr.prototype.getKeyRecoveryParam=function(t,e,r,n){if(e=new Fu(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch{continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var Y_=Qo(function(t,e){var r=e;r.version="6.5.4",r.utils=yr,r.rand=function(){throw new Error("unsupported")},r.curve=va,r.curves=ya,r.ec=J_,r.eddsa=null}),X_=Y_.ec;const Z_="signing-key/5.7.0",pd=new O(Z_);let Qc=null;function rn(){return Qc||(Qc=new X_("secp256k1")),Qc}class e3{constructor(e){z(this,"curve","secp256k1"),z(this,"privateKey",re(e)),On(this.privateKey)!==32&&pd.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const r=rn().keyFromPrivate(se(this.privateKey));z(this,"publicKey","0x"+r.getPublic(!1,"hex")),z(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),z(this,"_isSigningKey",!0)}_addPoint(e){const r=rn().keyFromPublic(se(this.publicKey)),n=rn().keyFromPublic(se(e));return"0x"+r.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const r=rn().keyFromPrivate(se(this.privateKey)),n=se(e);n.length!==32&&pd.throwArgumentError("bad digest length","digest",e);const i=r.sign(n,{canonical:!0});return Lu({recoveryParam:i.recoveryParam,r:pt("0x"+i.r.toString(16),32),s:pt("0x"+i.s.toString(16),32)})}computeSharedSecret(e){const r=rn().keyFromPrivate(se(this.privateKey)),n=rn().keyFromPublic(se(t1(e)));return pt("0x"+r.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function t3(t,e){const r=Lu(e),n={r:se(r.r),s:se(r.s)};return"0x"+rn().recoverPubKey(se(t),n,r.recoveryParam).encode("hex",!1)}function t1(t,e){const r=se(t);if(r.length===32){const n=new e3(r);return e?"0x"+rn().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}else{if(r.length===33)return e?re(r):"0x"+rn().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+rn().keyFromPublic(r).getPublic(!0,"hex"):re(r)}return pd.throwArgumentError("invalid public or private key","key","[REDACTED]")}const r3="transactions/5.7.0",Un=new O(r3);var Tp;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(Tp||(Tp={}));function Rh(t){return t==="0x"?null:mt(t)}function Dt(t){return t==="0x"?vy:G.from(t)}function n3(t){const e=t1(t);return mt(It(ut(It(e,1)),12))}function r1(t,e){return n3(t3(se(t),e))}function ur(t,e){const r=To(G.from(t).toHexString());return r.length>32&&Un.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function Jc(t,e){return{address:mt(t),storageKeys:(e||[]).map((r,n)=>(On(r)!==32&&Un.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,r),r.toLowerCase()))}}function qi(t){if(Array.isArray(t))return t.map((r,n)=>Array.isArray(r)?(r.length>2&&Un.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${n}]`,r),Jc(r[0],r[1])):Jc(r.address,r.storageKeys));const e=Object.keys(t).map(r=>{const n=t[r].reduce((i,o)=>(i[o]=!0,i),{});return Jc(r,Object.keys(n).sort())});return e.sort((r,n)=>r.address.localeCompare(n.address)),e}function n1(t){return qi(t).map(e=>[e.address,e.storageKeys])}function i3(t,e){if(t.gasPrice!=null){const n=G.from(t.gasPrice),i=G.from(t.maxFeePerGas||0);n.eq(i)||Un.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:n,maxFeePerGas:i})}const r=[ur(t.chainId||0,"chainId"),ur(t.nonce||0,"nonce"),ur(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),ur(t.maxFeePerGas||0,"maxFeePerGas"),ur(t.gasLimit||0,"gasLimit"),t.to!=null?mt(t.to):"0x",ur(t.value||0,"value"),t.data||"0x",n1(t.accessList||[])];if(e){const n=Lu(e);r.push(ur(n.recoveryParam,"recoveryParam")),r.push(To(n.r)),r.push(To(n.s))}return Xt(["0x02",Bu(r)])}function o3(t,e){const r=[ur(t.chainId||0,"chainId"),ur(t.nonce||0,"nonce"),ur(t.gasPrice||0,"gasPrice"),ur(t.gasLimit||0,"gasLimit"),t.to!=null?mt(t.to):"0x",ur(t.value||0,"value"),t.data||"0x",n1(t.accessList||[])];if(e){const n=Lu(e);r.push(ur(n.recoveryParam,"recoveryParam")),r.push(To(n.r)),r.push(To(n.s))}return Xt(["0x01",Bu(r)])}function i1(t,e,r){try{const n=Dt(e[0]).toNumber();if(n!==0&&n!==1)throw new Error("bad recid");t.v=n}catch{Un.throwArgumentError("invalid v for transaction type: 1","v",e[0])}t.r=pt(e[1],32),t.s=pt(e[2],32);try{const n=ut(r(t));t.from=r1(n,{r:t.r,s:t.s,recoveryParam:t.v})}catch{}}function s3(t){const e=Sh(t.slice(1));e.length!==9&&e.length!==12&&Un.throwArgumentError("invalid component count for transaction type: 2","payload",re(t));const r=Dt(e[2]),n=Dt(e[3]),i={type:2,chainId:Dt(e[0]).toNumber(),nonce:Dt(e[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:Dt(e[4]),to:Rh(e[5]),value:Dt(e[6]),data:e[7],accessList:qi(e[8])};return e.length===9||(i.hash=ut(t),i1(i,e.slice(9),i3)),i}function l3(t){const e=Sh(t.slice(1));e.length!==8&&e.length!==11&&Un.throwArgumentError("invalid component count for transaction type: 1","payload",re(t));const r={type:1,chainId:Dt(e[0]).toNumber(),nonce:Dt(e[1]).toNumber(),gasPrice:Dt(e[2]),gasLimit:Dt(e[3]),to:Rh(e[4]),value:Dt(e[5]),data:e[6],accessList:qi(e[7])};return e.length===8||(r.hash=ut(t),i1(r,e.slice(8),o3)),r}function a3(t){const e=Sh(t);e.length!==9&&e.length!==6&&Un.throwArgumentError("invalid raw transaction","rawTransaction",t);const r={nonce:Dt(e[0]).toNumber(),gasPrice:Dt(e[1]),gasLimit:Dt(e[2]),to:Rh(e[3]),value:Dt(e[4]),data:e[5],chainId:0};if(e.length===6)return r;try{r.v=G.from(e[6]).toNumber()}catch{return r}if(r.r=pt(e[7],32),r.s=pt(e[8],32),G.from(r.r).isZero()&&G.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=e.slice(0,6);r.chainId!==0&&(i.push(re(r.chainId)),i.push("0x"),i.push("0x"),n-=r.chainId*2+8);const o=ut(Bu(i));try{r.from=r1(o,{r:re(r.r),s:re(r.s),recoveryParam:n})}catch{}r.hash=ut(t)}return r.type=null,r}function u3(t){const e=se(t);if(e[0]>127)return a3(e);switch(e[0]){case 1:return l3(e);case 2:return s3(e)}return Un.throwError(`unsupported transaction type: ${e[0]}`,O.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}const c3="contracts/5.7.0";var Ui=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const gt=new O(c3);function ru(t,e){return Ui(this,void 0,void 0,function*(){const r=yield e;typeof r!="string"&>.throwArgumentError("invalid address or ENS name","name",r);try{return mt(r)}catch{}t||gt.throwError("a provider or signer is needed to resolve ENS names",O.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const n=yield t.resolveName(r);return n==null&>.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n})}function wa(t,e,r){return Ui(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((n,i)=>wa(t,Array.isArray(e)?e[i]:e[n.name],n))):r.type==="address"?yield ru(t,e):r.type==="tuple"?yield wa(t,e,r.components):r.baseType==="array"?Array.isArray(e)?yield Promise.all(e.map(n=>wa(t,n,r.arrayChildren))):Promise.reject(gt.makeError("invalid value for array",O.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e})}function zu(t,e,r){return Ui(this,void 0,void 0,function*(){let n={};r.length===e.inputs.length+1&&typeof r[r.length-1]=="object"&&(n=it(r.pop())),gt.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=yt({override:ru(t.signer,n.from),signer:t.signer.getAddress()}).then(u=>Ui(this,void 0,void 0,function*(){return mt(u.signer)!==u.override&>.throwError("Contract with a Signer cannot override from",O.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),u.override})):n.from=t.signer.getAddress():n.from&&(n.from=ru(t.provider,n.from));const i=yield yt({args:wa(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:yt(n)||{}}),o=t.interface.encodeFunctionData(e,i.args),s={data:o,to:i.address},l=i.overrides;if(l.nonce!=null&&(s.nonce=G.from(l.nonce).toNumber()),l.gasLimit!=null&&(s.gasLimit=G.from(l.gasLimit)),l.gasPrice!=null&&(s.gasPrice=G.from(l.gasPrice)),l.maxFeePerGas!=null&&(s.maxFeePerGas=G.from(l.maxFeePerGas)),l.maxPriorityFeePerGas!=null&&(s.maxPriorityFeePerGas=G.from(l.maxPriorityFeePerGas)),l.from!=null&&(s.from=l.from),l.type!=null&&(s.type=l.type),l.accessList!=null&&(s.accessList=qi(l.accessList)),s.gasLimit==null&&e.gas!=null){let u=21e3;const c=se(o);for(let d=0;dn[u]!=null);return a.length&>.throwError(`cannot override ${a.map(u=>JSON.stringify(u)).join(",")}`,O.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:a}),s})}function f3(t,e){return function(...r){return zu(t,e,r)}}function d3(t,e){const r=t.signer||t.provider;return function(...n){return Ui(this,void 0,void 0,function*(){r||gt.throwError("estimate require a provider or signer",O.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield zu(t,e,n);return yield r.estimateGas(i)})}}function h3(t,e){const r=e.wait.bind(e);e.wait=n=>r(n).then(i=>(i.events=i.logs.map(o=>{let s=nr(o),l=null;try{l=t.interface.parseLog(o)}catch{}return l&&(s.args=l.args,s.decode=(a,u)=>t.interface.decodeEventLog(l.eventFragment,a,u),s.event=l.name,s.eventSignature=l.signature),s.removeListener=()=>t.provider,s.getBlock=()=>t.provider.getBlock(i.blockHash),s.getTransaction=()=>t.provider.getTransaction(i.transactionHash),s.getTransactionReceipt=()=>Promise.resolve(i),s}),i))}function o1(t,e,r){const n=t.signer||t.provider;return function(...i){return Ui(this,void 0,void 0,function*(){let o;if(i.length===e.inputs.length+1&&typeof i[i.length-1]=="object"){const a=it(i.pop());a.blockTag!=null&&(o=yield a.blockTag),delete a.blockTag,i.push(a)}t.deployTransaction!=null&&(yield t._deployed(o));const s=yield zu(t,e,i),l=yield n.call(s,o);try{let a=t.interface.decodeFunctionResult(e,l);return r&&e.outputs.length===1&&(a=a[0]),a}catch(a){throw a.code===O.errors.CALL_EXCEPTION&&(a.address=t.address,a.args=i,a.transaction=s),a}})}}function p3(t,e){return function(...r){return Ui(this,void 0,void 0,function*(){t.signer||gt.throwError("sending a transaction requires a signer",O.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),t.deployTransaction!=null&&(yield t._deployed());const n=yield zu(t,e,r),i=yield t.signer.sendTransaction(n);return h3(t,i),i})}}function Op(t,e,r){return e.constant?o1(t,e,r):p3(t,e)}function s1(t){return t.address&&(t.topics==null||t.topics.length===0)?"*":(t.address||"*")+"@"+(t.topics?t.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):"")}class il{constructor(e,r){z(this,"tag",e),z(this,"filter",r),this._listeners=[]}addListener(e,r){this._listeners.push({listener:e,once:r})}removeListener(e){let r=!1;this._listeners=this._listeners.filter(n=>r||n.listener!==e?!0:(r=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const r=this.listenerCount();return this._listeners=this._listeners.filter(n=>{const i=e.slice();return setTimeout(()=>{n.listener.apply(this,i)},0),!n.once}),r}prepareEvent(e){}getEmit(e){return[e]}}class m3 extends il{constructor(){super("error",null)}}class Lp extends il{constructor(e,r,n,i){const o={address:e};let s=r.getEventTopic(n);i?(s!==i[0]&>.throwArgumentError("topic mismatch","topics",i),o.topics=i.slice()):o.topics=[s],super(s1(o),o),z(this,"address",e),z(this,"interface",r),z(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(r,n)=>this.interface.decodeEventLog(this.fragment,r,n);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(r){e.args=null,e.decodeError=r}}getEmit(e){const r=VE(e.args);if(r.length)throw r[0].error;const n=(e.args||[]).slice();return n.push(e),n}}class Bp extends il{constructor(e,r){super("*",{address:e}),z(this,"address",e),z(this,"interface",r)}prepareEvent(e){super.prepareEvent(e);try{const r=this.interface.parseLog(e);e.event=r.name,e.eventSignature=r.signature,e.decode=(n,i)=>this.interface.decodeEventLog(r.eventFragment,n,i),e.args=r.args}catch{}}}class g3{constructor(e,r,n){z(this,"interface",fr(new.target,"getInterface")(r)),n==null?(z(this,"provider",null),z(this,"signer",null)):El.isSigner(n)?(z(this,"provider",n.provider||null),z(this,"signer",n)):Wo.isProvider(n)?(z(this,"provider",n),z(this,"signer",null)):gt.throwArgumentError("invalid signer or provider","signerOrProvider",n),z(this,"callStatic",{}),z(this,"estimateGas",{}),z(this,"functions",{}),z(this,"populateTransaction",{}),z(this,"filters",{});{const s={};Object.keys(this.interface.events).forEach(l=>{const a=this.interface.events[l];z(this.filters,l,(...u)=>({address:this.address,topics:this.interface.encodeFilterTopics(a,u)})),s[a.name]||(s[a.name]=[]),s[a.name].push(l)}),Object.keys(s).forEach(l=>{const a=s[l];a.length===1?z(this.filters,l,this.filters[a[0]]):gt.warn(`Duplicate definition of ${l} (${a.join(", ")})`)})}if(z(this,"_runningEvents",{}),z(this,"_wrappedEmits",{}),e==null&>.throwArgumentError("invalid contract address or ENS name","addressOrName",e),z(this,"address",e),this.provider)z(this,"resolvedAddress",ru(this.provider,e));else try{z(this,"resolvedAddress",Promise.resolve(mt(e)))}catch{gt.throwError("provider is required to use ENS name as contract address",O.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(s=>{});const i={},o={};Object.keys(this.interface.functions).forEach(s=>{const l=this.interface.functions[s];if(o[s]){gt.warn(`Duplicate ABI entry for ${JSON.stringify(s)}`);return}o[s]=!0;{const a=l.name;i[`%${a}`]||(i[`%${a}`]=[]),i[`%${a}`].push(s)}this[s]==null&&z(this,s,Op(this,l,!0)),this.functions[s]==null&&z(this.functions,s,Op(this,l,!1)),this.callStatic[s]==null&&z(this.callStatic,s,o1(this,l,!0)),this.populateTransaction[s]==null&&z(this.populateTransaction,s,f3(this,l)),this.estimateGas[s]==null&&z(this.estimateGas,s,d3(this,l))}),Object.keys(i).forEach(s=>{const l=i[s];if(l.length>1)return;s=s.substring(1);const a=l[0];try{this[s]==null&&z(this,s,this[a])}catch{}this.functions[s]==null&&z(this.functions,s,this.functions[a]),this.callStatic[s]==null&&z(this.callStatic,s,this.callStatic[a]),this.populateTransaction[s]==null&&z(this.populateTransaction,s,this.populateTransaction[a]),this.estimateGas[s]==null&&z(this.estimateGas,s,this.estimateGas[a])})}static getContractAddress(e){return Nh(e)}static getInterface(e){return ud.isInterface(e)?e:new ud(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(r=>(r==="0x"&>.throwError("contract not deployed",O.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||gt.throwError("sending a transactions require a signer",O.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const r=it(e||{});return["from","to"].forEach(function(n){r[n]!=null&>.throwError("cannot override "+n,O.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(r))}connect(e){typeof e=="string"&&(e=new Ph(e,this.provider));const r=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&z(r,"deployTransaction",this.deployTransaction),r}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return ad.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if(typeof e=="string"){if(e==="error")return this._normalizeRunningEvent(new m3);if(e==="event")return this._normalizeRunningEvent(new il("event",null));if(e==="*")return this._normalizeRunningEvent(new Bp(this.address,this.interface));const r=this.interface.getEvent(e);return this._normalizeRunningEvent(new Lp(this.address,this.interface,r))}if(e.topics&&e.topics.length>0){try{const n=e.topics[0];if(typeof n!="string")throw new Error("invalid topic");const i=this.interface.getEvent(n);return this._normalizeRunningEvent(new Lp(this.address,this.interface,i,e.topics))}catch{}const r={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new il(s1(r),r))}return this._normalizeRunningEvent(new Bp(this.address,this.interface))}_checkRunningEvents(e){if(e.listenerCount()===0){delete this._runningEvents[e.tag];const r=this._wrappedEmits[e.tag];r&&e.filter&&(this.provider.off(e.filter,r),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,r,n){const i=nr(r);return i.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},i.getBlock=()=>this.provider.getBlock(r.blockHash),i.getTransaction=()=>this.provider.getTransaction(r.transactionHash),i.getTransactionReceipt=()=>this.provider.getTransactionReceipt(r.transactionHash),e.prepareEvent(i),i}_addEventListener(e,r,n){if(this.provider||gt.throwError("events require a provider or a signer with a provider",O.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(r,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const i=o=>{let s=this._wrapEvent(e,o,r);if(s.decodeError==null)try{const l=e.getEmit(s);this.emit(e.filter,...l)}catch(l){s.decodeError=l.error}e.filter!=null&&this.emit("event",s),s.decodeError!=null&&this.emit("error",s.decodeError,s)};this._wrappedEmits[e.tag]=i,e.filter!=null&&this.provider.on(e.filter,i)}}queryFilter(e,r,n){const i=this._getRunningEvent(e),o=it(i.filter);return typeof r=="string"&&pe(r,32)?(n!=null&>.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),o.blockHash=r):(o.fromBlock=r??0,o.toBlock=n??"latest"),this.provider.getLogs(o).then(s=>s.map(l=>this._wrapEvent(i,l,null)))}on(e,r){return this._addEventListener(this._getRunningEvent(e),r,!1),this}once(e,r){return this._addEventListener(this._getRunningEvent(e),r,!0),this}emit(e,...r){if(!this.provider)return!1;const n=this._getRunningEvent(e),i=n.run(r)>0;return this._checkRunningEvents(n),i}listenerCount(e){return this.provider?e==null?Object.keys(this._runningEvents).reduce((r,n)=>r+this._runningEvents[n].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(e==null){const r=[];for(let n in this._runningEvents)this._runningEvents[n].listeners().forEach(i=>{r.push(i)});return r}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(e==null){for(const n in this._runningEvents){const i=this._runningEvents[n];i.removeAllListeners(),this._checkRunningEvents(i)}return this}const r=this._getRunningEvent(e);return r.removeAllListeners(),this._checkRunningEvents(r),this}off(e,r){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(r),this._checkRunningEvents(n),this}removeListener(e,r){return this.off(e,r)}}class v3 extends g3{}class l1{constructor(e){z(this,"alphabet",e),z(this,"base",e.length),z(this,"_alphabetMap",{}),z(this,"_leader",e.charAt(0));for(let r=0;r0;)n.push(s%this.base),s=s/this.base|0}let i="";for(let o=0;r[o]===0&&o=0;--o)i+=this.alphabet[n[o]];return i}decode(e){if(typeof e!="string")throw new TypeError("Expected String");let r=[];if(e.length===0)return new Uint8Array(r);r.push(0);for(let n=0;n>=8;for(;o>0;)r.push(o&255),o>>=8}for(let n=0;e[n]===this._leader&&n0;e--){const r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}const w3="networks/5.7.1",Dp=new O(w3);function x3(t){return t&&typeof t.renetwork=="function"}function An(t){const e=function(r,n){n==null&&(n={});const i=[];if(r.InfuraProvider&&n.infura!=="-")try{i.push(new r.InfuraProvider(t,n.infura))}catch{}if(r.EtherscanProvider&&n.etherscan!=="-")try{i.push(new r.EtherscanProvider(t,n.etherscan))}catch{}if(r.AlchemyProvider&&n.alchemy!=="-")try{i.push(new r.AlchemyProvider(t,n.alchemy))}catch{}if(r.PocketProvider&&n.pocket!=="-"){const o=["goerli","ropsten","rinkeby","sepolia"];try{const s=new r.PocketProvider(t,n.pocket);s.network&&o.indexOf(s.network.name)===-1&&i.push(s)}catch{}}if(r.CloudflareProvider&&n.cloudflare!=="-")try{i.push(new r.CloudflareProvider(t))}catch{}if(r.AnkrProvider&&n.ankr!=="-")try{const o=["ropsten"],s=new r.AnkrProvider(t,n.ankr);s.network&&o.indexOf(s.network.name)===-1&&i.push(s)}catch{}if(i.length===0)return null;if(r.FallbackProvider){let o=1;return n.quorum!=null?o=n.quorum:t==="homestead"&&(o=2),new r.FallbackProvider(i,o)}return i[0]};return e.renetwork=function(r){return An(r)},e}function nu(t,e){const r=function(n,i){return n.JsonRpcProvider?new n.JsonRpcProvider(t,e):null};return r.renetwork=function(n){return nu(t,n)},r}const Up={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:An("homestead")},Fp={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:An("ropsten")},zp={chainId:63,name:"classicMordor",_defaultProvider:nu("https://www.ethercluster.com/mordor","classicMordor")},Gl={unspecified:{chainId:0,name:"unspecified"},homestead:Up,mainnet:Up,morden:{chainId:2,name:"morden"},ropsten:Fp,testnet:Fp,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:An("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:An("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:An("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:An("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:nu("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:zp,classicTestnet:zp,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:nu("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:An("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:An("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function Th(t){if(t==null)return null;if(typeof t=="number"){for(const n in Gl){const i=Gl[n];if(i.chainId===t)return{name:i.name,chainId:i.chainId,ensAddress:i.ensAddress||null,_defaultProvider:i._defaultProvider||null}}return{chainId:t,name:"unknown"}}if(typeof t=="string"){const n=Gl[t];return n==null?null:{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress,_defaultProvider:n._defaultProvider||null}}const e=Gl[t.name];if(!e)return typeof t.chainId!="number"&&Dp.throwArgumentError("invalid network chainId","network",t),t;t.chainId!==0&&t.chainId!==e.chainId&&Dp.throwArgumentError("network chainId mismatch","network",t);let r=t._defaultProvider||null;return r==null&&e._defaultProvider&&(x3(e._defaultProvider)?r=e._defaultProvider.renetwork(t):r=e._defaultProvider),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:r}}const E3="web/5.7.1";var b3=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};function A3(t,e){return b3(this,void 0,void 0,function*(){e==null&&(e={});const r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};if(e.skipFetchSetup!==!0&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),e.fetchOptions!=null){const s=e.fetchOptions;s.mode&&(r.mode=s.mode),s.cache&&(r.cache=s.cache),s.credentials&&(r.credentials=s.credentials),s.redirect&&(r.redirect=s.redirect),s.referrer&&(r.referrer=s.referrer)}const n=yield fetch(t,r),i=yield n.arrayBuffer(),o={};return n.headers.forEach?n.headers.forEach((s,l)=>{o[l.toLowerCase()]=s}):n.headers.keys().forEach(s=>{o[s.toLowerCase()]=n.headers.get(s)}),{headers:o,statusCode:n.status,statusMessage:n.statusText,body:se(new Uint8Array(i))}})}var _3=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const Br=new O(E3);function $p(t){return new Promise(e=>{setTimeout(e,t)})}function Qn(t,e){if(t==null)return null;if(typeof t=="string")return t;if(Ah(t)){if(e&&(e.split("/")[0]==="text"||e.split(";")[0].trim()==="application/json"))try{return xl(t)}catch{}return re(t)}return t}function S3(t){return mr(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,r)=>String.fromCharCode(parseInt(r,16))))}function k3(t,e,r){const n=typeof t=="object"&&t.throttleLimit!=null?t.throttleLimit:12;Br.assertArgument(n>0&&n%1===0,"invalid connection throttle limit","connection.throttleLimit",n);const i=typeof t=="object"?t.throttleCallback:null,o=typeof t=="object"&&typeof t.throttleSlotInterval=="number"?t.throttleSlotInterval:100;Br.assertArgument(o>0&&o%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",o);const s=typeof t=="object"?!!t.errorPassThrough:!1,l={};let a=null;const u={method:"GET"};let c=!1,d=2*60*1e3;if(typeof t=="string")a=t;else if(typeof t=="object"){if((t==null||t.url==null)&&Br.throwArgumentError("missing URL","connection.url",t),a=t.url,typeof t.timeout=="number"&&t.timeout>0&&(d=t.timeout),t.headers)for(const x in t.headers)l[x.toLowerCase()]={key:x,value:String(t.headers[x])},["if-none-match","if-modified-since"].indexOf(x.toLowerCase())>=0&&(c=!0);if(u.allowGzip=!!t.allowGzip,t.user!=null&&t.password!=null){a.substring(0,6)!=="https:"&&t.allowInsecureAuthentication!==!0&&Br.throwError("basic authentication requires a secure https url",O.errors.INVALID_ARGUMENT,{argument:"url",url:a,user:t.user,password:"[REDACTED]"});const x=t.user+":"+t.password;l.authorization={key:"Authorization",value:"Basic "+Ay(mr(x))}}t.skipFetchSetup!=null&&(u.skipFetchSetup=!!t.skipFetchSetup),t.fetchOptions!=null&&(u.fetchOptions=it(t.fetchOptions))}const m=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),g=a?a.match(m):null;if(g)try{const x={statusCode:200,statusMessage:"OK",headers:{"content-type":g[1]||"text/plain"},body:g[2]?by(g[3]):S3(g[3])};let w=x.body;return r&&(w=r(x.body,x)),Promise.resolve(w)}catch(x){Br.throwError("processing response error",O.errors.SERVER_ERROR,{body:Qn(g[1],g[2]),error:x,requestBody:null,requestMethod:"GET",url:a})}e&&(u.method="POST",u.body=e,l["content-type"]==null&&(l["content-type"]={key:"Content-Type",value:"application/octet-stream"}),l["content-length"]==null&&(l["content-length"]={key:"Content-Length",value:String(e.length)}));const v={};Object.keys(l).forEach(x=>{const w=l[x];v[w.key]=w.value}),u.headers=v;const E=function(){let x=null;return{promise:new Promise(function(T,B){d&&(x=setTimeout(()=>{x!=null&&(x=null,B(Br.makeError("timeout",O.errors.TIMEOUT,{requestBody:Qn(u.body,v["content-type"]),requestMethod:u.method,timeout:d,url:a})))},d))}),cancel:function(){x!=null&&(clearTimeout(x),x=null)}}}(),N=function(){return _3(this,void 0,void 0,function*(){for(let x=0;x=300)&&(E.cancel(),Br.throwError("bad response",O.errors.SERVER_ERROR,{status:w.statusCode,headers:w.headers,body:Qn(b,w.headers?w.headers["content-type"]:null),requestBody:Qn(u.body,v["content-type"]),requestMethod:u.method,url:a})),r)try{const T=yield r(b,w);return E.cancel(),T}catch(T){if(T.throttleRetry&&x{let l=null;if(o!=null)try{l=JSON.parse(xl(o))}catch(a){Br.throwError("invalid JSON",O.errors.SERVER_ERROR,{body:o,error:a})}return r&&(l=r(l,s)),l},i=null;if(e!=null){i=mr(e);const o=typeof t=="string"?{url:t}:it(t);o.headers?Object.keys(o.headers).filter(l=>l.toLowerCase()==="content-type").length!==0||(o.headers=it(o.headers),o.headers["content-type"]="application/json"):o.headers={"content-type":"application/json"},t=o}return k3(t,i,n)}function po(t,e){return e||(e={}),e=it(e),e.floor==null&&(e.floor=0),e.ceiling==null&&(e.ceiling=1e4),e.interval==null&&(e.interval=250),new Promise(function(r,n){let i=null,o=!1;const s=()=>o?!1:(o=!0,i&&clearTimeout(i),!0);e.timeout&&(i=setTimeout(()=>{s()&&n(new Error("timeout"))},e.timeout));const l=e.retryLimit;let a=0;function u(){return t().then(function(c){if(c!==void 0)s()&&r(c);else if(e.oncePoll)e.oncePoll.once("poll",u);else if(e.onceBlock)e.onceBlock.once("block",u);else if(!o){if(a++,a>l){s()&&n(new Error("retry limit reached"));return}let d=e.interval*parseInt(String(Math.random()*Math.pow(2,a)));de.ceiling&&(d=e.ceiling),setTimeout(u,d)}return null},function(c){s()&&n(c)})}u()})}var iu="qpzry9x8gf2tvdw0s3jn54khce6mua7l",gd={};for(var Vl=0;Vl>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function a1(t){for(var e=1,r=0;r126)return"Invalid prefix ("+t+")";e=_o(e)^n>>5}for(e=_o(e),r=0;rr)throw new TypeError("Exceeds length limit");t=t.toLowerCase();var n=a1(t);if(typeof n=="string")throw new Error(n);for(var i=t+"1",o=0;o>5)throw new Error("Non 5-bit word");n=_o(n)^s,i+=iu.charAt(s)}for(o=0;o<6;++o)n=_o(n);for(n^=1,o=0;o<6;++o){var l=n>>(5-o)*5&31;i+=iu.charAt(l)}return i}function u1(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),n=t.toUpperCase();if(t!==r&&t!==n)return"Mixed-case string "+t;t=r;var i=t.lastIndexOf("1");if(i===-1)return"No separator character for "+t;if(i===0)return"Missing prefix for "+t;var o=t.slice(0,i),s=t.slice(i+1);if(s.length<6)return"Data too short";var l=a1(o);if(typeof l=="string")return l;for(var a=[],u=0;u=s.length)&&a.push(d)}return l!==1?"Invalid checksum for "+t:{prefix:o,words:a}}function P3(){var t=u1.apply(null,arguments);if(typeof t=="object")return t}function C3(t){var e=u1.apply(null,arguments);if(typeof e=="object")return e;throw new Error(e)}function $u(t,e,r,n){for(var i=0,o=0,s=(1<=r;)o-=r,l.push(i>>o&s);if(n)o>0&&l.push(i<=e)return"Excess padding";if(i<this.data(d,!0);return e.transaction={hash:s,type:u,accessList:te.allowNull(this.accessList.bind(this),null),blockHash:te.allowNull(s,null),blockNumber:te.allowNull(a,null),transactionIndex:te.allowNull(a,null),confirmations:te.allowNull(a,null),from:r,gasPrice:te.allowNull(n),maxPriorityFeePerGas:te.allowNull(n),maxFeePerGas:te.allowNull(n),gasLimit:n,to:te.allowNull(r,null),value:n,nonce:a,data:o,r:te.allowNull(this.uint256),s:te.allowNull(this.uint256),v:te.allowNull(a),creates:te.allowNull(r,null),raw:te.allowNull(o)},e.transactionRequest={from:te.allowNull(r),nonce:te.allowNull(a),gasLimit:te.allowNull(n),gasPrice:te.allowNull(n),maxPriorityFeePerGas:te.allowNull(n),maxFeePerGas:te.allowNull(n),to:te.allowNull(r),value:te.allowNull(n),data:te.allowNull(c),type:te.allowNull(a),accessList:te.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:s,address:r,topics:te.arrayOf(s),data:o,logIndex:a,blockHash:s},e.receipt={to:te.allowNull(this.address,null),from:te.allowNull(this.address,null),contractAddress:te.allowNull(r,null),transactionIndex:a,root:te.allowNull(l),gasUsed:n,logsBloom:te.allowNull(o),blockHash:s,transactionHash:s,logs:te.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:te.allowNull(a,null),cumulativeGasUsed:n,effectiveGasPrice:te.allowNull(n),status:te.allowNull(a),type:u},e.block={hash:te.allowNull(s),parentHash:s,number:a,timestamp:a,nonce:te.allowNull(l),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:te.allowNull(r),extraData:o,transactions:te.allowNull(te.arrayOf(s)),baseFeePerGas:te.allowNull(n)},e.blockWithTransactions=it(e.block),e.blockWithTransactions.transactions=te.allowNull(te.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:te.allowNull(i,void 0),toBlock:te.allowNull(i,void 0),blockHash:te.allowNull(s,void 0),address:te.allowNull(r,void 0),topics:te.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:te.allowNull(a),blockHash:te.allowNull(s),transactionIndex:a,removed:te.allowNull(this.boolean.bind(this)),address:r,data:te.allowFalsish(o,"0x"),topics:te.arrayOf(s),transactionHash:s,logIndex:a},e}accessList(e){return qi(e||[])}number(e){return e==="0x"?0:G.from(e).toNumber()}type(e){return e==="0x"||e==null?0:G.from(e).toNumber()}bigNumber(e){return G.from(e)}boolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){if(e=e.toLowerCase(),e==="true")return!0;if(e==="false")return!1}throw new Error("invalid boolean - "+e)}hex(e,r){return typeof e=="string"&&(!r&&e.substring(0,2)!=="0x"&&(e="0x"+e),pe(e))?e.toLowerCase():ls.throwArgumentError("invalid hash","value",e)}data(e,r){const n=this.hex(e,r);if(n.length%2!==0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return mt(e)}callAddress(e){if(!pe(e,32))return null;const r=mt(It(e,12));return r===fb?null:r}contractAddress(e){return Nh(e)}blockTag(e){if(e==null)return"latest";if(e==="earliest")return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if(typeof e=="number"||pe(e))return Ou(e);throw new Error("invalid blockTag")}hash(e,r){const n=this.hex(e,r);return On(n)!==32?ls.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(e==null)return null;const r=G.from(e);try{return r.toNumber()}catch{}return null}uint256(e){if(!pe(e))throw new Error("invalid uint256");return pt(e,32)}_block(e,r){e.author!=null&&e.miner==null&&(e.miner=e.author);const n=e._difficulty!=null?e._difficulty:e.difficulty,i=te.check(r,e);return i._difficulty=n==null?null:G.from(n),i}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return te.check(this.formats.transactionRequest,e)}transactionResponse(e){e.gas!=null&&e.gasLimit==null&&(e.gasLimit=e.gas),e.to&&G.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),e.input!=null&&e.data==null&&(e.data=e.input),e.to==null&&e.creates==null&&(e.creates=this.contractAddress(e)),(e.type===1||e.type===2)&&e.accessList==null&&(e.accessList=[]);const r=te.check(this.formats.transaction,e);if(e.chainId!=null){let n=e.chainId;pe(n)&&(n=G.from(n).toNumber()),r.chainId=n}else{let n=e.networkId;n==null&&r.v==null&&(n=e.chainId),pe(n)&&(n=G.from(n).toNumber()),typeof n!="number"&&r.v!=null&&(n=(r.v-35)/2,n<0&&(n=0),n=parseInt(n)),typeof n!="number"&&(n=0),r.chainId=n}return r.blockHash&&r.blockHash.replace(/0/g,"")==="x"&&(r.blockHash=null),r}transaction(e){return u3(e)}receiptLog(e){return te.check(this.formats.receiptLog,e)}receipt(e){const r=te.check(this.formats.receipt,e);if(r.root!=null)if(r.root.length<=4){const n=G.from(r.root).toNumber();n===0||n===1?(r.status!=null&&r.status!==n&&ls.throwArgumentError("alt-root-status/status mismatch","value",{root:r.root,status:r.status}),r.status=n,delete r.root):ls.throwArgumentError("invalid alt-root-status","value.root",r.root)}else r.root.length!==66&&ls.throwArgumentError("invalid root hash","value.root",r.root);return r.status!=null&&(r.byzantium=!0),r}topics(e){return Array.isArray(e)?e.map(r=>this.topics(r)):e!=null?this.hash(e,!0):null}filter(e){return te.check(this.formats.filter,e)}filterLog(e){return te.check(this.formats.filterLog,e)}static check(e,r){const n={};for(const i in e)try{const o=e[i](r[i]);o!==void 0&&(n[i]=o)}catch(o){throw o.checkKey=i,o.checkValue=r[i],o}return n}static allowNull(e,r){return function(n){return n==null?r:e(n)}}static allowFalsish(e,r){return function(n){return n?e(n):r}}static arrayOf(e){return function(r){if(!Array.isArray(r))throw new Error("not an array");const n=[];return r.forEach(function(i){n.push(e(i))}),n}}}function c1(t){return t&&typeof t.isCommunityResource=="function"}function vd(t){return c1(t)&&t.isCommunityResource()}let qp=!1;function _l(){qp||(qp=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var ae=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const he=new O($t),L3=10;function Wp(t){return t==null?"null":(On(t)!==32&&he.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function Gp(t){for(t=t.slice();t.length>0&&t[t.length-1]==null;)t.pop();return t.map(e=>{if(Array.isArray(e)){const r={};e.forEach(i=>{r[Wp(i)]=!0});const n=Object.keys(r);return n.sort(),n.join("|")}else return Wp(e)}).join("&")}function B3(t){return t===""?[]:t.split(/&/g).map(e=>{if(e==="")return[];const r=e.split("|").map(n=>n==="null"?null:n);return r.length===1?r[0]:r})}function Gi(t){if(typeof t=="string"){if(t=t.toLowerCase(),On(t)===32)return"tx:"+t;if(t.indexOf(":")===-1)return t}else{if(Array.isArray(t))return"filter:*:"+Gp(t);if(dA.isForkEvent(t))throw he.warn("not implemented"),new Error("not implemented");if(t&&typeof t=="object")return"filter:"+(t.address||"*")+":"+Gp(t.topics||[])}throw new Error("invalid event - "+t)}function as(){return new Date().getTime()}function Vp(t){return new Promise(e=>{setTimeout(e,t)})}const j3=["block","network","pending","poll"];class D3{constructor(e,r,n){z(this,"tag",e),z(this,"listener",r),z(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return e[0]!=="tx"?null:e[1]}get filter(){const e=this.tag.split(":");if(e[0]!=="filter")return null;const r=e[1],n=B3(e[2]),i={};return n.length>0&&(i.topics=n),r&&r!=="*"&&(i.address=r),i}pollable(){return this.tag.indexOf(":")>=0||j3.indexOf(this.tag)>=0}}const U3={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function Xc(t){return pt(G.from(t).toHexString(),32)}function Kp(t){return md.encode(Ut([t,It(jp(jp(t)),0,4)]))}const f1=new RegExp("^(ipfs)://(.*)$","i"),Qp=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),f1,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function xa(t,e){try{return xl(ol(t,e))}catch{}return null}function ol(t,e){if(t==="0x")return null;const r=G.from(It(t,e,e+32)).toNumber(),n=G.from(It(t,r,r+32)).toNumber();return It(t,r+32,r+32+n)}function Zc(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):he.throwArgumentError("unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}function Jp(t){const e=se(t);if(e.length>32)throw new Error("internal; should not happen");const r=new Uint8Array(32);return r.set(e,32-e.length),r}function F3(t){if(t.length%32===0)return t;const e=new Uint8Array(Math.ceil(t.length/32)*32);return e.set(t),e}function d1(t){const e=[];let r=0;for(let n=0;nG.from(e).eq(1)).catch(e=>{if(e.code===O.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,r){return ae(this,void 0,void 0,function*(){const n={to:this.address,ccipReadEnabled:!0,data:Xt([e,ga(this.name),r||"0x"])};let i=!1;(yield this.supportsWildcard())&&(i=!0,n.data=Xt(["0x9061b923",d1([Yb(this.name),n.data])]));try{let o=yield this.provider.call(n);return se(o).length%32===4&&he.throwError("resolver threw error",O.errors.CALL_EXCEPTION,{transaction:n,data:o}),i&&(o=ol(o,0)),o}catch(o){if(o.code===O.errors.CALL_EXCEPTION)return null;throw o}})}_fetchBytes(e,r){return ae(this,void 0,void 0,function*(){const n=yield this._fetch(e,r);return n!=null?ol(n,0):null})}_getAddress(e,r){const n=U3[String(e)];if(n==null&&he.throwError(`unsupported coin type: ${e}`,O.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),n.ilk==="eth")return this.provider.formatter.address(r);const i=se(r);if(n.p2pkh!=null){const o=r.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(o){const s=parseInt(o[1],16);if(o[2].length===s*2&&s>=1&&s<=75)return Kp(Ut([[n.p2pkh],"0x"+o[2]]))}}if(n.p2sh!=null){const o=r.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(o){const s=parseInt(o[1],16);if(o[2].length===s*2&&s>=1&&s<=75)return Kp(Ut([[n.p2sh],"0x"+o[2]]))}}if(n.prefix!=null){const o=i[1];let s=i[0];if(s===0?o!==20&&o!==32&&(s=-1):s=-1,s>=0&&i.length===2+o&&o>=1&&o<=75){const l=Hp.toWords(i.slice(2));return l.unshift(s),Hp.encode(n.prefix,l)}}return null}getAddress(e){return ae(this,void 0,void 0,function*(){if(e==null&&(e=60),e===60)try{const i=yield this._fetch("0x3b3b57de");return i==="0x"||i===mb?null:this.provider.formatter.callAddress(i)}catch(i){if(i.code===O.errors.CALL_EXCEPTION)return null;throw i}const r=yield this._fetchBytes("0xf1cb7e06",Xc(e));if(r==null||r==="0x")return null;const n=this._getAddress(e,r);return n==null&&he.throwError("invalid or unsupported coin data",O.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:r}),n})}getAvatar(){return ae(this,void 0,void 0,function*(){const e=[{type:"name",content:this.name}];try{const r=yield this.getText("avatar");if(r==null)return null;for(let n=0;ns[a])}return he.throwError("invalid or unsupported content hash data",O.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})})}getText(e){return ae(this,void 0,void 0,function*(){let r=mr(e);r=Ut([Xc(64),Xc(r.length),r]),r.length%32!==0&&(r=Ut([r,pt("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",re(r));return n==null||n==="0x"?null:xl(n)})}}let ef=null,z3=1;class Hu extends Wo{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),z(this,"anyNetwork",e==="any"),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(r=>{}),this._ready().catch(r=>{});else{const r=fr(new.target,"getNetwork")(e);r?(z(this,"_network",r),this.emit("network",r,null)):he.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return ae(this,void 0,void 0,function*(){if(this._network==null){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch{}e==null&&(e=yield this.detectNetwork()),e||he.throwError("no network detected",O.errors.UNKNOWN_ERROR,{}),this._network==null&&(this.anyNetwork?this._network=e:z(this,"_network",e),this.emit("network",e,null))}return this._network})}get ready(){return po(()=>this._ready().then(e=>e,e=>{if(!(e.code===O.errors.NETWORK_ERROR&&e.event==="noNetwork"))throw e}))}static getFormatter(){return ef==null&&(ef=new te),ef}static getNetwork(e){return Th(e??"homestead")}ccipReadFetch(e,r,n){return ae(this,void 0,void 0,function*(){if(this.disableCcipRead||n.length===0)return null;const i=e.to.toLowerCase(),o=r.toLowerCase(),s=[];for(let l=0;l=0?null:JSON.stringify({data:o,sender:i}),d=yield Al({url:u,errorPassThrough:!0},c,(g,v)=>(g.status=v.statusCode,g));if(d.data)return d.data;const m=d.message||"unknown error";if(d.status>=400&&d.status<500)return he.throwError(`response not found during CCIP fetch: ${m}`,O.errors.SERVER_ERROR,{url:a,errorMessage:m});s.push(m)}return he.throwError(`error encountered during CCIP fetch: ${s.map(l=>JSON.stringify(l)).join(", ")}`,O.errors.SERVER_ERROR,{urls:n,errorMessages:s})})}_getInternalBlockNumber(e){return ae(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const i=this._internalBlockNumber;try{const o=yield i;if(as()-o.respTime<=e)return o.blockNumber;break}catch{if(this._internalBlockNumber===i)break}}const r=as(),n=yt({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(i=>null,i=>i)}).then(({blockNumber:i,networkError:o})=>{if(o)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),o;const s=as();return i=G.from(i).toNumber(),i{this._internalBlockNumber===n&&(this._internalBlockNumber=null)}),(yield n).blockNumber})}poll(){return ae(this,void 0,void 0,function*(){const e=z3++,r=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(i){this.emit("error",i);return}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n===this._lastBlockNumber){this.emit("didPoll",e);return}if(this._emitted.block===-2&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)he.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",he.makeError("network block skew detected",O.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let i=this._emitted.block+1;i<=n;i++)this.emit("block",i);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach(i=>{if(i==="block")return;const o=this._emitted[i];o!=="pending"&&n-o>12&&delete this._emitted[i]})),this._lastBlockNumber===-2&&(this._lastBlockNumber=n-1),this._events.forEach(i=>{switch(i.type){case"tx":{const o=i.hash;let s=this.getTransactionReceipt(o).then(l=>(!l||l.blockNumber==null||(this._emitted["t:"+o]=l.blockNumber,this.emit(o,l)),null)).catch(l=>{this.emit("error",l)});r.push(s);break}case"filter":{if(!i._inflight){i._inflight=!0,i._lastBlockNumber===-2&&(i._lastBlockNumber=n-1);const o=i.filter;o.fromBlock=i._lastBlockNumber+1,o.toBlock=n;const s=o.toBlock-this._maxFilterBlockRange;s>o.fromBlock&&(o.fromBlock=s),o.fromBlock<0&&(o.fromBlock=0);const l=this.getLogs(o).then(a=>{i._inflight=!1,a.length!==0&&a.forEach(u=>{u.blockNumber>i._lastBlockNumber&&(i._lastBlockNumber=u.blockNumber),this._emitted["b:"+u.blockHash]=u.blockNumber,this._emitted["t:"+u.transactionHash]=u.blockNumber,this.emit(o,u)})}).catch(a=>{this.emit("error",a),i._inflight=!1});r.push(l)}break}}}),this._lastBlockNumber=n,Promise.all(r).then(()=>{this.emit("didPoll",e)}).catch(i=>{this.emit("error",i)})})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return ae(this,void 0,void 0,function*(){return he.throwError("provider does not support network detection",O.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return ae(this,void 0,void 0,function*(){const e=yield this._ready(),r=yield this.detectNetwork();if(e.chainId!==r.chainId){if(this.anyNetwork)return this._network=r,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",r,e),yield Vp(0),this._network;const n=he.makeError("underlying network changed",O.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:r});throw this.emit("error",n),n}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),this._fastBlockNumber!=null?this._fastBlockNumber:-1}get polling(){return this._poller!=null}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if(typeof e!="number"||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=as();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(r=>((this._fastBlockNumber==null||r>this._fastBlockNumber)&&(this._fastBlockNumber=r),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){this._fastBlockNumber!=null&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,r,n){return ae(this,void 0,void 0,function*(){return this._waitForTransaction(e,r??1,n||0,null)})}_waitForTransaction(e,r,n,i){return ae(this,void 0,void 0,function*(){const o=yield this.getTransactionReceipt(e);return(o?o.confirmations:0)>=r?o:new Promise((s,l)=>{const a=[];let u=!1;const c=function(){return u?!0:(u=!0,a.forEach(m=>{m()}),!1)},d=m=>{m.confirmations{this.removeListener(e,d)}),i){let m=i.startBlock,g=null;const v=E=>ae(this,void 0,void 0,function*(){u||(yield Vp(1e3),this.getTransactionCount(i.from).then(N=>ae(this,void 0,void 0,function*(){if(!u){if(N<=i.nonce)m=E;else{{const x=yield this.getTransaction(e);if(x&&x.blockNumber!=null)return}for(g==null&&(g=m-3,g{u||this.once("block",v)}))});if(u)return;this.once("block",v),a.push(()=>{this.removeListener("block",v)})}if(typeof n=="number"&&n>0){const m=setTimeout(()=>{c()||l(he.makeError("timeout exceeded",O.errors.TIMEOUT,{timeout:n}))},n);m.unref&&m.unref(),a.push(()=>{clearTimeout(m)})}})})}getBlockNumber(){return ae(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return G.from(e)}catch(r){return he.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:r})}})}getBalance(e,r){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield yt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getBalance",n);try{return G.from(i)}catch(o){return he.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getBalance",params:n,result:i,error:o})}})}getTransactionCount(e,r){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield yt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getTransactionCount",n);try{return G.from(i).toNumber()}catch(o){return he.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:i,error:o})}})}getCode(e,r){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield yt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getCode",n);try{return re(i)}catch(o){return he.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getCode",params:n,result:i,error:o})}})}getStorageAt(e,r,n){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const i=yield yt({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(r).then(s=>Ou(s))}),o=yield this.perform("getStorageAt",i);try{return re(o)}catch(s){return he.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getStorageAt",params:i,result:o,error:s})}})}_wrapTransaction(e,r,n){if(r!=null&&On(r)!==32)throw new Error("invalid response - sendTransaction");const i=e;return r!=null&&e.hash!==r&&he.throwError("Transaction hash mismatch from Provider.sendTransaction.",O.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:r}),i.wait=(o,s)=>ae(this,void 0,void 0,function*(){o==null&&(o=1),s==null&&(s=0);let l;o!==0&&n!=null&&(l={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const a=yield this._waitForTransaction(e.hash,o,s,l);return a==null&&o===0?null:(this._emitted["t:"+e.hash]=a.blockNumber,a.status===0&&he.throwError("transaction failed",O.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:a}),a)}),i}sendTransaction(e){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield Promise.resolve(e).then(o=>re(o)),n=this.formatter.transaction(e);n.confirmations==null&&(n.confirmations=0);const i=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const o=yield this.perform("sendTransaction",{signedTransaction:r});return this._wrapTransaction(n,o,i)}catch(o){throw o.transaction=n,o.transactionHash=n.hash,o}})}_getTransactionRequest(e){return ae(this,void 0,void 0,function*(){const r=yield e,n={};return["from","to"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(o=>o?this._getAddress(o):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(o=>o?G.from(o):null))}),["type"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(o=>o??null))}),r.accessList&&(n.accessList=this.formatter.accessList(r.accessList)),["data"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(o=>o?re(o):null))}),this.formatter.transactionRequest(yield yt(n))})}_getFilter(e){return ae(this,void 0,void 0,function*(){e=yield e;const r={};return e.address!=null&&(r.address=this._getAddress(e.address)),["blockHash","topics"].forEach(n=>{e[n]!=null&&(r[n]=e[n])}),["fromBlock","toBlock"].forEach(n=>{e[n]!=null&&(r[n]=this._getBlockTag(e[n]))}),this.formatter.filter(yield yt(r))})}_call(e,r,n){return ae(this,void 0,void 0,function*(){n>=L3&&he.throwError("CCIP read exceeded maximum redirections",O.errors.SERVER_ERROR,{redirects:n,transaction:e});const i=e.to,o=yield this.perform("call",{transaction:e,blockTag:r});if(n>=0&&r==="latest"&&i!=null&&o.substring(0,10)==="0x556f1830"&&On(o)%32===4)try{const s=It(o,4),l=It(s,0,32);G.from(l).eq(i)||he.throwError("CCIP Read sender did not match",O.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:o});const a=[],u=G.from(It(s,32,64)).toNumber(),c=G.from(It(s,u,u+32)).toNumber(),d=It(s,u+32);for(let x=0;xae(this,void 0,void 0,function*(){const o=yield this.perform("getBlock",i);if(o==null)return i.blockHash!=null&&this._emitted["b:"+i.blockHash]==null||i.blockTag!=null&&n>this._emitted.block?null:void 0;if(r){let s=null;for(let a=0;athis._wrapTransaction(a)),l}return this.formatter.block(o)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return ae(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return po(()=>ae(this,void 0,void 0,function*(){const n=yield this.perform("getTransaction",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;const i=this.formatter.transactionResponse(n);if(i.blockNumber==null)i.confirmations=0;else if(i.confirmations==null){let s=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-i.blockNumber+1;s<=0&&(s=1),i.confirmations=s}return this._wrapTransaction(i)}),{oncePoll:this})})}getTransactionReceipt(e){return ae(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return po(()=>ae(this,void 0,void 0,function*(){const n=yield this.perform("getTransactionReceipt",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;if(n.blockHash==null)return;const i=this.formatter.receipt(n);if(i.blockNumber==null)i.confirmations=0;else if(i.confirmations==null){let s=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-i.blockNumber+1;s<=0&&(s=1),i.confirmations=s}return i}),{oncePoll:this})})}getLogs(e){return ae(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield yt({filter:this._getFilter(e)}),n=yield this.perform("getLogs",r);return n.forEach(i=>{i.removed==null&&(i.removed=!1)}),te.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)})}getEtherPrice(){return ae(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(e){return ae(this,void 0,void 0,function*(){if(e=yield e,typeof e=="number"&&e<0){e%1&&he.throwArgumentError("invalid BlockTag","blockTag",e);let r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return r+=e,r<0&&(r=0),this.formatter.blockTag(r)}return this.formatter.blockTag(e)})}getResolver(e){return ae(this,void 0,void 0,function*(){let r=e;for(;;){if(r===""||r==="."||e!=="eth"&&r==="eth")return null;const n=yield this._getResolver(r,"getResolver");if(n!=null){const i=new yd(this,n,e);return r!==e&&!(yield i.supportsWildcard())?null:i}r=r.split(".").slice(1).join(".")}})}_getResolver(e,r){return ae(this,void 0,void 0,function*(){r==null&&(r="ENS");const n=yield this.getNetwork();n.ensAddress||he.throwError("network does not support ENS",O.errors.UNSUPPORTED_OPERATION,{operation:r,network:n.name});try{const i=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+ga(e).substring(2)});return this.formatter.callAddress(i)}catch{}return null})}resolveName(e){return ae(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(n){if(pe(e))throw n}typeof e!="string"&&he.throwArgumentError("invalid ENS name","name",e);const r=yield this.getResolver(e);return r?yield r.getAddress():null})}lookupAddress(e){return ae(this,void 0,void 0,function*(){e=yield e,e=this.formatter.address(e);const r=e.substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(r,"lookupAddress");if(n==null)return null;const i=xa(yield this.call({to:n,data:"0x691f3431"+ga(r).substring(2)}),0);return(yield this.resolveName(i))!=e?null:i})}getAvatar(e){return ae(this,void 0,void 0,function*(){let r=null;if(pe(e)){const o=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",s=yield this._getResolver(o,"getAvatar");if(!s)return null;r=new yd(this,s,o);try{const l=yield r.getAvatar();if(l)return l.url}catch(l){if(l.code!==O.errors.CALL_EXCEPTION)throw l}try{const l=xa(yield this.call({to:s,data:"0x691f3431"+ga(o).substring(2)}),0);r=yield this.getResolver(l)}catch(l){if(l.code!==O.errors.CALL_EXCEPTION)throw l;return null}}else if(r=yield this.getResolver(e),!r)return null;const n=yield r.getAvatar();return n==null?null:n.url})}perform(e,r){return he.throwError(e+" not implemented",O.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_addEventListener(e,r,n){const i=new D3(Gi(e),r,n);return this._events.push(i),this._startEvent(i),this}on(e,r){return this._addEventListener(e,r,!1)}once(e,r){return this._addEventListener(e,r,!0)}emit(e,...r){let n=!1,i=[],o=Gi(e);return this._events=this._events.filter(s=>s.tag!==o?!0:(setTimeout(()=>{s.listener.apply(this,r)},0),n=!0,s.once?(i.push(s),!1):!0)),i.forEach(s=>{this._stopEvent(s)}),n}listenerCount(e){if(!e)return this._events.length;let r=Gi(e);return this._events.filter(n=>n.tag===r).length}listeners(e){if(e==null)return this._events.map(n=>n.listener);let r=Gi(e);return this._events.filter(n=>n.tag===r).map(n=>n.listener)}off(e,r){if(r==null)return this.removeAllListeners(e);const n=[];let i=!1,o=Gi(e);return this._events=this._events.filter(s=>s.tag!==o||s.listener!=r||i?!0:(i=!0,n.push(s),!1)),n.forEach(s=>{this._stopEvent(s)}),this}removeAllListeners(e){let r=[];if(e==null)r=this._events,this._events=[];else{const n=Gi(e);this._events=this._events.filter(i=>i.tag!==n?!0:(r.push(i),!1))}return r.forEach(n=>{this._stopEvent(n)}),this}}var En=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const wt=new O($t),$3=["call","estimateGas"];function Ps(t,e){if(t==null)return null;if(typeof t.message=="string"&&t.message.match("reverted")){const r=pe(t.data)?t.data:null;if(!e||r)return{message:t.message,data:r}}if(typeof t=="object"){for(const r in t){const n=Ps(t[r],e);if(n)return n}return null}if(typeof t=="string")try{return Ps(JSON.parse(t),e)}catch{}return null}function h1(t,e,r){const n=r.transaction||r.signedTransaction;if(t==="call"){const o=Ps(e,!0);if(o)return o.data;wt.throwError("missing revert data in call exception; Transaction reverted without a reason string",O.errors.CALL_EXCEPTION,{data:"0x",transaction:n,error:e})}if(t==="estimateGas"){let o=Ps(e.body,!1);o==null&&(o=Ps(e,!1)),o&&wt.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{reason:o.message,method:t,transaction:n,error:e})}let i=e.message;throw e.code===O.errors.SERVER_ERROR&&e.error&&typeof e.error.message=="string"?i=e.error.message:typeof e.body=="string"?i=e.body:typeof e.responseText=="string"&&(i=e.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&wt.throwError("insufficient funds for intrinsic transaction cost",O.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:n}),i.match(/nonce (is )?too low/i)&&wt.throwError("nonce has already been used",O.errors.NONCE_EXPIRED,{error:e,method:t,transaction:n}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&wt.throwError("replacement fee too low",O.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:n}),i.match(/only replay-protected/i)&&wt.throwError("legacy pre-eip-155 transactions not supported",O.errors.UNSUPPORTED_OPERATION,{error:e,method:t,transaction:n}),$3.indexOf(t)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&wt.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:n}),e}function Yp(t){return new Promise(function(e){setTimeout(e,t)})}function H3(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function us(t){return t&&t.toLowerCase()}const wd={};class Oh extends El{constructor(e,r,n){if(super(),e!==wd)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");z(this,"provider",r),n==null&&(n=0),typeof n=="string"?(z(this,"_address",this.provider.formatter.address(n)),z(this,"_index",null)):typeof n=="number"?(z(this,"_index",n),z(this,"_address",null)):wt.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return wt.throwError("cannot alter JSON-RPC Signer connection",O.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new q3(wd,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&wt.throwError("unknown account #"+this._index,O.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=it(e);const r=this.getAddress().then(n=>(n&&(n=n.toLowerCase()),n));if(e.gasLimit==null){const n=it(e);n.from=r,e.gasLimit=this.provider.estimateGas(n)}return e.to!=null&&(e.to=Promise.resolve(e.to).then(n=>En(this,void 0,void 0,function*(){if(n==null)return null;const i=yield this.provider.resolveName(n);return i==null&&wt.throwArgumentError("provided ENS name resolves to null","tx.to",n),i}))),yt({tx:yt(e),sender:r}).then(({tx:n,sender:i})=>{n.from!=null?n.from.toLowerCase()!==i&&wt.throwArgumentError("from address mismatch","transaction",e):n.from=i;const o=this.provider.constructor.hexlifyTransaction(n,{from:!0});return this.provider.send("eth_sendTransaction",[o]).then(s=>s,s=>(typeof s.message=="string"&&s.message.match(/user denied/i)&&wt.throwError("user rejected transaction",O.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:n}),h1("sendTransaction",s,o)))})}signTransaction(e){return wt.throwError("signing transactions is unsupported",O.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return En(this,void 0,void 0,function*(){const r=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield po(()=>En(this,void 0,void 0,function*(){const i=yield this.provider.getTransaction(n);if(i!==null)return this.provider._wrapTransaction(i,n,r)}),{oncePoll:this.provider})}catch(i){throw i.transactionHash=n,i}})}signMessage(e){return En(this,void 0,void 0,function*(){const r=typeof e=="string"?mr(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[re(r),n.toLowerCase()])}catch(i){throw typeof i.message=="string"&&i.message.match(/user denied/i)&&wt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),i}})}_legacySignMessage(e){return En(this,void 0,void 0,function*(){const r=typeof e=="string"?mr(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),re(r)])}catch(i){throw typeof i.message=="string"&&i.message.match(/user denied/i)&&wt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),i}})}_signTypedData(e,r,n){return En(this,void 0,void 0,function*(){const i=yield sr.resolveNames(e,r,n,s=>this.provider.resolveName(s)),o=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[o.toLowerCase(),JSON.stringify(sr.getPayload(i.domain,r,i.value))])}catch(s){throw typeof s.message=="string"&&s.message.match(/user denied/i)&&wt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"_signTypedData",from:o,messageData:{domain:i.domain,types:r,value:i.value}}),s}})}unlock(e){return En(this,void 0,void 0,function*(){const r=this.provider,n=yield this.getAddress();return r.send("personal_unlockAccount",[n.toLowerCase(),e,null])})}}class q3 extends Oh{sendTransaction(e){return this.sendUncheckedTransaction(e).then(r=>({hash:r,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:n=>this.provider.waitForTransaction(r,n)}))}}const W3={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class vi extends Hu{constructor(e,r){let n=r;n==null&&(n=new Promise((i,o)=>{setTimeout(()=>{this.detectNetwork().then(s=>{i(s)},s=>{o(s)})},0)})),super(n),e||(e=fr(this.constructor,"defaultUrl")()),typeof e=="string"?z(this,"connection",Object.freeze({url:e})):z(this,"connection",Object.freeze(it(e))),this._nextId=42}get _cache(){return this._eventLoopCache==null&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return En(this,void 0,void 0,function*(){yield Yp(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch{try{e=yield this.send("net_version",[])}catch{}}if(e!=null){const r=fr(this.constructor,"getNetwork");try{return r(G.from(e).toNumber())}catch(n){return wt.throwError("could not detect network",O.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:n})}}return wt.throwError("could not detect network",O.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(e){return new Oh(wd,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(r=>this.formatter.address(r)))}send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:nr(n),provider:this});const i=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(i&&this._cache[e])return this._cache[e];const o=Al(this.connection,JSON.stringify(n),H3).then(s=>(this.emit("debug",{action:"response",request:n,response:s,provider:this}),s),s=>{throw this.emit("debug",{action:"response",error:s,request:n,provider:this}),s});return i&&(this._cache[e]=o,setTimeout(()=>{this._cache[e]=null},0)),o}prepareRequest(e,r){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[us(r.address),r.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[us(r.address),r.blockTag]];case"getCode":return["eth_getCode",[us(r.address),r.blockTag]];case"getStorageAt":return["eth_getStorageAt",[us(r.address),pt(r.position,32),r.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[r.signedTransaction]];case"getBlock":return r.blockTag?["eth_getBlockByNumber",[r.blockTag,!!r.includeTransactions]]:r.blockHash?["eth_getBlockByHash",[r.blockHash,!!r.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[r.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[r.transactionHash]];case"call":return["eth_call",[fr(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0}),r.blockTag]];case"estimateGas":return["eth_estimateGas",[fr(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0})]];case"getLogs":return r.filter&&r.filter.address!=null&&(r.filter.address=us(r.filter.address)),["eth_getLogs",[r.filter]]}return null}perform(e,r){return En(this,void 0,void 0,function*(){if(e==="call"||e==="estimateGas"){const i=r.transaction;if(i&&i.type!=null&&G.from(i.type).isZero()&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const o=yield this.getFeeData();o.maxFeePerGas==null&&o.maxPriorityFeePerGas==null&&(r=it(r),r.transaction=it(i),delete r.transaction.type)}}const n=this.prepareRequest(e,r);n==null&&wt.throwError(e+" not implemented",O.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(i){return h1(e,i,r)}})}_startEvent(e){e.tag==="pending"&&this._startPending(),super._startEvent(e)}_startPending(){if(this._pendingFilter!=null)return;const e=this,r=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=r,r.then(function(n){function i(){e.send("eth_getFilterChanges",[n]).then(function(o){if(e._pendingFilter!=r)return null;let s=Promise.resolve();return o.forEach(function(l){e._emitted["t:"+l.toLowerCase()]="pending",s=s.then(function(){return e.getTransaction(l).then(function(a){return e.emit("pending",a),null})})}),s.then(function(){return Yp(1e3)})}).then(function(){if(e._pendingFilter!=r){e.send("eth_uninstallFilter",[n]);return}return setTimeout(function(){i()},0),null}).catch(o=>{})}return i(),n}).catch(n=>{})}_stopEvent(e){e.tag==="pending"&&this.listenerCount("pending")===0&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,r){const n=it(W3);if(r)for(const o in r)r[o]&&(n[o]=!0);UE(e,n);const i={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(o){if(e[o]==null)return;const s=Ou(G.from(e[o]));o==="gasLimit"&&(o="gas"),i[o]=s}),["from","to","data"].forEach(function(o){e[o]!=null&&(i[o]=re(e[o]))}),e.accessList&&(i.accessList=qi(e.accessList)),i}}let Cs=null;try{if(Cs=WebSocket,Cs==null)throw new Error("inject please")}catch{const e=new O($t);Cs=function(){e.throwError("WebSockets not supported in this environment",O.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var tf=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const Kl=new O($t);let G3=1;class qu extends vi{constructor(e,r){r==="any"&&Kl.throwError("WebSocketProvider does not support 'any' network yet",O.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),typeof e=="string"?super(e,r):super("_websocket",r),this._pollingInterval=-1,this._wsReady=!1,typeof e=="string"?z(this,"_websocket",new Cs(this.connection.url)):z(this,"_websocket",e),z(this,"_requests",{}),z(this,"_subs",{}),z(this,"_subIds",{}),z(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(i=>{this.websocket.send(this._requests[i].payload)})},this.websocket.onmessage=i=>{const o=i.data,s=JSON.parse(o);if(s.id!=null){const l=String(s.id),a=this._requests[l];if(delete this._requests[l],s.result!==void 0)a.callback(null,s.result),this.emit("debug",{action:"response",request:JSON.parse(a.payload),response:s.result,provider:this});else{let u=null;s.error?(u=new Error(s.error.message||"unknown error"),z(u,"code",s.error.code||null),z(u,"response",o)):u=new Error("unknown error"),a.callback(u,void 0),this.emit("debug",{action:"response",error:u,request:JSON.parse(a.payload),provider:this})}}else if(s.method==="eth_subscription"){const l=this._subs[s.params.subscription];l&&l.processFunc(s.params.result)}else console.warn("this should not happen")};const n=setInterval(()=>{this.emit("poll")},1e3);n.unref&&n.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){Kl.throwError("cannot reset events block on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){Kl.throwError("cannot set polling interval on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return tf(this,void 0,void 0,function*(){return null})}set polling(e){e&&Kl.throwError("cannot set polling on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,r){const n=G3++;return new Promise((i,o)=>{function s(a,u){return a?o(a):i(u)}const l=JSON.stringify({method:e,params:r,id:n,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(l),provider:this}),this._requests[String(n)]={callback:s,payload:l},this._wsReady&&this.websocket.send(l)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,r,n){return tf(this,void 0,void 0,function*(){let i=this._subIds[e];i==null&&(i=Promise.all(r).then(s=>this.send("eth_subscribe",s)),this._subIds[e]=i);const o=yield i;this._subs[o]={tag:e,processFunc:n}})}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],r=>{const n=G.from(r.number).toNumber();this._emitted.block=n,this.emit("block",n)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],r=>{this.emit("pending",r)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],r=>{r.removed==null&&(r.removed=!1),this.emit(e.filter,this.formatter.filterLog(r))});break;case"tx":{const r=n=>{const i=n.hash;this.getTransactionReceipt(i).then(o=>{o&&this.emit(i,o)})};r(e),this._subscribe("tx",["newHeads"],n=>{this._events.filter(i=>i.type==="tx").forEach(r)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e);break}}_stopEvent(e){let r=e.tag;if(e.type==="tx"){if(this._events.filter(i=>i.type==="tx").length)return;r="tx"}else if(this.listenerCount(e.event))return;const n=this._subIds[r];n&&(delete this._subIds[r],n.then(i=>{this._subs[i]&&(delete this._subs[i],this.send("eth_unsubscribe",[i]))}))}destroy(){return tf(this,void 0,void 0,function*(){this.websocket.readyState===Cs.CONNECTING&&(yield new Promise(e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}})),this.websocket.close(1e3)})}}var V3=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const gs=new O($t);class p1 extends vi{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return V3(this,void 0,void 0,function*(){let r=this.network;return r==null&&(r=yield e.detectNetwork.call(this),r||gs.throwError("no network detected",O.errors.UNKNOWN_ERROR,{}),this._network==null&&(z(this,"_network",r),this.emit("network",r,null))),r})}}class Fn extends p1{constructor(e,r){gs.checkAbstract(new.target,Fn),e=fr(new.target,"getNetwork")(e),r=fr(new.target,"getApiKey")(r);const n=fr(new.target,"getUrl")(e,r);super(n,e),typeof r=="string"?z(this,"apiKey",r):r!=null&&Object.keys(r).forEach(i=>{z(this,i,r[i])})}_startPending(){gs.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return gs.throwError("API provider does not support signing",O.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,r){return gs.throwError("not implemented; sub-classes must override getUrl",O.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const Xp=new O($t),Ea="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class m1 extends qu{constructor(e,r){const n=new Lh(e,r),i=n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");super(i,n.network),z(this,"apiKey",n.apiKey)}isCommunityResource(){return this.apiKey===Ea}}class Lh extends Fn{static getWebSocketProvider(e,r){return new m1(e,r)}static getApiKey(e){return e==null?Ea:(e&&typeof e!="string"&&Xp.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":n="eth-goerli.g.alchemy.com/v2/";break;case"matic":n="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":n="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":n="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":n="arb-goerli.g.alchemy.com/v2/";break;case"optimism":n="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":n="opt-goerli.g.alchemy.com/v2/";break;default:Xp.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+n+r,throttleCallback:(i,o)=>(r===Ea&&_l(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Ea}}const K3=new O($t),Ql="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function Q3(t){switch(t){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return K3.throwArgumentError("unsupported network","name",t)}class g1 extends Fn{isCommunityResource(){return this.apiKey===Ql}static getApiKey(e){return e??Ql}static getUrl(e,r){r==null&&(r=Ql);const n={allowGzip:!0,url:"https://"+Q3(e.name)+r,throttleCallback:(i,o)=>(r.apiKey===Ql&&_l(),Promise.resolve(!0))};return r.projectSecret!=null&&(n.user="",n.password=r.projectSecret),n}}var J3=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const Zp=new O($t);class v1 extends Fn{static getApiKey(e){return e!=null&&Zp.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="https://cloudflare-eth.com/";break;default:Zp.throwArgumentError("unsupported network","network",arguments[0])}return n}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return J3(this,void 0,void 0,function*(){return e==="getBlockNumber"?(yield n.perform.call(this,"getBlock",{blockTag:"latest"})).number:n.perform.call(this,e,r)})}}var Jl=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const ti=new O($t);function em(t){const e={};for(let r in t){if(t[r]==null)continue;let n=t[r];r==="type"&&n===0||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[r]?n=Ou(re(n)):r==="accessList"?n="["+qi(n).map(i=>`{address:"${i.address}",storageKeys:["${i.storageKeys.join('","')}"]}`).join(",")+"]":n=re(n),e[r]=n)}return e}function Y3(t){if(t.status==0&&(t.message==="No records found"||t.message==="No transactions found"))return t.result;if(t.status!=1||typeof t.message!="string"||!t.message.match(/^OK/)){const e=new Error("invalid response");throw e.result=JSON.stringify(t),(t.result||"").toLowerCase().indexOf("rate limit")>=0&&(e.throttleRetry=!0),e}return t.result}function tm(t){if(t&&t.status==0&&t.message=="NOTOK"&&(t.result||"").toLowerCase().indexOf("rate limit")>=0){const e=new Error("throttled response");throw e.result=JSON.stringify(t),e.throttleRetry=!0,e}if(t.jsonrpc!="2.0"){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}if(t.error){const e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function rm(t){if(t==="pending")throw new Error("pending not supported");return t==="latest"?t:parseInt(t.substring(2),16)}function rf(t,e,r){if(t==="call"&&e.code===O.errors.SERVER_ERROR){const i=e.error;if(i&&(i.message.match(/reverted/i)||i.message.match(/VM execution error/i))){let o=i.data;if(o&&(o="0x"+o.replace(/^.*0x/i,"")),pe(o))return o;ti.throwError("missing revert data in call exception",O.errors.CALL_EXCEPTION,{error:e,data:"0x"})}}let n=e.message;throw e.code===O.errors.SERVER_ERROR&&(e.error&&typeof e.error.message=="string"?n=e.error.message:typeof e.body=="string"?n=e.body:typeof e.responseText=="string"&&(n=e.responseText)),n=(n||"").toLowerCase(),n.match(/insufficient funds/)&&ti.throwError("insufficient funds for intrinsic transaction cost",O.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&ti.throwError("nonce has already been used",O.errors.NONCE_EXPIRED,{error:e,method:t,transaction:r}),n.match(/another transaction with same nonce/)&&ti.throwError("replacement fee too low",O.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:r}),n.match(/execution failed due to an exception|execution reverted/)&&ti.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:r}),e}class y1 extends Hu{constructor(e,r){super(e),z(this,"baseUrl",this.getBaseUrl()),z(this,"apiKey",r||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return ti.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,r){const n=Object.keys(r).reduce((o,s)=>{const l=r[s];return l!=null&&(o+=`&${s}=${l}`),o},""),i=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${n}${i}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,r){return r.module=e,r.apikey=this.apiKey,r}fetch(e,r,n){return Jl(this,void 0,void 0,function*(){const i=n?this.getPostUrl():this.getUrl(e,r),o=n?this.getPostData(e,r):null,s=e==="proxy"?tm:Y3;this.emit("debug",{action:"request",request:i,provider:this});const l={url:i,throttleSlotInterval:1e3,throttleCallback:(c,d)=>(this.isCommunityResource()&&_l(),Promise.resolve(!0))};let a=null;o&&(l.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},a=Object.keys(o).map(c=>`${c}=${o[c]}`).join("&"));const u=yield Al(l,a,s||tm);return this.emit("debug",{action:"response",request:i,response:nr(u),provider:this}),u})}detectNetwork(){return Jl(this,void 0,void 0,function*(){return this.network})}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return Jl(this,void 0,void 0,function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:r.address,tag:r.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:r.address,tag:r.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:r.address,tag:r.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:r.address,position:r.position,tag:r.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:r.signedTransaction},!0).catch(i=>rf("sendTransaction",i,r.signedTransaction));case"getBlock":if(r.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:r.blockTag,boolean:r.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:r.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:r.transactionHash});case"call":{if(r.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");const i=em(r.transaction);i.module="proxy",i.action="eth_call";try{return yield this.fetch("proxy",i,!0)}catch(o){return rf("call",o,r.transaction)}}case"estimateGas":{const i=em(r.transaction);i.module="proxy",i.action="eth_estimateGas";try{return yield this.fetch("proxy",i,!0)}catch(o){return rf("estimateGas",o,r.transaction)}}case"getLogs":{const i={action:"getLogs"};if(r.filter.fromBlock&&(i.fromBlock=rm(r.filter.fromBlock)),r.filter.toBlock&&(i.toBlock=rm(r.filter.toBlock)),r.filter.address&&(i.address=r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&ti.throwError("unsupported topic count",O.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),r.filter.topics.length===1)){const l=r.filter.topics[0];(typeof l!="string"||l.length!==66)&&ti.throwError("unsupported topic format",O.errors.UNSUPPORTED_OPERATION,{topic0:l}),i.topic0=l}const o=yield this.fetch("logs",i);let s={};for(let l=0;l{["contractAddress","to"].forEach(function(a){s[a]==""&&delete s[a]}),s.creates==null&&s.contractAddress!=null&&(s.creates=s.contractAddress);const l=this.formatter.transactionResponse(s);return s.timeStamp&&(l.timestamp=parseInt(s.timeStamp)),l})})}isCommunityResource(){return this.apiKey==null}}var ou=function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};const Si=new O($t);function Yl(){return new Date().getTime()}function nm(t){let e=null;for(let r=0;re?null:(n+i)/2}function mo(t){if(t===null)return"null";if(typeof t=="number"||typeof t=="boolean")return JSON.stringify(t);if(typeof t=="string")return t;if(G.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map(e=>mo(e)));if(typeof t=="object"){const e=Object.keys(t);return e.sort(),"{"+e.map(r=>{let n=t[r];return typeof n=="function"?n="[function]":n=mo(n),JSON.stringify(r)+":"+n}).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}let X3=1;function om(t){let e=null,r=null,n=new Promise(s=>{e=function(){r&&(clearTimeout(r),r=null),s()},r=setTimeout(e,t)});const i=s=>(n=n.then(s),n);function o(){return n}return{cancel:e,getPromise:o,wait:i}}const Z3=[O.errors.CALL_EXCEPTION,O.errors.INSUFFICIENT_FUNDS,O.errors.NONCE_EXPIRED,O.errors.REPLACEMENT_UNDERPRICED,O.errors.UNPREDICTABLE_GAS_LIMIT],eS=["address","args","errorArgs","errorSignature","method","transaction"];function Xl(t,e){const r={weight:t.weight};return Object.defineProperty(r,"provider",{get:()=>t.provider}),t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function tS(t,e){return function(r){const n={};r.forEach(o=>{const s=t(o.result);n[s]||(n[s]={count:0,result:o.result}),n[s].count++});const i=Object.keys(n);for(let o=0;o=e)return s.result}}}function rS(t,e,r){let n=mo;switch(e){case"getBlockNumber":return function(i){const o=i.map(l=>l.result);let s=im(i.map(l=>l.result),2);if(s!=null)return s=Math.ceil(s),o.indexOf(s+1)>=0&&s++,s>=t._highestBlockNumber&&(t._highestBlockNumber=s),t._highestBlockNumber};case"getGasPrice":return function(i){const o=i.map(s=>s.result);return o.sort(),o[Math.floor(o.length/2)]};case"getEtherPrice":return function(i){return im(i.map(o=>o.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(i){return i==null?null:(i=it(i),i.confirmations=-1,mo(i))};break;case"getBlock":r.includeTransactions?n=function(i){return i==null?null:(i=it(i),i.transactions=i.transactions.map(o=>(o=it(o),o.confirmations=-1,o)),mo(i))}:n=function(i){return i==null?null:mo(i)};break;default:throw new Error("unknown method: "+e)}return tS(n,t.quorum)}function cs(t,e){return ou(this,void 0,void 0,function*(){const r=t.provider;return r.blockNumber!=null&&r.blockNumber>=e||e===-1?r:po(()=>new Promise((n,i)=>{setTimeout(function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)},0)}),{oncePoll:r})})}function nS(t,e,r,n){return ou(this,void 0,void 0,function*(){let i=t.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&pe(n.blockTag)&&(i=yield cs(t,e)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&pe(n.blockTag)&&(i=yield cs(t,e)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&pe(n.blockTag)&&(i=yield cs(t,e)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&pe(n.blockTag)&&(i=yield cs(t,e)),r==="call"&&n.blockTag?i[r](n.transaction,n.blockTag):i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let o=n.filter;return(o.fromBlock&&pe(o.fromBlock)||o.toBlock&&pe(o.toBlock))&&(i=yield cs(t,e)),i.getLogs(o)}}return Si.throwError("unknown method error",O.errors.UNKNOWN_ERROR,{method:r,params:n})})}class w1 extends Hu{constructor(e,r){e.length===0&&Si.throwArgumentError("missing providers","providers",e);const n=e.map((s,l)=>{if(Wo.isProvider(s)){const c=vd(s)?2e3:750;return Object.freeze({provider:s,weight:1,stallTimeout:c,priority:1})}const a=it(s);a.priority==null&&(a.priority=1),a.stallTimeout==null&&(a.stallTimeout=vd(s)?2e3:750),a.weight==null&&(a.weight=1);const u=a.weight;return(u%1||u>512||u<1)&&Si.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${l}].weight`,u),Object.freeze(a)}),i=n.reduce((s,l)=>s+l.weight,0);r==null?r=i/2:r>i&&Si.throwArgumentError("quorum will always fail; larger than total weight","quorum",r);let o=nm(n.map(s=>s.provider.network));o==null&&(o=new Promise((s,l)=>{setTimeout(()=>{this.detectNetwork().then(s,l)},0)})),super(o),z(this,"providerConfigs",Object.freeze(n)),z(this,"quorum",r),this._highestBlockNumber=-1}detectNetwork(){return ou(this,void 0,void 0,function*(){const e=yield Promise.all(this.providerConfigs.map(r=>r.provider.getNetwork()));return nm(e)})}perform(e,r){return ou(this,void 0,void 0,function*(){if(e==="sendTransaction"){const a=yield Promise.all(this.providerConfigs.map(u=>u.provider.sendTransaction(r.signedTransaction).then(c=>c.hash,c=>c)));for(let u=0;ua.priority-u.priority);const o=this._highestBlockNumber;let s=0,l=!0;for(;;){const a=Yl();let u=i.filter(g=>g.runner&&a-g.startg+v.weight,0);for(;u{g.staller=null}),g.runner=nS(g,o,e,r).then(E=>{g.done=!0,g.result=E,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:v,backend:Xl(g,Yl()),request:{method:e,params:nr(r)},provider:this})},E=>{g.done=!0,g.error=E,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:v,backend:Xl(g,Yl()),request:{method:e,params:nr(r)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:v,backend:Xl(g,null),request:{method:e,params:nr(r)},provider:this}),u+=g.weight}const c=[];i.forEach(g=>{g.done||!g.runner||(c.push(g.runner),g.staller&&c.push(g.staller.getPromise()))}),c.length&&(yield Promise.race(c));const d=i.filter(g=>g.done&&g.error==null);if(d.length>=this.quorum){const g=n(d);if(g!==void 0)return i.forEach(v=>{v.staller&&v.staller.cancel(),v.cancelled=!0}),g;l||(yield om(100).getPromise()),l=!1}const m=i.reduce((g,v)=>{if(!v.done||v.error==null)return g;const E=v.error.code;return Z3.indexOf(E)>=0&&(g[E]||(g[E]={error:v.error,weight:0}),g[E].weight+=v.weight),g},{});if(Object.keys(m).forEach(g=>{const v=m[g];if(v.weight{x.staller&&x.staller.cancel(),x.cancelled=!0});const E=v.error,N={};eS.forEach(x=>{E[x]!=null&&(N[x]=E[x])}),Si.throwError(E.reason||E.message,g,N)}),i.filter(g=>!g.done).length===0)break}return i.forEach(a=>{a.staller&&a.staller.cancel(),a.cancelled=!0}),Si.throwError("failed to meet quorum",O.errors.SERVER_ERROR,{method:e,params:r,results:i.map(a=>Xl(a)),provider:this})})}}const x1=null,ba=new O($t),vs="84842078b09946638c03157f83405213";class E1 extends qu{constructor(e,r){const n=new Bh(e,r),i=n.connection;i.password&&ba.throwError("INFURA WebSocket project secrets unsupported",O.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const o=i.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,e),z(this,"apiKey",n.projectId),z(this,"projectId",n.projectId),z(this,"projectSecret",n.projectSecret)}isCommunityResource(){return this.projectId===vs}}class Bh extends Fn{static getWebSocketProvider(e,r){return new E1(e,r)}static getApiKey(e){const r={apiKey:vs,projectId:vs,projectSecret:null};return e==null||(typeof e=="string"?r.projectId=e:e.projectSecret!=null?(ba.assertArgument(typeof e.projectId=="string","projectSecret requires a projectId","projectId",e.projectId),ba.assertArgument(typeof e.projectSecret=="string","invalid projectSecret","projectSecret","[REDACTED]"),r.projectId=e.projectId,r.projectSecret=e.projectSecret):e.projectId&&(r.projectId=e.projectId),r.apiKey=r.projectId),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"homestead":n="mainnet.infura.io";break;case"goerli":n="goerli.infura.io";break;case"sepolia":n="sepolia.infura.io";break;case"matic":n="polygon-mainnet.infura.io";break;case"maticmum":n="polygon-mumbai.infura.io";break;case"optimism":n="optimism-mainnet.infura.io";break;case"optimism-goerli":n="optimism-goerli.infura.io";break;case"arbitrum":n="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":n="arbitrum-goerli.infura.io";break;default:ba.throwError("unsupported network",O.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const i={allowGzip:!0,url:"https://"+n+"/v3/"+r.projectId,throttleCallback:(o,s)=>(r.projectId===vs&&_l(),Promise.resolve(!0))};return r.projectSecret!=null&&(i.user="",i.password=r.projectSecret),i}isCommunityResource(){return this.projectId===vs}}class iS extends vi{send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this._pendingBatch==null&&(this._pendingBatch=[]);const i={request:n,resolve:null,reject:null},o=new Promise((s,l)=>{i.resolve=s,i.reject=l});return this._pendingBatch.push(i),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{const s=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const l=s.map(a=>a.request);return this.emit("debug",{action:"requestBatch",request:nr(l),provider:this}),Al(this.connection,JSON.stringify(l)).then(a=>{this.emit("debug",{action:"response",request:l,response:a,provider:this}),s.forEach((u,c)=>{const d=a[c];if(d.error){const m=new Error(d.error.message);m.code=d.error.code,m.data=d.error.data,u.reject(m)}else u.resolve(d.result)})},a=>{this.emit("debug",{action:"response",error:a,request:l,provider:this}),s.forEach(u=>{u.reject(a)})})},10)),o}}const nf=new O($t),oS="ETHERS_JS_SHARED";class b1 extends Fn{static getApiKey(e){return e&&typeof e!="string"&&nf.throwArgumentError("invalid apiKey","apiKey",e),e||oS}static getUrl(e,r){nf.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let n=null;switch(e.name){case"homestead":n="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":n="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":n="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":n="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":n="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:nf.throwArgumentError("unsupported network","network",arguments[0])}return n+"?apiKey="+r}}const sm=new O($t),lm="62e1ad51b37b8e00394bda3b";class A1 extends Fn{static getApiKey(e){const r={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return e==null?r.applicationId=lm:typeof e=="string"?r.applicationId=e:e.applicationSecretKey!=null?(r.applicationId=e.applicationId,r.applicationSecretKey=e.applicationSecretKey):e.applicationId?r.applicationId=e.applicationId:sm.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"goerli":n="eth-goerli.gateway.pokt.network";break;case"homestead":n="eth-mainnet.gateway.pokt.network";break;case"kovan":n="poa-kovan.gateway.pokt.network";break;case"matic":n="poly-mainnet.gateway.pokt.network";break;case"maticmum":n="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":n="eth-rinkeby.gateway.pokt.network";break;case"ropsten":n="eth-ropsten.gateway.pokt.network";break;default:sm.throwError("unsupported network",O.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const i=`https://${n}/v1/lb/${r.applicationId}`,o={headers:{},url:i};return r.applicationSecretKey!=null&&(o.user="",o.password=r.applicationSecretKey),o}isCommunityResource(){return this.applicationId===lm}}const am=new O($t);let sS=1;function um(t,e){const r="Web3LegacyFetcher";return function(n,i){const o={method:n,params:i,id:sS++,jsonrpc:"2.0"};return new Promise((s,l)=>{this.emit("debug",{action:"request",fetcher:r,request:nr(o),provider:this}),e(o,(a,u)=>{if(a)return this.emit("debug",{action:"response",fetcher:r,error:a,request:o,provider:this}),l(a);if(this.emit("debug",{action:"response",fetcher:r,request:o,response:u,provider:this}),u.error){const c=new Error(u.error.message);return c.code=u.error.code,c.data=u.error.data,l(c)}s(u.result)})})}}function lS(t){return function(e,r){r==null&&(r=[]);const n={method:e,params:r};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:nr(n),provider:this}),t.request(n).then(i=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,response:i,provider:this}),i),i=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,error:i,provider:this}),i})}}class _1 extends vi{constructor(e,r){e==null&&am.throwArgumentError("missing provider","provider",e);let n=null,i=null,o=null;typeof e=="function"?(n="unknown:",i=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),o=e,e.request?(n===""&&(n="eip-1193:"),i=lS(e)):e.sendAsync?i=um(e,e.sendAsync.bind(e)):e.send?i=um(e,e.send.bind(e)):am.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,r),z(this,"jsonRpcFetchFunc",i),z(this,"provider",o)}send(e,r){return this.jsonRpcFetchFunc(e,r)}}const cm=new O($t);function aS(t,e){if(t==null&&(t="homestead"),typeof t=="string"){const n=t.match(/^(ws|http)s?:/i);if(n)switch(n[1].toLowerCase()){case"http":case"https":return new vi(t);case"ws":case"wss":return new qu(t);default:cm.throwArgumentError("unsupported URL scheme","network",t)}}const r=Th(t);return(!r||!r._defaultProvider)&&cm.throwError("unsupported getDefaultProvider network",O.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),r._defaultProvider({FallbackProvider:w1,AlchemyProvider:Lh,AnkrProvider:g1,CloudflareProvider:v1,EtherscanProvider:y1,InfuraProvider:Bh,JsonRpcProvider:vi,NodesmithProvider:b1,PocketProvider:A1,Web3Provider:_1,IpcProvider:x1},e)}const uS=Object.freeze(Object.defineProperty({__proto__:null,AlchemyProvider:Lh,AlchemyWebSocketProvider:m1,AnkrProvider:g1,BaseProvider:Hu,CloudflareProvider:v1,EtherscanProvider:y1,FallbackProvider:w1,Formatter:te,InfuraProvider:Bh,InfuraWebSocketProvider:E1,IpcProvider:x1,JsonRpcBatchProvider:iS,JsonRpcProvider:vi,JsonRpcSigner:Oh,NodesmithProvider:b1,PocketProvider:A1,Provider:Wo,Resolver:yd,StaticJsonRpcProvider:p1,UrlJsonRpcProvider:Fn,Web3Provider:_1,WebSocketProvider:qu,getDefaultProvider:aS,getNetwork:Th,isCommunityResourcable:c1,isCommunityResource:vd,showThrottleMessage:_l},Symbol.toStringTag,{value:"Module"})),cS="solidity/5.7.0",fS=new RegExp("^bytes([0-9]+)$"),dS=new RegExp("^(u?int)([0-9]*)$"),hS=new RegExp("^(.*)\\[([0-9]*)\\]$"),pS="0000000000000000000000000000000000000000000000000000000000000000",Xi=new O(cS);function S1(t,e,r){switch(t){case"address":return r?pa(e,32):se(e);case"string":return mr(e);case"bytes":return se(e);case"bool":return e=e?"0x01":"0x00",r?pa(e,32):se(e)}let n=t.match(dS);if(n){let i=parseInt(n[2]||"256");return(n[2]&&String(i)!==n[2]||i%8!==0||i===0||i>256)&&Xi.throwArgumentError("invalid number type","type",t),r&&(i=256),e=G.from(e).toTwos(i),pa(e,i/8)}if(n=t.match(fS),n){const i=parseInt(n[1]);return(String(i)!==n[1]||i===0||i>32)&&Xi.throwArgumentError("invalid bytes type","type",t),se(e).byteLength!==i&&Xi.throwArgumentError(`invalid value for ${t}`,"value",e),r?se((e+pS).substring(0,66)):e}if(n=t.match(hS),n&&Array.isArray(e)){const i=n[1];parseInt(n[2]||String(e.length))!=e.length&&Xi.throwArgumentError(`invalid array length for ${t}`,"value",e);const s=[];return e.forEach(function(l){s.push(S1(i,l,!0))}),Ut(s)}return Xi.throwArgumentError("invalid type","type",t)}function mS(t,e){t.length!=e.length&&Xi.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);const r=[];return t.forEach(function(n,i){r.push(S1(n,e[i]))}),re(Ut(r))}function gS(t,e){return ut(mS(t,e))}var Wu={},Cn={},k1={};const vS=Fo(nb);var yS={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const fm=t=>{let e;const r=new Set,n=(a,u)=>{const c=typeof a=="function"?a(e):a;if(!Object.is(c,e)){const d=e;e=u??typeof c!="object"?c:Object.assign({},e,c),r.forEach(m=>m(e,d))}},i=()=>e,l={setState:n,getState:i,subscribe:a=>(r.add(a),()=>r.delete(a)),destroy:()=>{(yS?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,l),l},N1=t=>t?fm(t):fm;var P1={exports:{}},C1={},M1={exports:{}},I1={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var jo=L;function wS(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var xS=typeof Object.is=="function"?Object.is:wS,ES=jo.useState,bS=jo.useEffect,AS=jo.useLayoutEffect,_S=jo.useDebugValue;function SS(t,e){var r=e(),n=ES({inst:{value:r,getSnapshot:e}}),i=n[0].inst,o=n[1];return AS(function(){i.value=r,i.getSnapshot=e,of(i)&&o({inst:i})},[t,r,e]),bS(function(){return of(i)&&o({inst:i}),t(function(){of(i)&&o({inst:i})})},[t]),_S(r),r}function of(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!xS(t,r)}catch{return!0}}function kS(t,e){return e()}var NS=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?kS:SS;I1.useSyncExternalStore=jo.useSyncExternalStore!==void 0?jo.useSyncExternalStore:NS;M1.exports=I1;var PS=M1.exports;/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Gu=L,CS=PS;function MS(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var IS=typeof Object.is=="function"?Object.is:MS,RS=CS.useSyncExternalStore,TS=Gu.useRef,OS=Gu.useEffect,LS=Gu.useMemo,BS=Gu.useDebugValue;C1.useSyncExternalStoreWithSelector=function(t,e,r,n,i){var o=TS(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=LS(function(){function a(g){if(!u){if(u=!0,c=g,g=n(g),i!==void 0&&s.hasValue){var v=s.value;if(i(v,g))return d=v}return d=g}if(v=d,IS(c,g))return v;var E=n(g);return i!==void 0&&i(v,E)?v:(c=g,d=E)}var u=!1,c,d,m=r===void 0?null:r;return[function(){return a(e())},m===null?void 0:function(){return a(m())}]},[e,r,n,i]);var l=RS(t,o[0],o[1]);return OS(function(){s.hasValue=!0,s.value=l},[l]),BS(l),l};P1.exports=C1;var jS=P1.exports;const Vu=Uo(jS),{useSyncExternalStoreWithSelector:DS}=Vu;function R1(t,e=t.getState,r){const n=DS(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const dm=t=>{const e=typeof t=="function"?N1(t):t,r=(n,i)=>R1(e,n,i);return Object.assign(r,e),r},T1=t=>t?dm(t):dm;var US=t=>T1(t);const FS=Object.freeze(Object.defineProperty({__proto__:null,create:T1,createStore:N1,default:US,useStore:R1},Symbol.toStringTag,{value:"Module"})),zS=Fo(FS);(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createWeb3ReactStoreAndActions=t.MAX_SAFE_CHAIN_ID=void 0;const e=vS,r=zS;t.MAX_SAFE_CHAIN_ID=0xfffffffffffec;function n(l){if(!Number.isInteger(l)||l<=0||l>t.MAX_SAFE_CHAIN_ID)throw new Error(`Invalid chainId ${l}`)}function i(l){return(0,e.getAddress)(l)}const o={chainId:void 0,accounts:void 0,activating:!1};function s(){const l=(0,r.createStore)()(()=>o);let a=0;function u(){const m=++a;return l.setState(Object.assign(Object.assign({},o),{activating:!0})),()=>{a===m&&l.setState({activating:!1})}}function c(m){if(m.chainId!==void 0&&n(m.chainId),m.accounts!==void 0)for(let g=0;g{var v,E;const N=(v=m.chainId)!==null&&v!==void 0?v:g.chainId,x=(E=m.accounts)!==null&&E!==void 0?E:g.accounts;let w=g.activating;return w&&N&&x&&(w=!1),{chainId:N,accounts:x,activating:w}})}function d(){a++,l.setState(o)}return[l,{startActivation:u,update:c,resetState:d}]}t.createWeb3ReactStoreAndActions=s})(k1);var $S={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const hm=t=>{let e;const r=new Set,n=(a,u)=>{const c=typeof a=="function"?a(e):a;if(!Object.is(c,e)){const d=e;e=u??typeof c!="object"?c:Object.assign({},e,c),r.forEach(m=>m(e,d))}},i=()=>e,l={setState:n,getState:i,subscribe:a=>(r.add(a),()=>r.delete(a)),destroy:()=>{($S?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,l),l},jh=t=>t?hm(t):hm,{useSyncExternalStoreWithSelector:HS}=Vu;function O1(t,e=t.getState,r){const n=HS(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const pm=t=>{const e=typeof t=="function"?jh(t):t,r=(n,i)=>O1(e,n,i);return Object.assign(r,e),r},L1=t=>t?pm(t):pm;var qS=t=>L1(t);const WS=Object.freeze(Object.defineProperty({__proto__:null,create:L1,createStore:jh,default:qS,useStore:O1},Symbol.toStringTag,{value:"Module"})),GS=Fo(WS),{useSyncExternalStoreWithSelector:VS}=Vu;function B1(t,e=t.getState,r){const n=VS(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const mm=(t,e)=>{const r=jh(t),n=(i,o=e)=>B1(r,i,o);return Object.assign(n,r),n},KS=(t,e)=>t?mm(t,e):mm,QS=Object.freeze(Object.defineProperty({__proto__:null,createWithEqualityFn:KS,useStoreWithEqualityFn:B1},Symbol.toStringTag,{value:"Module"})),JS=Fo(QS),YS=Fo(uS);var XS=Fe&&Fe.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),ZS=Fe&&Fe.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ek=Fe&&Fe.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&XS(e,t,r);return ZS(e,t),e},tk=Fe&&Fe.__awaiter||function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.getPriorityConnector=Cn.getSelectedConnector=Cn.initializeConnector=void 0;const rk=k1,go=L,gm=GS,nk=JS;let So;function ik(){return tk(this,void 0,void 0,function*(){if(So===void 0)try{const{Web3Provider:t}=yield Promise.resolve().then(()=>ek(YS));So=t}catch{console.debug("@ethersproject/providers not available"),So=null}})}function ok(t){const[e,r]=(0,rk.createWeb3ReactStoreAndActions)(),n=t(r),i=dk(e),o=hk(i),s=pk(n,i,o);return[n,Object.assign(Object.assign(Object.assign({},i),o),s),e]}Cn.initializeConnector=ok;function sk({chainId:t,accounts:e,activating:r}){return!!(t&&e&&!r)}function j1(...t){function e(d){const m=t.findIndex(([g])=>d===g);if(m===-1)throw new Error("Connector not found");return m}function r(d){const m=t[e(d)][2];if(!m)throw new Error("Stores not passed");return m}function n(d){return t.map(([,{useChainId:g}])=>g())[e(d)]}function i(d){return t.map(([,{useAccounts:g}])=>g())[e(d)]}function o(d){return t.map(([,{useIsActivating:g}])=>g())[e(d)]}function s(d){return t.map(([,{useAccount:g}])=>g())[e(d)]}function l(d){return t.map(([,{useIsActive:g}])=>g())[e(d)]}function a(d,m){const g=e(d);return t.map(([,{useProvider:E}],N)=>E(m,N===g))[g]}function u(d,m){const g=e(d);return t.map(([,{useENSNames:E}],N)=>E(N===g?m:void 0))[g]}function c(d,m){const g=e(d);return t.map(([,{useENSName:E}],N)=>E(N===g?m:void 0))[g]}return{useSelectedStore:r,useSelectedChainId:n,useSelectedAccounts:i,useSelectedIsActivating:o,useSelectedAccount:s,useSelectedIsActive:l,useSelectedProvider:a,useSelectedENSNames:u,useSelectedENSName:c}}Cn.getSelectedConnector=j1;function lk(...t){const{useSelectedStore:e,useSelectedChainId:r,useSelectedAccounts:n,useSelectedIsActivating:i,useSelectedAccount:o,useSelectedIsActive:s,useSelectedProvider:l,useSelectedENSNames:a,useSelectedENSName:u}=j1(...t);function c(){const B=t.map(([,{useIsActive:D}])=>D()).findIndex(D=>D);return t[B===-1?0:B][0]}function d(){return e(c())}function m(){return r(c())}function g(){return n(c())}function v(){return i(c())}function E(){return o(c())}function N(){return s(c())}function x(T){return l(c(),T)}function w(T){return a(c(),T)}function b(T){return u(c(),T)}return{useSelectedStore:e,useSelectedChainId:r,useSelectedAccounts:n,useSelectedIsActivating:i,useSelectedAccount:o,useSelectedIsActive:s,useSelectedProvider:l,useSelectedENSNames:a,useSelectedENSName:u,usePriorityConnector:c,usePriorityStore:d,usePriorityChainId:m,usePriorityAccounts:g,usePriorityIsActivating:v,usePriorityAccount:E,usePriorityIsActive:N,usePriorityProvider:x,usePriorityENSNames:w,usePriorityENSName:b}}Cn.getPriorityConnector=lk;const ak=({chainId:t})=>t,uk=({accounts:t})=>t,ck=({activating:t})=>t,fk=(t,e)=>t===void 0&&e===void 0||t!==void 0&&t.length===(e==null?void 0:e.length)&&t.every((r,n)=>r===e[n]);function dk(t){function e(){return(0,gm.useStore)(t,ak)}function r(){return(0,nk.useStoreWithEqualityFn)(t,uk,fk)}function n(){return(0,gm.useStore)(t,ck)}return{useChainId:e,useAccounts:r,useIsActivating:n}}function hk({useChainId:t,useAccounts:e,useIsActivating:r}){function n(){var o;return(o=e())===null||o===void 0?void 0:o[0]}function i(){const o=t(),s=e(),l=r();return sk({chainId:o,accounts:s,activating:l})}return{useAccount:n,useIsActive:i}}function vm(t,e=[]){const[r,n]=(0,go.useState)();return(0,go.useEffect)(()=>{if(t&&e.length){let i=!1;return Promise.all(e.map(o=>t.lookupAddress(o))).then(o=>{i||n(o)}).catch(o=>{i||(console.debug("Could not fetch ENS names",o),n(new Array(e.length).fill(null)))}),()=>{i=!0,n(void 0)}}},[t,e]),r??new Array(e.length).fill(void 0)}function pk(t,{useAccounts:e,useChainId:r},{useAccount:n,useIsActive:i}){function o(a,u=!0){const c=i(),d=r(),[m,g]=(0,go.useState)(So!==void 0);return(0,go.useEffect)(()=>{if(m)return;let v=!1;return ik().then(()=>{v||g(!0)}),()=>{v=!0}},[m]),(0,go.useMemo)(()=>{if(u){if(t.customProvider)return t.customProvider;if(So&&t.provider)return new So(t.provider,a)}},[m,u,c,d,a])}function s(a){const u=e();return vm(a,u)}function l(a){var u;const c=n(),d=(0,go.useMemo)(()=>c===void 0?void 0:[c],[c]);return(u=vm(a,d))===null||u===void 0?void 0:u[0]}return{useProvider:o,useENSNames:s,useENSName:l}}var Ku={},D1={exports:{}};(function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(a,u,c){this.fn=a,this.context=u,this.once=c||!1}function o(a,u,c,d,m){if(typeof c!="function")throw new TypeError("The listener must be a function");var g=new i(c,d||a,m),v=r?r+u:u;return a._events[v]?a._events[v].fn?a._events[v]=[a._events[v],g]:a._events[v].push(g):(a._events[v]=g,a._eventsCount++),a}function s(a,u){--a._eventsCount===0?a._events=new n:delete a._events[u]}function l(){this._events=new n,this._eventsCount=0}l.prototype.eventNames=function(){var u=[],c,d;if(this._eventsCount===0)return u;for(d in c=this._events)e.call(c,d)&&u.push(r?d.slice(1):d);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(c)):u},l.prototype.listeners=function(u){var c=r?r+u:u,d=this._events[c];if(!d)return[];if(d.fn)return[d.fn];for(var m=0,g=d.length,v=new Array(g);me),this.eth_accounts=jest.fn(e=>e),this.eth_requestAccounts=jest.fn(e=>e)}request(e){if(!this.chainId)return Promise.reject(new Error);switch(e.method){case"eth_chainId":return Promise.resolve(this.eth_chainId(this.chainId));case"eth_accounts":return Promise.resolve(this.eth_accounts(this.accounts));case"eth_requestAccounts":return Promise.resolve(this.eth_requestAccounts(this.accounts));default:throw new Error(`Method not supported on mock: ${JSON.stringify(e)}`)}}emitConnect(e){this.emit("connect",{chainId:e})}emitDisconnect(e){this.emit("disconnect",e)}emitChainChanged(e){this.emit("chainChanged",e)}emitAccountsChanged(e){this.emit("accountsChanged",e)}}Ku.MockEIP1193Provider=vk;var Do={},yk=Fe&&Fe.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),wk=Fe&&Fe.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),xk=Fe&&Fe.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&yk(e,t,r);return wk(e,t),e};Object.defineProperty(Do,"__esModule",{value:!0});Do.useWeb3React=Do.Web3ReactProvider=void 0;const su=xk(L),Ek=Cn,U1=(0,su.createContext)(void 0);function bk({children:t,connectors:e,connectorOverride:r,network:n,lookupENS:i=!0}){const o=(0,su.useRef)(e);if(e.length!=o.current.length||e.some((Q,X)=>{const ie=o.current[X];return Q[0]!==ie[0]}))throw new Error("The connectors prop passed to Web3ReactProvider must be referentially static. If connectors is changing, try providing a key prop to Web3ReactProvider that changes every time connectors changes.");const s=(0,Ek.getPriorityConnector)(...e),{usePriorityConnector:l,useSelectedChainId:a,useSelectedAccounts:u,useSelectedIsActivating:c,useSelectedAccount:d,useSelectedIsActive:m,useSelectedProvider:g,useSelectedENSNames:v,useSelectedENSName:E}=s,N=l(),x=r??N,w=a(x),b=u(x),T=c(x),B=d(x),D=m(x),$=g(x,n),H=v(x,i?$:void 0),Y=E(x,i?$:void 0);return su.default.createElement(U1.Provider,{value:{connector:x,chainId:w,accounts:b,isActivating:T,account:B,isActive:D,provider:$,ENSNames:H,ENSName:Y,hooks:s}},t)}Do.Web3ReactProvider=bk;function Ak(){const t=(0,su.useContext)(U1);if(!t)throw Error("useWeb3React can only be used within the Web3ReactProvider component");return t}Do.useWeb3React=Ak;(function(t){var e=Fe&&Fe.__createBinding||(Object.create?function(n,i,o,s){s===void 0&&(s=o);var l=Object.getOwnPropertyDescriptor(i,o);(!l||("get"in l?!i.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return i[o]}}),Object.defineProperty(n,s,l)}:function(n,i,o,s){s===void 0&&(s=o),n[s]=i[o]}),r=Fe&&Fe.__exportStar||function(n,i){for(var o in n)o!=="default"&&!Object.prototype.hasOwnProperty.call(i,o)&&e(i,n,o)};Object.defineProperty(t,"__esModule",{value:!0}),r(Cn,t),r(Ku,t),r(Do,t)})(Wu);const sf=[{type:"function",name:"UPGRADE_INTERFACE_VERSION",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"approve",inputs:[{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"apps",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"balanceOf",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"contractURI",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"getApproved",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"getInitializedVersion",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"getPackageId",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"getPackageInfo",inputs:[{name:"package",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",internalType:"struct IKinodeAppStore.PackageInfo",components:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}]}],stateMutability:"view"},{type:"function",name:"getPackageInfo",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"tuple",internalType:"struct IKinodeAppStore.PackageInfo",components:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}]}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_knsResolver",type:"address",internalType:"contract KNSRegistryResolver"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isApprovedForAll",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"knsResolver",inputs:[],outputs:[{name:"",type:"address",internalType:"contract KNSRegistryResolver"}],stateMutability:"view"},{type:"function",name:"name",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ownerOf",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"proxiableUUID",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"registerApp",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"safeTransferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"safeTransferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setApprovalForAll",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"approved",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"symbol",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"tokenURI",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"transferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unlistPacakge",inputs:[{name:"package",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateContractURI",inputs:[{name:"uri",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateMetadata",inputs:[{name:"package",type:"uint256",internalType:"uint256"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"upgradeToAndCall",inputs:[{name:"newImplementation",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"event",name:"AppMetadataUpdated",inputs:[{name:"package",type:"uint256",indexed:!0,internalType:"uint256"},{name:"metadataUrl",type:"string",indexed:!1,internalType:"string"},{name:"metadataHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"AppRegistered",inputs:[{name:"package",type:"uint256",indexed:!0,internalType:"uint256"},{name:"packageName",type:"string",indexed:!1,internalType:"string"},{name:"publisherName",type:"bytes",indexed:!1,internalType:"bytes"},{name:"metadataUrl",type:"string",indexed:!1,internalType:"string"},{name:"metadataHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"Approval",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"approved",type:"address",indexed:!0,internalType:"address"},{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ApprovalForAll",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"approved",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Transfer",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Upgraded",inputs:[{name:"implementation",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"error",name:"AddressEmptyCode",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967InvalidImplementation",inputs:[{name:"implementation",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967NonPayable",inputs:[]},{type:"error",name:"ERC721IncorrectOwner",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InsufficientApproval",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC721InvalidApprover",inputs:[{name:"approver",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidOperator",inputs:[{name:"operator",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidReceiver",inputs:[{name:"receiver",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidSender",inputs:[{name:"sender",type:"address",internalType:"address"}]},{type:"error",name:"ERC721NonexistentToken",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FailedInnerCall",inputs:[]},{type:"error",name:"InvalidInitialization",inputs:[]},{type:"error",name:"NotInitializing",inputs:[]},{type:"error",name:"OwnableInvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"OwnableUnauthorizedAccount",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"UUPSUnauthorizedCallContext",inputs:[]},{type:"error",name:"UUPSUnsupportedProxiableUUID",inputs:[{name:"slot",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"Unauthorized",inputs:[]}];class xd{static createInterface(){return new ud(sf)}static connect(e,r){return new v3(e,sf,r)}}zh(xd,"abi",sf);var F1={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ym=qr.createContext&&qr.createContext(F1),_k=["attr","size","title"];function Sk(t,e){if(t==null)return{};var r=kk(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function kk(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,o;for(o=0;o=0)&&(r[i]=t[i]);return r}function lu(){return lu=Object.assign?Object.assign.bind():function(t){for(var e=1;eqr.createElement(e.tag,au({key:r},e.attr),z1(e.child)))}function zn(t){return e=>qr.createElement(Mk,lu({attr:au({},t.attr)},e),z1(t.child))}function Mk(t){var e=r=>{var{attr:n,size:i,title:o}=t,s=Sk(t,_k),l=i||r.size||"1em",a;return r.className&&(a=r.className),t.className&&(a=(a?a+" ":"")+t.className),qr.createElement("svg",lu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,n,s,{className:a,style:au(au({color:t.color||r.color},r.style),t.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),o&&qr.createElement("title",null,o),t.children)};return ym!==void 0?qr.createElement(ym.Consumer,null,r=>e(r)):e(F1)}function Ik(t){return zn({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"},child:[]}]})(t)}function Rk(t){return zn({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(t)}function Tk(t){return zn({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(t)}function Ok(t){return zn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}function Lk(t){return zn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"},child:[]}]})(t)}function Bk(t){return zn({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"},child:[]}]})(t)}function jk(t){return zn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"},child:[]}]})(t)}function $1(t){return zn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}function Dk(t){return zn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"},child:[]}]})(t)}var Uk={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const xm=t=>{let e;const r=new Set,n=(a,u)=>{const c=typeof a=="function"?a(e):a;if(!Object.is(c,e)){const d=e;e=u??(typeof c!="object"||c===null)?c:Object.assign({},e,c),r.forEach(m=>m(e,d))}},i=()=>e,l={setState:n,getState:i,subscribe:a=>(r.add(a),()=>r.delete(a)),destroy:()=>{(Uk?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,l),l},Fk=t=>t?xm(t):xm;var H1={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:zk}=qr,{useSyncExternalStoreWithSelector:$k}=Vu;let Em=!1;function Hk(t,e=t.getState,r){(H1?"production":void 0)!=="production"&&r&&!Em&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Em=!0);const n=$k(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return zk(n),n}const bm=t=>{(H1?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?Fk(t):t,r=(n,i)=>Hk(e,n,i);return Object.assign(r,e),r},qk=t=>t?bm(t):bm;var Wk={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};function q1(t,e){let r;try{r=t()}catch{return}return{getItem:i=>{var o;const s=a=>a===null?null:JSON.parse(a,e==null?void 0:e.reviver),l=(o=r.getItem(i))!=null?o:null;return l instanceof Promise?l.then(s):s(l)},setItem:(i,o)=>r.setItem(i,JSON.stringify(o,e==null?void 0:e.replacer)),removeItem:i=>r.removeItem(i)}}const sl=t=>e=>{try{const r=t(e);return r instanceof Promise?r:{then(n){return sl(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return sl(n)(r)}}}},Gk=(t,e)=>(r,n,i)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:N=>N,version:0,merge:(N,x)=>({...x,...N}),...e},s=!1;const l=new Set,a=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return t((...N)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),r(...N)},n,i);const c=sl(o.serialize),d=()=>{const N=o.partialize({...n()});let x;const w=c({state:N,version:o.version}).then(b=>u.setItem(o.name,b)).catch(b=>{x=b});if(x)throw x;return w},m=i.setState;i.setState=(N,x)=>{m(N,x),d()};const g=t((...N)=>{r(...N),d()},n,i);let v;const E=()=>{var N;if(!u)return;s=!1,l.forEach(w=>w(n()));const x=((N=o.onRehydrateStorage)==null?void 0:N.call(o,n()))||void 0;return sl(u.getItem.bind(u))(o.name).then(w=>{if(w)return o.deserialize(w)}).then(w=>{if(w)if(typeof w.version=="number"&&w.version!==o.version){if(o.migrate)return o.migrate(w.state,w.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return w.state}).then(w=>{var b;return v=o.merge(w,(b=n())!=null?b:g),r(v,!0),d()}).then(()=>{x==null||x(v,void 0),s=!0,a.forEach(w=>w(v))}).catch(w=>{x==null||x(void 0,w)})};return i.persist={setOptions:N=>{o={...o,...N},N.getStorage&&(u=N.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>E(),hasHydrated:()=>s,onHydrate:N=>(l.add(N),()=>{l.delete(N)}),onFinishHydration:N=>(a.add(N),()=>{a.delete(N)})},E(),v||g},Vk=(t,e)=>(r,n,i)=>{let o={storage:q1(()=>localStorage),partialize:E=>E,version:0,merge:(E,N)=>({...N,...E}),...e},s=!1;const l=new Set,a=new Set;let u=o.storage;if(!u)return t((...E)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),r(...E)},n,i);const c=()=>{const E=o.partialize({...n()});return u.setItem(o.name,{state:E,version:o.version})},d=i.setState;i.setState=(E,N)=>{d(E,N),c()};const m=t((...E)=>{r(...E),c()},n,i);let g;const v=()=>{var E,N;if(!u)return;s=!1,l.forEach(w=>{var b;return w((b=n())!=null?b:m)});const x=((N=o.onRehydrateStorage)==null?void 0:N.call(o,(E=n())!=null?E:m))||void 0;return sl(u.getItem.bind(u))(o.name).then(w=>{if(w)if(typeof w.version=="number"&&w.version!==o.version){if(o.migrate)return o.migrate(w.state,w.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return w.state}).then(w=>{var b;return g=o.merge(w,(b=n())!=null?b:m),r(g,!0),c()}).then(()=>{x==null||x(g,void 0),g=n(),s=!0,a.forEach(w=>w(g))}).catch(w=>{x==null||x(void 0,w)})};return i.persist={setOptions:E=>{o={...o,...E},E.storage&&(u=E.storage)},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>v(),hasHydrated:()=>s,onHydrate:E=>(l.add(E),()=>{l.delete(E)}),onFinishHydration:E=>(a.add(E),()=>{a.delete(E)})},o.skipHydration||v(),g||m},Kk=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((Wk?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),Gk(t,e)):Vk(t,e),Qk=Kk;var jr=(t=>(t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t))(jr||{});const Ee=t=>`${t.package}:${t.publisher}`,Vi=t=>{var e;return((e=t.metadata)==null?void 0:e.name)||Ee(t)},lf=t=>{var e,r;return t.publisher==="sys"?"system":(e=t.state)!=null&&e.our_version&&!((r=t.state)!=null&&r.capsApproved)?"downloaded":t.metadata?"installed":"local"},or="/main:app_store:sys",Zl=(t,e)=>t.package===e.package&&t.publisher===e.publisher,Jo=qk()(Qk((t,e)=>({myApps:{downloaded:[],installed:[],local:[],system:[]},listedApps:[],searchResults:[],query:"",getMyApps:async()=>{const i=(await(await fetch(`${or}/apps`)).json()).reduce((o,s)=>{const l=lf(s);return o[l].push(s),o},{downloaded:[],installed:[],local:[],system:[]});return t(()=>({myApps:i})),i},getListedApps:async()=>{const n=await(await fetch(`${or}/apps/listed`)).json();return t({listedApps:n}),n},getMyApp:async r=>{const i=await(await fetch(`${or}/apps/${Ee(r)}`)).json(),o=lf(i),s=e().myApps;s[o]=s[o].map(a=>Zl(a,i)?i:a);const l=[...e().listedApps].map(a=>Zl(a,i)?i:a);return t({myApps:s,listedApps:l}),i},installApp:async r=>{if((await fetch(`${or}/apps/${Ee(r)}/caps`,{method:"POST"})).status!==jr.OK)throw new Error(`Failed to approve caps for app: ${Ee(r)}`);if((await fetch(`${or}/apps/${Ee(r)}`,{method:"POST"})).status!==jr.CREATED)throw new Error(`Failed to install app: ${Ee(r)}`)},updateApp:async r=>{if((await fetch(`${or}/apps/${Ee(r)}`,{method:"PUT"})).status!==jr.NO_CONTENT)throw new Error(`Failed to update app: ${Ee(r)}`)},uninstallApp:async r=>{if(!confirm(`Are you sure you want to remove ${Ee(r)}?`))return;if((await fetch(`${or}/apps/${Ee(r)}`,{method:"DELETE"})).status!==jr.NO_CONTENT)throw new Error(`Failed to remove app: ${Ee(r)}`);const i={...e().myApps},o=lf(r);i[o]=i[o].filter(l=>!Zl(l,r));const s=e().listedApps.map(l=>Zl(l,r)?{...l,state:void 0,installed:!1}:l);t({myApps:i,listedApps:s})},getListedApp:async r=>{const n=await fetch(`${or}/apps/listed/${r}`);if(n.status!==jr.OK)throw new Error(`Failed to get app: ${r}`);return await n.json()},downloadApp:async(r,n)=>{if((await fetch(`${or}/apps/listed/${Ee(r)}`,{method:"POST",body:JSON.stringify({download_from:n})})).status!==jr.CREATED)throw new Error(`Failed to get app: ${Ee(r)}`)},getCaps:async r=>{const n=await fetch(`${or}/apps/${Ee(r)}/caps`);if(n.status!==jr.OK)throw new Error(`Failed to get app: ${Ee(r)}`);return(await n.json())[0]},approveCaps:async r=>{if((await fetch(`${or}/apps/${Ee(r)}/caps`,{method:"POST"})).status!==jr.OK)throw new Error(`Failed to get app: ${Ee(r)}`)},setMirroring:async(r,n)=>{if((await fetch(`${or}/apps/${Ee(r)}/mirror`,{method:n?"PUT":"DELETE"})).status!==jr.OK)throw new Error(`Failed to start mirror: ${Ee(r)}`);e().getMyApp(r)},setAutoUpdate:async(r,n)=>{if((await fetch(`${or}/apps/${Ee(r)}/auto-update`,{method:n?"PUT":"DELETE"})).status!==jr.OK)throw new Error(`Failed to change auto update: ${Ee(r)}`);e().getMyApp(r)},get:e,set:t}),{name:"app_store",storage:q1(()=>sessionStorage)}));function W1({app:t,size:e="medium",...r}){var i,o,s,l,a;const n=vl();return P.jsxs("div",{...r,className:`app-header row ${e} ${r.className||""}`,onClick:()=>n(`/app-details/${Ee(t)}`),children:[P.jsx("img",{src:((i=t.metadata)==null?void 0:i.image)||"https://png.pngtree.com/png-vector/20190215/ourmid/pngtree-vector-question-mark-icon-png-image_515448.jpg",alt:"app icon"}),P.jsxs("div",{className:"col title",children:[P.jsx("div",{className:"app-name ellipsis",children:((o=t.metadata)==null?void 0:o.name)||Ee(t)}),((s=t.metadata)==null?void 0:s.description)&&e!=="large"&&P.jsx("div",{className:"ellipsis",children:(a=(l=t.metadata)==null?void 0:l.description)==null?void 0:a.slice(0,100)})]})]})}const Jk=({show:t,hide:e,hideClose:r=!1,title:n,...i})=>{const o=s=>{s.stopPropagation()};return t?P.jsx("div",{className:`modal-backdrop ${t?"show":""}`,onClick:e,children:P.jsxs("div",{...i,className:`col modal ${i.className||""}`,onClick:o,children:[!!n&&P.jsx("h4",{className:"modal-title",children:n}),!r&&P.jsx(Bk,{className:"close",onClick:e}),P.jsx("div",{className:"col modal-content",onClick:o,children:i.children})]})}):null};function Ed({msg:t}){return P.jsxs("div",{id:"loading",className:"flex flex-col text-center",children:[P.jsx("h4",{children:t}),P.jsxs("div",{id:"loader",children:[" ",P.jsx("div",{})," ",P.jsx("div",{})," ",P.jsx("div",{})," ",P.jsx("div",{})," "]})]})}function G1({app:t,...e}){var Q,X,ie,M,f,p,A;const{updateApp:r,downloadApp:n,installApp:i,getCaps:o,getMyApp:s}=Jo(),[l,a]=L.useState(!1),[u,c]=L.useState(((ie=(X=(Q=t.metadata)==null?void 0:Q.properties)==null?void 0:X.mirrors)==null?void 0:ie[0])||"Other"),[d,m]=L.useState(""),[g,v]=L.useState([]),[E,N]=L.useState(""),{clean:x,installed:w,downloaded:b,updatable:T}=L.useMemo(()=>{var h,C,Z,y;const _=(Object.entries(((C=(h=t==null?void 0:t.metadata)==null?void 0:h.properties)==null?void 0:C.code_hashes)||{}).find(([j])=>{var U,F;return j===((F=(U=t.metadata)==null?void 0:U.properties)==null?void 0:F.current_version)})||[])[1],I=t.installed,R=!!t.state,k=!!((Z=t.state)!=null&&Z.our_version&&_)&&((y=t.state)==null?void 0:y.our_version)!==_&&t.publisher!==window.our.node;return{clean:!I&&!R&&!k,installed:I,downloaded:R,updatable:k}},[t]);L.useEffect(()=>{var S,_,I;c(((I=(_=(S=t.metadata)==null?void 0:S.properties)==null?void 0:_.mirrors)==null?void 0:I[0])||"Other")},[(f=(M=t.metadata)==null?void 0:M.properties)==null?void 0:f.mirrors]);const B=L.useCallback(async()=>{w&&!T?window.alert("App is installed"):(b&&o(t).then(S=>{v(S.request_capabilities)}),a(!0))},[t,w,b,T,a,o]),D=L.useCallback(async S=>{S.preventDefault(),S.stopPropagation();const _=u==="Other"?d:u;if(!_){window.alert("Please select a mirror");return}try{N(`Downloading ${Vi(t)}...`),await n(t,_);const I=setInterval(()=>{s(t).then(()=>{N(""),a(!1),clearInterval(I)}).catch(console.log)},2e3)}catch(I){console.error(I),window.alert(`Failed to download app from ${_}, please try a different mirror.`),N("")}},[u,d,t,n,s]),$=L.useCallback(async()=>{try{N(`Installing ${Vi(t)}...`),await i(t);const S=setInterval(()=>{s(t).then(_=>{_.installed&&(N(""),a(!1),clearInterval(S))}).catch(console.log)},2e3)}catch(S){console.error(S),window.alert("Failed to install, please try again."),N("")}},[t,i,s]),H=L.useCallback(async()=>{try{N(`Updating ${Vi(t)}...`),await r(t);const S=setInterval(()=>{s(t).then(_=>{_.installed&&(N(""),a(!1),clearInterval(S))}).catch(console.log)},2e3)}catch(S){console.error(S),window.alert("Failed to update, please try again."),N("")}},[t,r,s]),Y=Vi(t);return P.jsxs(P.Fragment,{children:[P.jsx("button",{...e,type:"button",className:`small action-btn ${e.className||""}`,onClick:B,children:w&&T?"Update":w?"Installed":b?"Install":"Download"}),P.jsx(Jk,{show:l,hide:()=>a(!1),children:E?P.jsx(Ed,{msg:E}):x?P.jsxs("form",{className:"col",style:{alignItems:"center",gap:"1em"},onSubmit:D,children:[P.jsxs("h4",{children:["Download '",Y,"'"]}),P.jsx("h5",{style:{margin:0},children:"Select Mirror"}),P.jsx("select",{value:u,onChange:S=>c(S.target.value),children:(((A=(p=t.metadata)==null?void 0:p.properties)==null?void 0:A.mirrors)||[]).concat(["Other"]).map(S=>P.jsx("option",{value:S,children:S},S))}),u==="Other"&&P.jsx("input",{type:"text",value:d,onChange:S=>m(S.target.value),placeholder:"Mirror, i.e. 'template.os'",style:{padding:"0.5em",maxWidth:240,width:"100%"},required:!0,autoFocus:!0}),P.jsx("button",{type:"submit",children:"Download"})]}):b?P.jsxs(P.Fragment,{children:[P.jsx("h4",{children:"Approve App Permissions"}),P.jsxs("h5",{style:{margin:0},children:[Vi(t)," needs the following permissions:"]}),P.jsx("ul",{className:"col",style:{alignItems:"flex-start"},children:g.map(S=>P.jsx("li",{children:S},S))}),P.jsx("button",{type:"button",onClick:$,children:"Approve & Install"})]}):P.jsxs(P.Fragment,{children:[P.jsx("h4",{children:"Approve App Permissions"}),P.jsxs("h5",{style:{margin:0},children:[Vi(t)," needs the following permissions:"]}),P.jsx("br",{}),P.jsx("ul",{className:"col",style:{alignItems:"flex-start"},children:g.map(S=>P.jsx("li",{children:S},S))}),P.jsx("button",{type:"button",onClick:H,children:"Approve & Update"})]})})]})}const V1=t=>!!t&&t[0]==="o",Am=Qs.unstable_batchedUpdates||(t=>t()),Ki=(t,e,r=1e-4)=>Math.abs(t-e)t===!0||!!(t&&t[e]),hr=(t,e)=>typeof t=="function"?t(e):t,K1="_szhsinMenu",Yk=t=>t[K1],Xk=(t,e)=>Object.defineProperty(e,K1,{value:t}),Qu=(t,e)=>(e&&Object.keys(e).forEach(r=>{const n=t[r],i=e[r];typeof i=="function"&&n?t[r]=(...o)=>{i(...o),n(...o)}:t[r]=i}),t),Zk=t=>{if(typeof t!="string")return{top:0,right:0,bottom:0,left:0};const e=t.trim().split(/\s+/,4).map(parseFloat),r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?r:e[1];return{top:r,right:n,bottom:isNaN(e[2])?r:e[2],left:isNaN(e[3])?n:e[3]}},af=t=>{for(;t;){if(t=t.parentNode,!t||t===document.body||!t.parentNode)return;const{overflow:e,overflowX:r,overflowY:n}=getComputedStyle(t);if(/auto|scroll|overlay|hidden/.test(e+n+r))return t}};function Q1(t,e){return{"aria-disabled":t||void 0,tabIndex:e?0:-1}}function _m(t,e){for(let r=0;rL.useMemo(()=>{const i=e?`${t}__${e}`:t;let o=i;r&&Object.keys(r).forEach(l=>{const a=r[l];a&&(o+=` ${i}--${a===!0?l:`${l}-${a}`}`)});let s=typeof n=="function"?n(r):n;return typeof s=="string"&&(s=s.trim(),s&&(o+=` ${s}`)),o},[t,e,r,n]),eN="szh-menu-container",Aa="szh-menu",tN="szh-menu-button",rN="arrow",nN="item",J1=L.createContext(),Y1=L.createContext({}),Sm=L.createContext({}),X1=L.createContext({}),iN=L.createContext({}),Dh=L.createContext({}),$r=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),Et=Object.freeze({RESET:0,SET:1,UNSET:2,INCREASE:3,DECREASE:4,FIRST:5,LAST:6,SET_INDEX:7}),ul=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),Ms=Object.freeze({FIRST:"first",LAST:"last"}),oN=Object.freeze({entering:"opening",entered:"open",exiting:"closing",exited:"closed"}),uf="absolute",sN="presentation",Z1="menuitem",km={"aria-hidden":!0,role:Z1},lN=Xk("MenuButton",L.forwardRef(function({className:e,isOpen:r,disabled:n,children:i,...o},s){const l=L.useMemo(()=>({open:r}),[r]);return P.jsx("button",{"aria-haspopup":!0,"aria-expanded":r,"aria-disabled":n||void 0,type:"button",disabled:n,...o,ref:s,className:al({block:tN,modifiers:l,className:e}),children:i})})),aN=({className:t,containerRef:e,containerProps:r,children:n,isOpen:i,theming:o,transition:s,onClose:l})=>{const a=ll(s,"item"),u=({key:d})=>{switch(d){case $r.ESC:hr(l,{key:d,reason:ul.CANCEL});break}},c=d=>{i&&!d.currentTarget.contains(d.relatedTarget)&&hr(l,{reason:ul.BLUR})};return P.jsx("div",{...Qu({onKeyDown:u,onBlur:c},r),className:al({block:eN,modifiers:L.useMemo(()=>({theme:o,itemTransition:a}),[o,a]),className:t}),style:{position:"absolute",...r==null?void 0:r.style},ref:e,children:n})},uN=()=>{let t,e=0;return{toggle:r=>{r?e++:e--,e=Math.max(e,0)},on:(r,n,i)=>{e?t||(t=setTimeout(()=>{t=0,n()},r)):i==null||i()},off:()=>{t&&(clearTimeout(t),t=0)}}},cN=(t,e)=>{const[r,n]=L.useState(),o=L.useRef({items:[],hoverIndex:-1,sorted:!1}).current,s=L.useCallback((a,u)=>{const{items:c}=o;if(!a)o.items=[];else if(u)c.push(a);else{const d=c.indexOf(a);d>-1&&(c.splice(d,1),a.contains(document.activeElement)&&(e.current.focus(),n()))}o.hoverIndex=-1,o.sorted=!1},[o,e]),l=L.useCallback((a,u,c)=>{const{items:d,hoverIndex:m}=o,g=()=>{if(o.sorted)return;const N=t.current.querySelectorAll(".szh-menu__item");d.sort((x,w)=>_m(N,x)-_m(N,w)),o.sorted=!0};let v=-1,E;switch(a){case Et.RESET:break;case Et.SET:E=u;break;case Et.UNSET:E=N=>N===u?void 0:N;break;case Et.FIRST:g(),v=0,E=d[v];break;case Et.LAST:g(),v=d.length-1,E=d[v];break;case Et.SET_INDEX:g(),v=c,E=d[v];break;case Et.INCREASE:g(),v=m,v<0&&(v=d.indexOf(u)),v++,v>=d.length&&(v=0),E=d[v];break;case Et.DECREASE:g(),v=m,v<0&&(v=d.indexOf(u)),v--,v<0&&(v=d.length-1),E=d[v];break}E||(v=-1),n(E),o.hoverIndex=v},[t,o]);return{hoverItem:r,dispatch:l,updateItems:s}},fN=(t,e,r,n)=>{const i=e.current.getBoundingClientRect(),o=t.current.getBoundingClientRect(),s=r===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:r.getBoundingClientRect(),l=Zk(n),a=v=>v+o.left-s.left-l.left,u=v=>v+o.left+i.width-s.right+l.right,c=v=>v+o.top-s.top-l.top,d=v=>v+o.top+i.height-s.bottom+l.bottom;return{menuRect:i,containerRect:o,getLeftOverflow:a,getRightOverflow:u,getTopOverflow:c,getBottomOverflow:d,confineHorizontally:v=>{let E=a(v);if(E<0)v-=E;else{const N=u(v);N>0&&(v-=N,E=a(v),E<0&&(v-=E))}return v},confineVertically:v=>{let E=c(v);if(E<0)v-=E;else{const N=d(v);N>0&&(v-=N,E=c(v),E<0&&(v-=E))}return v}}},dN=({arrowRef:t,menuY:e,anchorRect:r,containerRect:n,menuRect:i})=>{let o=r.top-n.top-e+r.height/2;const s=t.current.offsetHeight*1.25;return o=Math.max(s,o),o=Math.min(o,i.height-s),o},hN=({anchorRect:t,containerRect:e,menuRect:r,placeLeftorRightY:n,placeLeftX:i,placeRightX:o,getLeftOverflow:s,getRightOverflow:l,confineHorizontally:a,confineVertically:u,arrowRef:c,arrow:d,direction:m,position:g})=>{let v=m,E=n;g!=="initial"&&(E=u(E),g==="anchor"&&(E=Math.min(E,t.bottom-e.top),E=Math.max(E,t.top-e.top-r.height)));let N,x,w;return v==="left"?(N=i,g!=="initial"&&(x=s(N),x<0&&(w=l(o),(w<=0||-x>w)&&(N=o,v="right")))):(N=o,g!=="initial"&&(w=l(N),w>0&&(x=s(i),(x>=0||-x{let o=r.left-n.left-e+r.width/2;const s=t.current.offsetWidth*1.25;return o=Math.max(s,o),o=Math.min(o,i.width-s),o},mN=({anchorRect:t,containerRect:e,menuRect:r,placeToporBottomX:n,placeTopY:i,placeBottomY:o,getTopOverflow:s,getBottomOverflow:l,confineHorizontally:a,confineVertically:u,arrowRef:c,arrow:d,direction:m,position:g})=>{let v=m==="top"?"top":"bottom",E=n;g!=="initial"&&(E=a(E),g==="anchor"&&(E=Math.min(E,t.right-e.left),E=Math.max(E,t.left-e.left-r.width)));let N,x,w;return v==="top"?(N=i,g!=="initial"&&(x=s(N),x<0&&(w=l(o),(w<=0||-x>w)&&(N=o,v="bottom")))):(N=o,g!=="initial"&&(w=l(N),w>0&&(x=s(i),(x>=0||-x{const{menuRect:u,containerRect:c}=a,d=r==="left"||r==="right";let m=d?n:i,g=d?i:n;if(t){const B=l.current;d?m+=B.offsetWidth:g+=B.offsetHeight}const v=s.left-c.left-u.width-m,E=s.right-c.left+m,N=s.top-c.top-u.height-g,x=s.bottom-c.top+g;let w,b;e==="end"?(w=s.right-c.left-u.width,b=s.bottom-c.top-u.height):e==="center"?(w=s.left-c.left-(u.width-s.width)/2,b=s.top-c.top-(u.height-s.height)/2):(w=s.left-c.left,b=s.top-c.top),w+=m,b+=g;const T={...a,anchorRect:s,placeLeftX:v,placeRightX:E,placeLeftorRightY:b,placeTopY:N,placeBottomY:x,placeToporBottomX:w,arrowRef:l,arrow:t,direction:r,position:o};switch(r){case"left":case"right":return hN(T);case"top":case"bottom":default:return mN(T)}},_a=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?L.useLayoutEffect:L.useEffect;function Nm(t,e){typeof t=="function"?t(e):t.current=e}const Uh=(t,e)=>L.useMemo(()=>t?e?r=>{Nm(t,r),Nm(e,r)}:t:e,[t,e]),Pm=-9999,vN=({ariaLabel:t,menuClassName:e,menuStyle:r,arrow:n,arrowProps:i={},anchorPoint:o,anchorRef:s,containerRef:l,containerProps:a,focusProps:u,externalRef:c,parentScrollingRef:d,align:m="start",direction:g="bottom",position:v="auto",overflow:E="visible",setDownOverflow:N,repositionFlag:x,captureFocus:w=!0,state:b,endTransition:T,isDisabled:B,menuItemFocus:D,gap:$=0,shift:H=0,children:Y,onClose:Q,...X})=>{const[ie,M]=L.useState({x:Pm,y:Pm}),[f,p]=L.useState({}),[A,S]=L.useState(),[_,I]=L.useState(g),[R]=L.useState(uN),[k,h]=L.useReducer(ne=>ne+1,1),{transition:C,boundingBoxRef:Z,boundingBoxPadding:y,rootMenuRef:j,rootAnchorRef:U,scrollNodesRef:F,reposition:W,viewScroll:oe,submenuCloseDelay:J}=L.useContext(Dh),{submenuCtx:V,reposSubmenu:Je=x}=L.useContext(Sm),K=L.useRef(null),le=L.useRef(),Qr=L.useRef(),Te=L.useRef(!1),Ne=L.useRef({width:0,height:0}),Jr=L.useRef(()=>{}),{hoverItem:Pe,dispatch:ce,updateItems:wr}=cN(K,le),fe=V1(b),Oe=ll(C,"open"),Yr=ll(C,"close"),me=F.current,ze=ne=>{switch(ne.key){case $r.HOME:ce(Et.FIRST);break;case $r.END:ce(Et.LAST);break;case $r.UP:ce(Et.DECREASE,Pe);break;case $r.DOWN:ce(Et.INCREASE,Pe);break;case $r.SPACE:ne.target&&ne.target.className.indexOf(Aa)!==-1&&ne.preventDefault();return;default:return}ne.preventDefault(),ne.stopPropagation()},gn=()=>{b==="closing"&&S(),hr(T)},$e=ne=>{ne.stopPropagation(),R.on(J,()=>{ce(Et.RESET),le.current.focus()})},He=ne=>{ne.target===ne.currentTarget&&R.off()},Ht=L.useCallback(ne=>{var ot;const ge=s?(ot=s.current)==null?void 0:ot.getBoundingClientRect():o?{left:o.x,right:o.x,top:o.y,bottom:o.y,width:0,height:0}:null;if(!ge)return;me.menu||(me.menu=(Z?Z.current:af(j.current))||window);const de=fN(l,K,me.menu,y);let{arrowX:rt,arrowY:Ae,x:_e,y:Ct,computedDirection:Me}=gN({arrow:n,align:m,direction:g,gap:$,shift:H,position:v,anchorRect:ge,arrowRef:Qr,positionHelpers:de});const{menuRect:De}=de;let Kt=De.height;if(!ne&&E!=="visible"){const{getTopOverflow:Ve,getBottomOverflow:Ke}=de;let Qt,Ie;const Ue=Ne.current.height,xr=Ke(Ct);if(xr>0||Ki(xr,0)&&Ki(Kt,Ue))Qt=Kt-xr,Ie=xr;else{const ke=Ve(Ct);(ke<0||Ki(ke,0)&&Ki(Kt,Ue))&&(Qt=Kt+ke,Ie=0-ke,Qt>=0&&(Ct-=ke))}Qt>=0?(Kt=Qt,S({height:Qt,overflowAmt:Ie})):S()}n&&p({x:rt,y:Ae}),M({x:_e,y:Ct}),I(Me),Ne.current={width:De.width,height:Kt}},[n,m,y,g,$,H,v,E,o,s,l,Z,j,me]);_a(()=>{fe&&(Ht(),Te.current&&h()),Te.current=fe,Jr.current=Ht},[fe,Ht,Je]),_a(()=>{A&&!N&&(K.current.scrollTop=0)},[A,N]),_a(()=>wr,[wr]),L.useEffect(()=>{let{menu:ne}=me;if(!fe||!ne)return;if(ne=ne.addEventListener?ne:window,!me.anchors){me.anchors=[];let rt=af(U&&U.current);for(;rt&&rt!==ne;)me.anchors.push(rt),rt=af(rt)}let ot=oe;if(me.anchors.length&&ot==="initial"&&(ot="auto"),ot==="initial")return;const ge=()=>{ot==="auto"?Am(()=>Ht(!0)):hr(Q,{reason:ul.SCROLL})},de=me.anchors.concat(oe!=="initial"?ne:[]);return de.forEach(rt=>rt.addEventListener("scroll",ge)),()=>de.forEach(rt=>rt.removeEventListener("scroll",ge))},[U,me,fe,Q,oe,Ht]);const Le=!!A&&A.overflowAmt>0;L.useEffect(()=>{if(Le||!fe||!d)return;const ne=()=>Am(Ht),ot=d.current;return ot.addEventListener("scroll",ne),()=>ot.removeEventListener("scroll",ne)},[fe,Le,d,Ht]),L.useEffect(()=>{if(typeof ResizeObserver!="function"||W==="initial")return;const ne=new ResizeObserver(([ge])=>{const{borderBoxSize:de,target:rt}=ge;let Ae,_e;if(de){const{inlineSize:Ct,blockSize:Me}=de[0]||de;Ae=Ct,_e=Me}else{const Ct=rt.getBoundingClientRect();Ae=Ct.width,_e=Ct.height}Ae===0||_e===0||Ki(Ae,Ne.current.width,1)&&Ki(_e,Ne.current.height,1)||Qs.flushSync(()=>{Jr.current(),h()})}),ot=K.current;return ne.observe(ot,{box:"border-box"}),()=>ne.unobserve(ot)},[W]),L.useEffect(()=>{if(!fe){ce(Et.RESET),Yr||S();return}const{position:ne,alwaysUpdate:ot}=D||{},ge=()=>{ne===Ms.FIRST?ce(Et.FIRST):ne===Ms.LAST?ce(Et.LAST):ne>=-1&&ce(Et.SET_INDEX,void 0,ne)};if(ot)ge();else if(w){const de=setTimeout(()=>{const rt=K.current;rt&&!rt.contains(document.activeElement)&&(le.current.focus(),ge())},Oe?170:100);return()=>clearTimeout(de)}},[fe,Oe,Yr,w,D,ce]);const qe=L.useMemo(()=>({isParentOpen:fe,submenuCtx:R,dispatch:ce,updateItems:wr}),[fe,R,ce,wr]);let Rr,Ce;A&&(N?Ce=A.overflowAmt:Rr=A.height);const We=L.useMemo(()=>({reposSubmenu:k,submenuCtx:R,overflow:E,overflowAmt:Ce,parentMenuRef:K,parentDir:_}),[k,R,E,Ce,_]),vn=Rr>=0?{maxHeight:Rr,overflow:E}:void 0,Be=L.useMemo(()=>({state:b,dir:_}),[b,_]),Ge=L.useMemo(()=>({dir:_}),[_]),yn=al({block:Aa,element:rN,modifiers:Ge,className:i.className}),je=P.jsxs("ul",{role:"menu","aria-label":t,...Q1(B),...Qu({onPointerEnter:V==null?void 0:V.off,onPointerMove:$e,onPointerLeave:He,onKeyDown:ze,onAnimationEnd:gn},X),ref:Uh(c,K),className:al({block:Aa,modifiers:Be,className:e}),style:{...r,...vn,margin:0,display:b==="closed"?"none":void 0,position:uf,left:ie.x,top:ie.y},children:[P.jsx("li",{tabIndex:-1,style:{position:uf,left:0,top:0,display:"block",outline:"none"},ref:le,...km,...u}),n&&P.jsx("li",{...km,...i,className:yn,style:{display:"block",position:uf,left:f.x,top:f.y,...i.style},ref:Qr}),P.jsx(Sm.Provider,{value:We,children:P.jsx(Y1.Provider,{value:qe,children:P.jsx(J1.Provider,{value:Pe,children:hr(Y,Be)})})})]});return a?P.jsx(aN,{...a,isOpen:fe,children:je}):je},yN=L.forwardRef(function({"aria-label":e,className:r,containerProps:n,initialMounted:i,unmountOnClose:o,transition:s,transitionTimeout:l,boundingBoxRef:a,boundingBoxPadding:u,reposition:c="auto",submenuOpenDelay:d=300,submenuCloseDelay:m=150,viewScroll:g="initial",portal:v,theming:E,onItemClick:N,...x},w){const b=L.useRef(null),T=L.useRef({}),{anchorRef:B,state:D,onClose:$}=x,H=L.useMemo(()=>({initialMounted:i,unmountOnClose:o,transition:s,transitionTimeout:l,boundingBoxRef:a,boundingBoxPadding:u,rootMenuRef:b,rootAnchorRef:B,scrollNodesRef:T,reposition:c,viewScroll:g,submenuOpenDelay:d,submenuCloseDelay:m}),[i,o,s,l,B,a,u,c,g,d,m]),Y=L.useMemo(()=>({handleClick(X,ie){X.stopPropagation||hr(N,X);let M=X.keepOpen;M===void 0&&(M=ie&&X.key===$r.SPACE),M||hr($,{value:X.value,key:X.key,reason:ul.CLICK})},handleClose(X){hr($,{key:X,reason:ul.CLICK})}}),[N,$]);if(!D)return null;const Q=P.jsx(Dh.Provider,{value:H,children:P.jsx(X1.Provider,{value:Y,children:P.jsx(vN,{...x,ariaLabel:e||"Menu",externalRef:w,containerRef:b,containerProps:{className:r,containerRef:b,containerProps:n,theming:E,transition:s,onClose:$}})})});return v===!0&&typeof document<"u"?Qs.createPortal(Q,document.body):v?v.target?Qs.createPortal(Q,v.target):v.stablePosition?null:Q:Q}),bd=0,Ad=1,uu=2,cu=3,fu=4,wN=5,ew=6,xN=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],tw=t=>({_s:t,status:xN[t],isEnter:tfu}),_d=t=>t?ew:wN,EN=(t,e)=>{switch(t){case Ad:case bd:return uu;case fu:case cu:return _d(e)}},bN=t=>typeof t=="object"?[t.enter,t.exit]:[t,t],AN=(t,e)=>setTimeout(()=>{isNaN(document.body.offsetTop)||t(e+1)},0),Cm=(t,e,r,n,i)=>{clearTimeout(n.current);const o=tw(t);e(o),r.current=o,i&&i({current:o})},_N=({enter:t=!0,exit:e=!0,preEnter:r,preExit:n,timeout:i,initialEntered:o,mountOnEnter:s,unmountOnExit:l,onStateChange:a}={})=>{const[u,c]=L.useState(()=>tw(o?uu:_d(s))),d=L.useRef(u),m=L.useRef(),[g,v]=bN(i),E=L.useCallback(()=>{const x=EN(d.current._s,l);x&&Cm(x,c,d,m,a)},[a,l]),N=L.useCallback(x=>{const w=T=>{switch(Cm(T,c,d,m,a),T){case Ad:g>=0&&(m.current=setTimeout(E,g));break;case fu:v>=0&&(m.current=setTimeout(E,v));break;case bd:case cu:m.current=AN(w,T);break}},b=d.current.isEnter;typeof x!="boolean"&&(x=!b),x?!b&&w(t?r?bd:Ad:uu):b&&w(e?n?cu:fu:_d(l))},[E,a,t,e,r,n,g,v,l]);return L.useEffect(()=>()=>clearTimeout(m.current),[]),[u,N,E]},SN=({initialOpen:t,initialMounted:e,unmountOnClose:r,transition:n,transitionTimeout:i=500}={})=>{const[{status:o},s,l]=_N({initialEntered:t,mountOnEnter:!e,unmountOnExit:r,timeout:i,enter:ll(n,"open"),exit:ll(n,"close")});return[{state:oN[o],endTransition:l},s]},kN=t=>{const[e,r]=SN(t),[n,i]=L.useState(),o=(s,l)=>{i({position:s,alwaysUpdate:l}),r(!0)};return[{menuItemFocus:n,...e},r,o]},NN=(t,e)=>{const[r]=L.useState({});return{onMouseDown:()=>{r.v=t&&t!=="closed"},onClick:n=>r.v?r.v=!1:e(!0,n)}},PN=(t,e)=>{const r=L.useRef(e);L.useEffect(()=>{r.current!==e&&hr(t,{open:e}),r.current=e},[t,e])},CN=L.forwardRef(function({"aria-label":e,captureFocus:r,initialOpen:n,menuButton:i,instanceRef:o,onMenuChange:s,...l},a){const[u,c,d]=kN(l),{state:m}=u,g=V1(m),v=L.useRef(null),E=NN(m,(B,D)=>d(D.detail?void 0:Ms.FIRST)),N=L.useCallback(B=>{c(!1),B.key&&v.current.focus()},[c]),x=B=>{switch(B.key){case $r.UP:d(Ms.LAST);break;case $r.DOWN:d(Ms.FIRST);break;default:return}B.preventDefault()},w=hr(i,{open:g});if(!w||!w.type)throw new Error("Menu requires a menuButton prop.");const b={ref:Uh(w.ref,v),...Qu({onKeyDown:x,...E},w.props)};Yk(w.type)==="MenuButton"&&(b.isOpen=g);const T=L.cloneElement(w,b);return PN(s,g),L.useImperativeHandle(o,()=>({openMenu:d,closeMenu:()=>c(!1)})),P.jsxs(L.Fragment,{children:[T,P.jsx(yN,{...l,...u,"aria-label":e||(typeof w.props.children=="string"?w.props.children:"Menu"),anchorRef:v,ref:a,onClose:N})]})}),MN=(t,e)=>{const r=L.memo(e),n=L.forwardRef((i,o)=>{const s=L.useRef(null);return P.jsx(r,{...i,itemRef:s,externalRef:o,isHovering:L.useContext(J1)===s.current})});return n.displayName=`WithHovering(${t})`,n},IN=(t,e,r)=>{_a(()=>{if(t)return;const n=e.current;return r(n,!0),()=>{r(n)}},[t,e,r])},RN=(t,e,r,n)=>{const{submenuCloseDelay:i}=L.useContext(Dh),{isParentOpen:o,submenuCtx:s,dispatch:l,updateItems:a}=L.useContext(Y1),u=()=>{!r&&!n&&l(Et.SET,t.current)},c=()=>{!n&&l(Et.UNSET,t.current)},d=v=>{r&&!v.currentTarget.contains(v.relatedTarget)&&c()},m=v=>{n||(v.stopPropagation(),s.on(i,u,u))},g=(v,E)=>{s.off(),!E&&c()};return IN(n,t,a),L.useEffect(()=>{r&&o&&e.current&&e.current.focus()},[e,r,o]),{setHover:u,onBlur:d,onPointerMove:m,onPointerLeave:g}},Qi=MN("MenuItem",function({className:e,value:r,href:n,type:i,checked:o,disabled:s,children:l,onClick:a,isHovering:u,itemRef:c,externalRef:d,...m}){const g=!!s,{setHover:v,...E}=RN(c,c,u,g),N=L.useContext(X1),x=L.useContext(iN),w=i==="radio",b=i==="checkbox",T=!!n&&!g&&!w&&!b,B=w?x.value===r:b?!!o:!1,D=X=>{if(g){X.stopPropagation(),X.preventDefault();return}const ie={value:r,syntheticEvent:X};X.key!==void 0&&(ie.key=X.key),b&&(ie.checked=!B),w&&(ie.name=x.name),hr(a,ie),w&&hr(x.onRadioChange,ie),N.handleClick(ie,b||w)},$=X=>{if(u)switch(X.key){case $r.ENTER:X.preventDefault();case $r.SPACE:T?c.current.click():D(X)}},H=L.useMemo(()=>({type:i,disabled:g,hover:u,checked:B,anchor:T}),[i,g,u,B,T]),Y=Qu({...E,onPointerDown:v,onKeyDown:$,onClick:D},m),Q={role:w?"menuitemradio":b?"menuitemcheckbox":Z1,"aria-checked":w||b?B:void 0,...Q1(g,u),...Y,ref:Uh(d,c),className:al({block:Aa,element:nN,modifiers:H,className:e}),children:L.useMemo(()=>hr(l,H),[l,H])};return T?P.jsx("li",{role:sN,children:P.jsx("a",{href:n,...Q})}):P.jsx("li",{...Q})});function Mm({...t}){return P.jsx(CN,{...t,className:"dropdown "+t.className,menuButton:P.jsx(lN,{className:"small",children:P.jsx(Lk,{style:{marginBottom:"-0.125em"}})}),children:t.children})}function TN({app:t}){var s,l,a,u,c;const{uninstallApp:e,setMirroring:r,setAutoUpdate:n}=Jo(),i=vl();return!t.state?t.metadata?P.jsxs(Mm,{children:[((s=t.metadata)==null?void 0:s.description)&&P.jsx(Qi,{className:"action-entry",onClick:()=>i(`/app-details/${Ee(t)}`),children:"View Details"}),((l=t.metadata)==null?void 0:l.external_url)&&P.jsx(Qi,{children:P.jsx("a",{style:{color:"inherit",whiteSpace:"nowrap",cursor:"pointer",marginTop:"0.25em"},target:"_blank",href:(a=t.metadata)==null?void 0:a.external_url,children:"View Site"})})]}):P.jsx("div",{style:{width:38}}):P.jsxs(Mm,{children:[P.jsx(Qi,{className:"action-entry",onClick:()=>i(`/app-details/${Ee(t)}`),children:"View Details"}),t.installed&&P.jsxs(P.Fragment,{children:[P.jsx(Qi,{className:"action-entry",onClick:()=>e(t),children:"Uninstall"}),P.jsxs(Qi,{className:"action-entry",onClick:()=>{var d;return r(t,!((d=t.state)!=null&&d.mirroring))},children:[(u=t.state)!=null&&u.mirroring?"Stop":"Start"," Mirroring"]}),P.jsxs(Qi,{className:"action-entry",onClick:()=>{var d;return n(t,!((d=t.state)!=null&&d.auto_update))},children:[(c=t.state)!=null&&c.auto_update?"Disable":"Enable"," Auto Update"]})]})]})}function ys({app:t,...e}){var r;return L.createElement("div",{...e,key:Ee(t),className:"app-entry row between"},P.jsx(W1,{app:t,size:"small"}),P.jsxs("div",{className:"app-actions row",children:[!((r=t.state)!=null&&r.caps_approved)&&P.jsx(G1,{app:t,style:{marginRight:"1em"}}),P.jsx(TN,{app:t})]}))}const Sd="/my-apps";function Ju({value:t="",onChange:e=()=>null,onBack:r,hideSearch:n=!1}){const i=vl(),o=Ru(),s=qr.useRef(null),l=o.key!=="default",a=o.pathname===Sd;return P.jsxs("div",{className:"search-header row between",children:[o.pathname!=="/"?P.jsx("button",{className:"back-btn col center",onClick:()=>{r?r():i(l?-1:"/")},children:P.jsx(Ik,{})}):P.jsx("button",{className:"back-btn col center",onClick:()=>i("/publish"),children:P.jsx($1,{})}),!n&&P.jsxs("div",{className:"searchbar row",children:[P.jsx(jk,{className:"search-icon",onClick:()=>{var u;return(u=s.current)==null?void 0:u.focus()}}),P.jsx("input",{ref:s,onChange:u=>e(u.target.value),value:t,placeholder:"Search for apps..."}),t.length>0&&P.jsx(Dk,{className:"search-icon",style:{margin:"0 -0.25em 0 0.25em"},onClick:()=>e("")})]}),P.jsx("div",{className:"row",children:P.jsxs("button",{className:`my-pkg-btn row ${a?"selected":""}`,onClick:()=>i(a?-1:Sd),children:[P.jsx(Ok,{style:{marginRight:"0.5em"}}),"My Packages"]})})]})}function ON(t){const{listedApps:e,getListedApps:r}=Jo(),[n,i]=L.useState("Recently published"),[o,s]=L.useState(""),[l,a]=L.useState(e),[u,c]=L.useState(1),d=L.useMemo(()=>Array.from({length:Math.ceil(l.length/10)},(v,E)=>E+1),[l]);L.useEffect(()=>{const v=(u-1)*10,E=v+10;a(e.slice(v,E))},[e]),L.useEffect(()=>{r().then(v=>{a(Object.values(v))}).catch(v=>console.error(v))},[]);const m=L.useCallback(async v=>{},[]),g=L.useCallback(v=>{s(v);const E=e.filter(N=>{var x,w,b,T;return N.package.toLowerCase().includes(v.toLowerCase())||((w=(x=N.metadata)==null?void 0:x.description)==null?void 0:w.toLowerCase().includes(v.toLowerCase()))||((T=(b=N.metadata)==null?void 0:b.description)==null?void 0:T.toLowerCase().includes(v.toLowerCase()))},[e]);a(E)},[e]);return P.jsxs("div",{style:{width:"100%"},children:[P.jsx(Ju,{value:o,onChange:g}),P.jsxs("div",{className:"row between page-title",children:[P.jsx("h4",{children:"New"}),P.jsxs("select",{value:n,onChange:v=>{i(v.target.value),m(v.target.value)},children:[P.jsx("option",{children:"Recently published"}),P.jsx("option",{children:"Most popular"}),P.jsx("option",{children:"Best rating"}),P.jsx("option",{children:"Recently updated"})]})]}),P.jsxs("div",{className:"new card col",style:{flex:1,overflowY:"auto",gap:"1em"},children:[l.map(v=>{var E;return P.jsx(ys,{app:v},Ee(v)+(((E=v.state)==null?void 0:E.our_version)||""))}),d.length>1&&P.jsxs("div",{className:"row",style:{alignSelf:"center"},children:[u!==d[0]&&P.jsx(Rk,{onClick:()=>c(u-1)}),d.map(v=>P.jsx("div",{className:`page-selector ${v===u?"selected":""}`,onClick:()=>c(v),children:v},`page-${v}`)),u!==d[d.length-1]&&P.jsx(Tk,{onClick:()=>c(u+1)})]})]})]})}function LN(t){const{myApps:e,getMyApps:r}=Jo(),n=vl(),[i,o]=L.useState(""),[s,l]=L.useState(e);L.useEffect(()=>{r().then(l).catch(u=>console.error(u))},[]);const a=L.useCallback(u=>{o(u);const c=Object.keys(e).reduce((d,m)=>(d[m]=e[m].filter(g=>{var v,E,N,x;return g.package.toLowerCase().includes(u.toLowerCase())||((E=(v=g.metadata)==null?void 0:v.description)==null?void 0:E.toLowerCase().includes(u.toLowerCase()))||((x=(N=g.metadata)==null?void 0:N.description)==null?void 0:x.toLowerCase().includes(u.toLowerCase()))}),d),{downloaded:[],installed:[],local:[],system:[]});l(c)},[e]);return L.useEffect(()=>{i?a(i):l(e)},[e]),P.jsxs("div",{style:{width:"100%",height:"100%"},children:[P.jsx(Ju,{value:i,onChange:a}),P.jsxs("div",{className:"row between page-title",children:[P.jsx("h4",{style:{marginBottom:"0.5em"},children:"My Packages"}),P.jsxs("button",{className:"row",onClick:()=>n("/publish"),children:[P.jsx($1,{style:{marginRight:"0.5em"}}),"Publish Package"]})]}),P.jsx("div",{className:"my-apps-list",children:P.jsxs("div",{className:"new card col",style:{gap:"1em"},children:[P.jsx("h4",{children:"Downloaded"}),(s.downloaded||[]).map(u=>P.jsx(ys,{app:u},Ee(u))),P.jsx("h4",{children:"Installed"}),(s.installed||[]).map(u=>P.jsx(ys,{app:u},Ee(u))),P.jsx("h4",{children:"Local"}),(s.local||[]).map(u=>P.jsx(ys,{app:u},Ee(u))),P.jsx("h4",{children:"System"}),(s.system||[]).map(u=>P.jsx(ys,{app:u},Ee(u)))]})})]})}function BN(t){var m,g,v,E,N,x,w,b;const{myApps:e,listedApps:r,getListedApp:n}=Jo(),i=vl(),o=aE(),[s,l]=L.useState(void 0);L.useEffect(()=>{const T=e.local.find(B=>Ee(B)===o.id);if(T)return l(T);if(o.id){const B=r.find(D=>Ee(D)===o.id);B?l(B):n(o.id).then(D=>l(D)).catch(console.error)}},[o.id]);const a=L.useCallback(()=>{i("/publish",{state:{app:s}})},[s,i]),u=L.useMemo(()=>{var T,B;return((B=(T=s==null?void 0:s.metadata)==null?void 0:T.properties)==null?void 0:B.current_version)||"Unknown"},[s]),c=Object.entries(((g=(m=s==null?void 0:s.metadata)==null?void 0:m.properties)==null?void 0:g.code_hashes)||{}),d=((v=s==null?void 0:s.state)==null?void 0:v.our_version)||(c[(c.length||1)-1]||["",""])[1];return P.jsxs("div",{style:{width:"100%"},children:[P.jsx(Ju,{value:"",onChange:()=>null,hideSearch:!0}),P.jsx("div",{className:"card",style:{marginTop:"1em"},children:s?P.jsxs(P.Fragment,{children:[P.jsxs("div",{className:"row between",children:[P.jsx(W1,{app:s,size:"large"}),P.jsx(G1,{app:s,style:{marginRight:"0.5em"}})]}),P.jsxs("div",{className:"col",style:{marginTop:"1em"},children:[P.jsxs("div",{className:"app-details row",children:[P.jsx("div",{className:"title",children:"Description"}),P.jsx("div",{className:"value",children:(((E=s.metadata)==null?void 0:E.description)||"No description given").slice(0,2e3)})]}),P.jsxs("div",{className:"app-details row",children:[P.jsx("div",{className:"title",children:"Publisher"}),P.jsx("div",{className:"value underline",children:s.publisher})]}),P.jsxs("div",{className:"app-details row",children:[P.jsx("div",{className:"title",children:"Version"}),P.jsx("div",{className:"value",children:u})]}),P.jsxs("div",{className:"app-details row",children:[P.jsx("div",{className:"title",children:"Mirrors"}),P.jsx("div",{className:"col",children:(((x=(N=s.metadata)==null?void 0:N.properties)==null?void 0:x.mirrors)||[]).map((T,B)=>P.jsx("div",{className:"value underline",children:T},B+T))})]}),P.jsxs("div",{className:"app-details row",children:[P.jsx("div",{className:"title",children:"Hash"}),P.jsx("div",{className:"value",style:{wordBreak:"break-all"},children:d})]})]}),P.jsx("div",{className:"app-screenshots row",children:(((b=(w=s.metadata)==null?void 0:w.properties)==null?void 0:b.screenshots)||[]).map((T,B)=>P.jsx("img",{src:T},B+T))}),s.installed&&P.jsx("button",{type:"button",onClick:a,children:"Publish"})]}):P.jsxs(P.Fragment,{children:[P.jsx("h4",{children:"App details not found for "}),P.jsx("h4",{children:o.id})]})})]})}var Sa=(t=>(t[t.SEPOLIA=11155111]="SEPOLIA",t[t.OPTIMISM=10]="OPTIMISM",t[t.OPTIMISM_GOERLI=420]="OPTIMISM_GOERLI",t[t.LOCAL=1337]="LOCAL",t))(Sa||{});const du="0xaa36a7",Im="0xa",Rm={11155111:"0x18c39eB547A0060C6034f8bEaFB947D1C16eADF1"},jN="4902",Tm={[du]:{chainId:du,chainName:"Sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:["https://rpc.sepolia.org"],blockExplorerUrls:["https://sepolia.etherscan.io"]},[Im]:{chainId:Im,chainName:"Optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.optimism.io"],blockExplorerUrls:["https://optimistic.etherscan.io"]}},DN=t=>{switch(t){case"1":case"0x1":return"Ethereum";case"10":case"a":case"0xa":return"Optimism";case"42161":return"Arbitrum";case"11155111":case"aa36a7":case"0xaa36a7":return"Sepolia";default:return"Unknown"}},Om=async t=>{var r,n,i;let e=await((r=window.ethereum)==null?void 0:r.request({method:"net_version"}).catch(()=>"1"));if(e="0x"+(typeof e=="string"?e.replace(/^0x/,""):e.toString(16)),!Tm[t]){console.error(`Invalid chain ID: ${t}`);return}if(t!==e)try{await((n=window.ethereum)==null?void 0:n.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]}))}catch(o){if(String(o).includes(jN))await((i=window.ethereum)==null?void 0:i.request({method:"wallet_addEthereumChain",params:[Tm[t]]}));else throw window.alert(`You must enable the ${DN(t)} network in your wallet.`),new Error(`User cancelled connection to ${t}`)}};var cl={},Yu={};Object.defineProperty(Yu,"__esModule",{value:!0});Yu.Connector=void 0;class UN{constructor(e,r){this.actions=e,this.onError=r}resetState(){this.actions.resetState()}}Yu.Connector=UN;var cf,Lm;function FN(){if(Lm)return cf;Lm=1;function t({mustBeMetaMask:e=!1,silent:r=!1,timeout:n=3e3}={}){o();let i=!1;return new Promise(s=>{window.ethereum?l():(window.addEventListener("ethereum#initialized",l,{once:!0}),setTimeout(()=>{l()},n));function l(){if(i)return;i=!0,window.removeEventListener("ethereum#initialized",l);const{ethereum:a}=window;a&&(!e||a.isMetaMask)?s(a):(!r&&console.error("@metamask/detect-provider:",e&&a?"Non-MetaMask window.ethereum detected.":"Unable to detect window.ethereum."),s(null))}});function o(){if(typeof e!="boolean")throw new Error("@metamask/detect-provider: Expected option 'mustBeMetaMask' to be a boolean.");if(typeof r!="boolean")throw new Error("@metamask/detect-provider: Expected option 'silent' to be a boolean.");if(typeof n!="number")throw new Error("@metamask/detect-provider: Expected option 'timeout' to be a number.")}}return cf=t,cf}var zN=Fe&&Fe.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),$N=Fe&&Fe.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),HN=Fe&&Fe.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&zN(e,t,r);return $N(e,t),e},Ji=Fe&&Fe.__awaiter||function(t,e,r,n){function i(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function l(c){try{u(n.next(c))}catch(d){s(d)}}function a(c){try{u(n.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):i(c.value).then(l,a)}u((n=n.apply(t,e||[])).next())})};Object.defineProperty(cl,"__esModule",{value:!0});var rw=cl.MetaMask=cl.NoMetaMaskError=void 0;const qN=Yu;class fl extends Error{constructor(){super("MetaMask not installed"),this.name=fl.name,Object.setPrototypeOf(this,fl.prototype)}}cl.NoMetaMaskError=fl;function ea(t){return Number.parseInt(t,16)}class WN extends qN.Connector{constructor({actions:e,options:r,onError:n}){super(e,n),this.options=r}isomorphicInitialize(){return Ji(this,void 0,void 0,function*(){if(!this.eagerConnection)return this.eagerConnection=Promise.resolve().then(()=>HN(FN())).then(e=>Ji(this,void 0,void 0,function*(){var r,n;const i=yield e.default(this.options);i&&(this.provider=i,!((r=this.provider.providers)===null||r===void 0)&&r.length&&(this.provider=(n=this.provider.providers.find(o=>o.isMetaMask))!==null&&n!==void 0?n:this.provider.providers[0]),this.provider.on("connect",({chainId:o})=>{this.actions.update({chainId:ea(o)})}),this.provider.on("disconnect",o=>{var s;if(o.code===1013){console.debug('MetaMask logged connection error 1013: "Try again later"');return}this.actions.resetState(),(s=this.onError)===null||s===void 0||s.call(this,o)}),this.provider.on("chainChanged",o=>{this.actions.update({chainId:ea(o)})}),this.provider.on("accountsChanged",o=>{o.length===0?this.actions.resetState():this.actions.update({accounts:o})}))}))})}connectEagerly(){return Ji(this,void 0,void 0,function*(){const e=this.actions.startActivation();try{if(yield this.isomorphicInitialize(),!this.provider)return e();const r=yield this.provider.request({method:"eth_accounts"});if(!r.length)throw new Error("No accounts returned");const n=yield this.provider.request({method:"eth_chainId"});this.actions.update({chainId:ea(n),accounts:r})}catch(r){console.debug("Could not connect eagerly",r),this.actions.resetState()}})}activate(e){var r,n;return Ji(this,void 0,void 0,function*(){let i;return!((n=(r=this.provider)===null||r===void 0?void 0:r.isConnected)===null||n===void 0)&&n.call(r)||(i=this.actions.startActivation()),this.isomorphicInitialize().then(()=>Ji(this,void 0,void 0,function*(){if(!this.provider)throw new fl;const o=yield this.provider.request({method:"eth_requestAccounts"}),s=yield this.provider.request({method:"eth_chainId"}),l=ea(s),a=typeof e=="number"?e:e==null?void 0:e.chainId;if(!a||l===a)return this.actions.update({chainId:l,accounts:o});const u=`0x${a.toString(16)}`;return this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:u}]}).catch(c=>{var d,m;if((((m=(d=c.data)===null||d===void 0?void 0:d.originalError)===null||m===void 0?void 0:m.code)||c.code)===4902&&typeof e!="number"){if(!this.provider)throw new Error("No provider");return this.provider.request({method:"wallet_addEthereumChain",params:[Object.assign(Object.assign({},e),{chainId:u})]})}throw c}).then(()=>this.activate(a))})).catch(o=>{throw i==null||i(),o})})}watchAsset({address:e,symbol:r,decimals:n,image:i}){return Ji(this,void 0,void 0,function*(){if(!this.provider)throw new Error("No provider");return this.provider.request({method:"wallet_watchAsset",params:{type:"ERC20",options:{address:e,symbol:r,decimals:n,image:i}}}).then(o=>{if(!o)throw new Error("Rejected");return!0})})}}rw=cl.MetaMask=WN;const[nw,Fh]=Wu.initializeConnector(t=>new rw({actions:t}));function GN(t){const e=t.split("."),r=new Uint8Array(t.length+e.length);let n=0;for(const i of e){const o=i.length;r[n]=o,n++;for(let s=0;si.toString(16).padStart(2,"0")).join("")}`}const Bm=/^\d+\.\d+\.\d+$/,VN=({app:t,packageName:e,publisherId:r,goBack:n})=>{var d,m,g,v,E,N,x,w;const[i,o]=L.useState({name:((d=t==null?void 0:t.metadata)==null?void 0:d.name)||"",description:((m=t==null?void 0:t.metadata)==null?void 0:m.description)||"",image:((g=t==null?void 0:t.metadata)==null?void 0:g.image)||"",external_url:((v=t==null?void 0:t.metadata)==null?void 0:v.external_url)||"",animation_url:((E=t==null?void 0:t.metadata)==null?void 0:E.animation_url)||"",package_name:e,current_version:"",publisher:r,mirrors:[r]}),[s,l]=L.useState(Object.entries(((x=(N=t==null?void 0:t.metadata)==null?void 0:N.properties)==null?void 0:x.code_hashes)||{}).concat([["",((w=t==null?void 0:t.state)==null?void 0:w.our_version)||""]])),a=(b,T)=>{o({...i,[b]:T})};L.useEffect(()=>{a("package_name",e)},[e]),L.useEffect(()=>{a("publisher",r)},[r]);const u=L.useCallback(()=>{const b=s.reduce((H,[Y,Q])=>(H[Y]=Q,H),{});if(Bm.test(i.current_version))if(b[i.current_version]){if(!Object.keys(b).reduce((H,Y)=>H&&Bm.test(Y),!0)){window.alert("Code hashes must be a JSON object with valid version keys");return}}else{window.alert(`Code hashes must include current version (${i.current_version})`);return}else{window.alert("Current version must be in the format x.y.z");return}const T=JSON.stringify({name:i.name,description:i.description,image:i.image,external_url:i.external_url,animation_url:i.animation_url,properties:{package_name:i.package_name,current_version:i.current_version,publisher:i.publisher,mirrors:i.mirrors,code_hashes:b}}),B=new Blob([T],{type:"application/json"}),D=URL.createObjectURL(B),$=document.createElement("a");$.href=D,$.download=i.package_name+"_"+i.publisher+"_metadata.json",$.click(),URL.revokeObjectURL(D)},[i,s]),c=()=>{o({name:"",description:"",image:"",external_url:"",animation_url:"",package_name:"",current_version:"",publisher:"",mirrors:[]}),l([])};return P.jsxs("form",{className:"col card metadata",style:{gap:"0.5em"},children:[P.jsx("h4",{children:"Fill out metadata"}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Name"}),P.jsx("input",{type:"text",placeholder:"Name",value:i.name,onChange:b=>a("name",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Description"}),P.jsx("input",{type:"text",placeholder:"Description",value:i.description,onChange:b=>a("description",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Image URL"}),P.jsx("input",{type:"text",placeholder:"Image URL",value:i.image,onChange:b=>a("image",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"External URL"}),P.jsx("input",{type:"text",placeholder:"External URL",value:i.external_url,onChange:b=>a("external_url",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Animation URL"}),P.jsx("input",{type:"text",placeholder:"Animation URL",value:i.animation_url,onChange:b=>a("animation_url",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Package Name"}),P.jsx("input",{type:"text",placeholder:"Package Name",value:i.package_name,onChange:b=>a("package_name",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Current Version"}),P.jsx("input",{type:"text",placeholder:"Current Version",value:i.current_version,onChange:b=>a("current_version",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Publisher"}),P.jsx("input",{type:"text",placeholder:"Publisher",value:i.publisher,onChange:b=>a("publisher",b.target.value)})]}),P.jsxs("div",{className:"col label",children:[P.jsx("label",{className:"metadata-label",children:"Mirrors (separated by commas)"}),P.jsx("input",{type:"text",placeholder:"Mirrors (separated by commas)",value:i.mirrors.join(","),onChange:b=>a("mirrors",b.target.value.split(",").map(T=>T.trim()))})]}),P.jsxs("div",{className:"col label",style:{gap:"0.5em"},children:[P.jsxs("div",{className:"row",style:{gap:"0.5em",marginTop:0,justifyContent:"space-between",width:"100%"},children:[P.jsx("h5",{style:{margin:0},children:"Code Hashes"}),P.jsx("button",{type:"button",onClick:()=>l([...s,["",""]]),className:"small",children:"Add code hash"})]}),s.map(([b,T],B,D)=>P.jsxs("div",{className:"row",style:{gap:"0.5em",marginTop:0,width:"100%"},children:[P.jsx("input",{type:"text",placeholder:"Version",value:b,onChange:$=>l(H=>{const Y=[...H];return Y[B][0]=$.target.value,Y}),style:{flex:1}}),P.jsx("input",{type:"text",placeholder:"Hash",value:T,onChange:$=>l(H=>{const Y=[...H];return Y[B][1]=$.target.value,Y}),style:{flex:5}}),D.length>1&&P.jsx("button",{type:"button",onClick:()=>l($=>$.filter((H,Y)=>Y!==B)),style:{fontSize:"2em",height:32,lineHeight:"1em",padding:"0 0.2em"},children:"×"})]},B+"_code_hash"))]}),P.jsxs("div",{className:"row",style:{gap:"0.5em",margin:"1em 0"},children:[P.jsx("button",{type:"button",onClick:u,children:"Download JSON"}),P.jsx("button",{type:"button",onClick:c,children:"Clear Form"}),P.jsx("button",{type:"button",onClick:n,children:"Done"})]})]})};function KN({readOnly:t=!1,checked:e,setChecked:r}){return P.jsxs("div",{style:{position:"relative"},children:[P.jsx("input",{type:"checkbox",id:"checked",name:"checked",checked:e,onChange:n=>r&&r(n.target.checked),autoFocus:!0,readOnly:t}),e&&P.jsx("span",{onClick:()=>r&&r(!1),className:"checkmark",children:"✓"})]})}const{useIsActivating:QN}=Fh;function JN({provider:t,packageAbi:e}){var X;const{state:r}=Ru(),{listedApps:n}=Jo(),{account:i,isActive:o}=Wu.useWeb3React(),s=QN(),[l,a]=L.useState(""),[u,c]=L.useState(),[d,m]=L.useState(!1),[g,v]=L.useState(""),[E,N]=L.useState(((X=window.our)==null?void 0:X.node)||""),[x,w]=L.useState(""),[b,T]=L.useState(""),[B,D]=L.useState(!1);L.useEffect(()=>{const ie=r==null?void 0:r.app;ie&&(v(ie.package),N(ie.publisher),D(!0))},[r]);const $=L.useCallback(async()=>{await nw.activate().catch(()=>{});try{Om(du)}catch(ie){console.error(ie)}},[]),H=L.useCallback(async()=>{if(!x){T("");return}try{const M=await(await fetch(x)).text();JSON.parse(M);const f=ut(mr(M));T(f)}catch{window.alert("Error calculating metadata hash. Please ensure the URL is valid and the metadata is in JSON format.")}},[x]),Y=L.useCallback(async ie=>{var f;ie.preventDefault(),ie.stopPropagation();let M=b;try{if(!M){const S=await fetch(x);await S.json();const _=await S.text();M=ut(mr(_))}a("Please confirm the transaction in your wallet");const p=GN(E);await Om(du);const A=await(B?e.updateMetadata(G.from(gS(["string","bytes"],[g,p])),x,M):e.registerApp(g,p,x,M));await new Promise(S=>setTimeout(S,2e3)),a("Publishing package..."),await A.wait(),c({packageName:g,publisherId:E}),v(""),N(((f=window.our)==null?void 0:f.node)||E),w(""),T(""),D(!1)}catch(p){console.error(p),window.alert("Error publishing package. Please ensure the package name and publisher ID are valid, and the metadata is in JSON format.")}finally{a("")}},[g,B,E,x,b,e,c,v,N,w,T,D]),Q=L.useCallback(async()=>{B||g&&E&&n.find(ie=>ie.package===g&&ie.publisher===E)&&D(!0)},[n,g,E,B,D]);return P.jsxs("div",{style:{width:"100%"},children:[P.jsx(Ju,{hideSearch:!0,onBack:d?()=>m(!1):void 0}),P.jsxs("div",{className:"row between page-title",children:[P.jsx("h4",{children:"Publish Package"}),!!i&&P.jsxs("div",{style:{textAlign:"right",lineHeight:1.5},children:[" ","Connected as"," ",(i==null?void 0:i.slice(0,6))+"..."+(i==null?void 0:i.slice(i.length-6))]})]}),l?P.jsx("div",{className:"col center",children:P.jsx(Ed,{msg:l})}):u?P.jsxs("div",{className:"col center",children:[P.jsx("h4",{style:{marginBottom:"0.5em"},children:"Package Published!"}),P.jsxs("div",{style:{marginBottom:"0.5em"},children:[P.jsx("strong",{children:"Package Name:"})," ",u.packageName]}),P.jsxs("div",{style:{marginBottom:"0.5em"},children:[P.jsx("strong",{children:"Publisher ID:"})," ",u.publisherId]}),P.jsx("button",{className:"my-pkg-btn row",style:{marginTop:"1em"},onClick:()=>c(void 0),children:"Publish Another Package"})]}):d?P.jsx(VN,{packageName:g,publisherId:E,app:r==null?void 0:r.app,goBack:()=>m(!1)}):!i||!o?P.jsxs(P.Fragment,{children:[P.jsx("h4",{style:{},children:"Please connect your wallet to publish a package"}),P.jsx("button",{className:"connect-wallet row",onClick:$,children:"Connect Wallet"})]}):s?P.jsx(Ed,{msg:"Approve connection in your wallet"}):P.jsxs("form",{className:"new card col",style:{flex:1,overflowY:"scroll"},onSubmit:Y,children:[P.jsxs("div",{className:"row between",style:{cursor:"pointer",padding:"0.5em",margin:"0 0 0 -0.5em"},onClick:()=>D(!B),children:[P.jsx(KN,{checked:B,readOnly:!0}),P.jsx("label",{htmlFor:"update",style:{cursor:"pointer",marginLeft:8},children:"Update existing package"})]}),P.jsxs("div",{className:"col f-width",children:[P.jsx("label",{htmlFor:"package-name",children:"Package Name"}),P.jsx("input",{style:{minWidth:"80%"},id:"package-name",type:"text",required:!0,placeholder:"my-package",value:g,onChange:ie=>v(ie.target.value),onBlur:Q})]}),P.jsxs("div",{className:"col f-width",children:[P.jsx("label",{htmlFor:"publisher-id",children:"Publisher ID"}),P.jsx("input",{style:{minWidth:"80%"},id:"publisher-id",type:"text",required:!0,value:E,onChange:ie=>N(ie.target.value),onBlur:Q})]}),P.jsxs("div",{className:"col f-width",children:[P.jsx("label",{htmlFor:"metadata-url",children:"Metadata URL"}),P.jsx("input",{style:{minWidth:"80%"},id:"metadata-url",type:"text",required:!0,value:x,onChange:ie=>w(ie.target.value),onBlur:H,placeholder:"https://github/my-org/my-repo/metadata.json"}),P.jsxs("div",{style:{textAlign:"left",margin:"0.5em 0 0"},children:["Metadata is a JSON file that describes your package.",P.jsx("br",{})," You can"," ",P.jsx("a",{onClick:()=>m(!0),style:{cursor:"pointer",textDecoration:"underline"},children:"fill out a template here"}),"."]})]}),P.jsxs("div",{className:"col f-width",children:[P.jsx("label",{htmlFor:"metadata-hash",children:"Metadata Hash"}),P.jsx("input",{style:{minWidth:"80%"},readOnly:!0,id:"metadata-hash",type:"text",value:b,onChange:ie=>T(ie.target.value),placeholder:"Calculated automatically from metadata URL"})]}),P.jsx("button",{type:"submit",className:"primary",children:"Publish"})]})]})}var YN={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const XN=[[nw,Fh]],{useProvider:ZN}=Fh,e4="https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",Is="/main:app_store:sys";window.our&&(window.our.process=Is==null?void 0:Is.replace("/",""));const t4=`${YN.VITE_NODE_URL||"http://localhost:8080"}${Is}`;function r4(){const t=ZN(),[e,r]=L.useState(!0),[n,i]=L.useState(xd.connect(Rm[Sa.SEPOLIA],new vi(e4)));if(L.useEffect(()=>{t==null||t.getNetwork().then(s=>{s.chainId===Sa.SEPOLIA&&i(xd.connect(Rm[Sa.SEPOLIA],t.getSigner()))})},[t]),L.useEffect(()=>{},[]),!e)return P.jsxs("div",{className:"node-not-connected",children:[P.jsx("h2",{style:{color:"red"},children:"Node not connected"}),P.jsxs("h4",{children:["You need to start a node at ",t4," before you can use this UI in development."]})]});const o={provider:t,packageAbi:n};return P.jsx(Wu.Web3ReactProvider,{connectors:XN,children:P.jsx(SE,{basename:Is,children:P.jsxs(AE,{children:[P.jsx(ms,{path:"/",element:P.jsx(ON,{...o})}),P.jsx(ms,{path:Sd,element:P.jsx(LN,{...o})}),P.jsx(ms,{path:"/app-details/:id",element:P.jsx(BN,{...o})}),P.jsx(ms,{path:"/publish",element:P.jsx(JN,{...o})})]})})})}ff.createRoot(document.getElementById("root")).render(P.jsx(qr.StrictMode,{children:P.jsx(r4,{})})); diff --git a/kinode/packages/app_store/pkg/ui/assets/index-vBSUJfGV.js b/kinode/packages/app_store/pkg/ui/assets/index-vBSUJfGV.js new file mode 100644 index 000000000..a16d77eb4 --- /dev/null +++ b/kinode/packages/app_store/pkg/ui/assets/index-vBSUJfGV.js @@ -0,0 +1,94 @@ +var Rw=Object.defineProperty;var Ow=(t,e,r)=>e in t?Rw(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var r0=(t,e,r)=>(Ow(t,typeof e!="symbol"?e+"":e,r),r);function Tw(t,e){for(var r=0;rn[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=r(i);fetch(i.href,s)}})();var ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Ks(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var eg={exports:{}},xu={},tg={exports:{}},ye={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ba=Symbol.for("react.element"),Lw=Symbol.for("react.portal"),jw=Symbol.for("react.fragment"),Bw=Symbol.for("react.strict_mode"),Dw=Symbol.for("react.profiler"),Fw=Symbol.for("react.provider"),Uw=Symbol.for("react.context"),zw=Symbol.for("react.forward_ref"),$w=Symbol.for("react.suspense"),Hw=Symbol.for("react.memo"),Vw=Symbol.for("react.lazy"),n0=Symbol.iterator;function qw(t){return t===null||typeof t!="object"?null:(t=n0&&t[n0]||t["@@iterator"],typeof t=="function"?t:null)}var rg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ng=Object.assign,ig={};function Qs(t,e,r){this.props=t,this.context=e,this.refs=ig,this.updater=r||rg}Qs.prototype.isReactComponent={};Qs.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Qs.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function sg(){}sg.prototype=Qs.prototype;function Fh(t,e,r){this.props=t,this.context=e,this.refs=ig,this.updater=r||rg}var Uh=Fh.prototype=new sg;Uh.constructor=Fh;ng(Uh,Qs.prototype);Uh.isPureReactComponent=!0;var i0=Array.isArray,og=Object.prototype.hasOwnProperty,zh={current:null},ag={key:!0,ref:!0,__self:!0,__source:!0};function lg(t,e,r){var n,i={},s=null,o=null;if(e!=null)for(n in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)og.call(e,n)&&!ag.hasOwnProperty(n)&&(i[n]=e[n]);var a=arguments.length-2;if(a===1)i.children=r;else if(1>>1,d=_[N];if(0>>1;Ni(v,R))Bi(F,v)?(_[N]=F,_[B]=R,N=B):(_[N]=v,_[Y]=R,N=Y);else if(Bi(F,R))_[N]=F,_[B]=R,N=B;else break e}}return C}function i(_,C){var R=_.sortIndex-C.sortIndex;return R!==0?R:_.id-C.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],u=[],c=1,h=null,m=3,g=!1,y=!1,b=!1,k=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function A(_){for(var C=r(u);C!==null;){if(C.callback===null)n(u);else if(C.startTime<=_)n(u),C.sortIndex=C.expirationTime,e(l,C);else break;C=r(u)}}function T(_){if(b=!1,A(_),!y)if(r(l)!==null)y=!0,E(j);else{var C=r(u);C!==null&&S(T,C.startTime-_)}}function j(_,C){y=!1,b&&(b=!1,x(H),H=-1),g=!0;var R=m;try{for(A(C),h=r(l);h!==null&&(!(h.expirationTime>C)||_&&!se());){var N=h.callback;if(typeof N=="function"){h.callback=null,m=h.priorityLevel;var d=N(h.expirationTime<=C);C=t.unstable_now(),typeof d=="function"?h.callback=d:h===r(l)&&n(l),A(C)}else n(l);h=r(l)}if(h!==null)var P=!0;else{var Y=r(u);Y!==null&&S(T,Y.startTime-C),P=!1}return P}finally{h=null,m=R,g=!1}}var D=!1,$=null,H=-1,J=5,Z=-1;function se(){return!(t.unstable_now()-Z_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):J=0<_?Math.floor(1e3/_):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return r(l)},t.unstable_next=function(_){switch(m){case 1:case 2:case 3:var C=3;break;default:C=m}var R=m;m=C;try{return _()}finally{m=R}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(_,C){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var R=m;m=_;try{return C()}finally{m=R}},t.unstable_scheduleCallback=function(_,C,R){var N=t.unstable_now();switch(typeof R=="object"&&R!==null?(R=R.delay,R=typeof R=="number"&&0N?(_.sortIndex=R,e(u,_),r(l)===null&&_===r(u)&&(b?(x(H),H=-1):b=!0,S(T,R-N))):(_.sortIndex=d,e(l,_),y||g||(y=!0,E(j))),_},t.unstable_shouldYield=se,t.unstable_wrapCallback=function(_){var C=m;return function(){var R=m;m=C;try{return _.apply(this,arguments)}finally{m=R}}}})(hg);fg.exports=hg;var n2=fg.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var dg=L,mr=n2;function V(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Af=Object.prototype.hasOwnProperty,i2=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,o0={},a0={};function s2(t){return Af.call(a0,t)?!0:Af.call(o0,t)?!1:i2.test(t)?a0[t]=!0:(o0[t]=!0,!1)}function o2(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function a2(t,e,r,n){if(e===null||typeof e>"u"||o2(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Kt(t,e,r,n,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Tt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Tt[t]=new Kt(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Tt[e]=new Kt(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Tt[t]=new Kt(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Tt[t]=new Kt(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Tt[t]=new Kt(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Tt[t]=new Kt(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Tt[t]=new Kt(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Tt[t]=new Kt(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Tt[t]=new Kt(t,5,!1,t.toLowerCase(),null,!1,!1)});var Hh=/[\-:]([a-z])/g;function Vh(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Hh,Vh);Tt[e]=new Kt(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Hh,Vh);Tt[e]=new Kt(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Hh,Vh);Tt[e]=new Kt(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Tt[t]=new Kt(t,1,!1,t.toLowerCase(),null,!1,!1)});Tt.xlinkHref=new Kt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Tt[t]=new Kt(t,1,!1,t.toLowerCase(),null,!0,!0)});function qh(t,e,r,n){var i=Tt.hasOwnProperty(e)?Tt[e]:null;(i!==null?i.type!==0:n||!(2a||i[o]!==s[a]){var l=` +`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{xc=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?xo(t):""}function l2(t){switch(t.tag){case 5:return xo(t.type);case 16:return xo("Lazy");case 13:return xo("Suspense");case 19:return xo("SuspenseList");case 0:case 2:case 15:return t=bc(t.type,!1),t;case 11:return t=bc(t.type.render,!1),t;case 1:return t=bc(t.type,!0),t;default:return""}}function Nf(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case cs:return"Fragment";case us:return"Portal";case _f:return"Profiler";case Gh:return"StrictMode";case Sf:return"Suspense";case kf:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case gg:return(t.displayName||"Context")+".Consumer";case mg:return(t._context.displayName||"Context")+".Provider";case Wh:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Kh:return e=t.displayName||null,e!==null?e:Nf(t.type)||"Memo";case ri:e=t._payload,t=t._init;try{return Nf(t(e))}catch{}}return null}function u2(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Nf(e);case 8:return e===Gh?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function bi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function yg(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function c2(t){var e=yg(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,s=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){n=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function ja(t){t._valueTracker||(t._valueTracker=c2(t))}function wg(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=yg(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function Rl(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Mf(t,e){var r=e.checked;return ht({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function u0(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=bi(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function xg(t,e){e=e.checked,e!=null&&qh(t,"checked",e,!1)}function Pf(t,e){xg(t,e);var r=bi(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Cf(t,e.type,r):e.hasOwnProperty("defaultValue")&&Cf(t,e.type,bi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function c0(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function Cf(t,e,r){(e!=="number"||Rl(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var bo=Array.isArray;function ks(t,e,r,n){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=Ba.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Ho(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var Mo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},f2=["Webkit","ms","Moz","O"];Object.keys(Mo).forEach(function(t){f2.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Mo[e]=Mo[t]})});function _g(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||Mo.hasOwnProperty(t)&&Mo[t]?(""+e).trim():e+"px"}function Sg(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,i=_g(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,i):t[r]=i}}var h2=ht({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Of(t,e){if(e){if(h2[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(V(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(V(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(V(61))}if(e.style!=null&&typeof e.style!="object")throw Error(V(62))}}function Tf(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Lf=null;function Qh(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var jf=null,Ns=null,Ms=null;function d0(t){if(t=_a(t)){if(typeof jf!="function")throw Error(V(280));var e=t.stateNode;e&&(e=Su(e),jf(t.stateNode,t.type,e))}}function kg(t){Ns?Ms?Ms.push(t):Ms=[t]:Ns=t}function Ng(){if(Ns){var t=Ns,e=Ms;if(Ms=Ns=null,d0(t),e)for(t=0;t>>=0,t===0?32:31-(A2(t)/_2|0)|0}var Da=64,Fa=4194304;function Eo(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function jl(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,i=t.suspendedLanes,s=t.pingedLanes,o=r&268435455;if(o!==0){var a=o&~i;a!==0?n=Eo(a):(s&=o,s!==0&&(n=Eo(s)))}else o=r&~i,o!==0?n=Eo(o):s!==0&&(n=Eo(s));if(n===0)return 0;if(e!==0&&e!==n&&!(e&i)&&(i=n&-n,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(n&4&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0r;r++)e.push(t);return e}function Ea(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Gr(e),t[e]=r}function M2(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0=Co),E0=" ",A0=!1;function Wg(t,e){switch(t){case"keyup":return rx.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fs=!1;function ix(t,e){switch(t){case"compositionend":return Kg(e);case"keypress":return e.which!==32?null:(A0=!0,E0);case"textInput":return t=e.data,t===E0&&A0?null:t;default:return null}}function sx(t,e){if(fs)return t==="compositionend"||!nd&&Wg(t,e)?(t=qg(),dl=ed=li=null,fs=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=N0(r)}}function Xg(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Xg(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Zg(){for(var t=window,e=Rl();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=Rl(t.document)}return e}function id(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function px(t){var e=Zg(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&Xg(r.ownerDocument.documentElement,r)){if(n!==null&&id(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=r.textContent.length,s=Math.min(n.start,i);n=n.end===void 0?s:Math.min(n.end,i),!t.extend&&s>n&&(i=n,n=s,s=i),i=M0(r,s);var o=M0(r,n);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>n?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,hs=null,$f=null,Ro=null,Hf=!1;function P0(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Hf||hs==null||hs!==Rl(n)||(n=hs,"selectionStart"in n&&id(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Ro&&Qo(Ro,n)||(Ro=n,n=Fl($f,"onSelect"),0ms||(t.current=Qf[ms],Qf[ms]=null,ms--)}function Je(t,e){ms++,Qf[ms]=t.current,t.current=e}var Ei={},$t=ki(Ei),rr=ki(!1),zi=Ei;function js(t,e){var r=t.type.contextTypes;if(!r)return Ei;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in r)i[s]=e[s];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function nr(t){return t=t.childContextTypes,t!=null}function zl(){rt(rr),rt($t)}function j0(t,e,r){if($t.current!==Ei)throw Error(V(168));Je($t,e),Je(rr,r)}function lv(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var i in n)if(!(i in e))throw Error(V(108,u2(t)||"Unknown",i));return ht({},r,n)}function $l(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Ei,zi=$t.current,Je($t,t),Je(rr,rr.current),!0}function B0(t,e,r){var n=t.stateNode;if(!n)throw Error(V(169));r?(t=lv(t,e,zi),n.__reactInternalMemoizedMergedChildContext=t,rt(rr),rt($t),Je($t,t)):rt(rr),Je(rr,r)}var Nn=null,ku=!1,Lc=!1;function uv(t){Nn===null?Nn=[t]:Nn.push(t)}function kx(t){ku=!0,uv(t)}function Ni(){if(!Lc&&Nn!==null){Lc=!0;var t=0,e=Oe;try{var r=Nn;for(Oe=1;t>=o,i-=o,In=1<<32-Gr(e)+i|r<H?(J=$,$=null):J=$.sibling;var Z=m(x,$,A[H],T);if(Z===null){$===null&&($=J);break}t&&$&&Z.alternate===null&&e(x,$),w=s(Z,w,H),D===null?j=Z:D.sibling=Z,D=Z,$=J}if(H===A.length)return r(x,$),it&&Ci(x,H),j;if($===null){for(;HH?(J=$,$=null):J=$.sibling;var se=m(x,$,Z.value,T);if(se===null){$===null&&($=J);break}t&&$&&se.alternate===null&&e(x,$),w=s(se,w,H),D===null?j=se:D.sibling=se,D=se,$=J}if(Z.done)return r(x,$),it&&Ci(x,H),j;if($===null){for(;!Z.done;H++,Z=A.next())Z=h(x,Z.value,T),Z!==null&&(w=s(Z,w,H),D===null?j=Z:D.sibling=Z,D=Z);return it&&Ci(x,H),j}for($=n(x,$);!Z.done;H++,Z=A.next())Z=g($,x,H,Z.value,T),Z!==null&&(t&&Z.alternate!==null&&$.delete(Z.key===null?H:Z.key),w=s(Z,w,H),D===null?j=Z:D.sibling=Z,D=Z);return t&&$.forEach(function(Ne){return e(x,Ne)}),it&&Ci(x,H),j}function k(x,w,A,T){if(typeof A=="object"&&A!==null&&A.type===cs&&A.key===null&&(A=A.props.children),typeof A=="object"&&A!==null){switch(A.$$typeof){case La:e:{for(var j=A.key,D=w;D!==null;){if(D.key===j){if(j=A.type,j===cs){if(D.tag===7){r(x,D.sibling),w=i(D,A.props.children),w.return=x,x=w;break e}}else if(D.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===ri&&V0(j)===D.type){r(x,D.sibling),w=i(D,A.props),w.ref=co(x,D,A),w.return=x,x=w;break e}r(x,D);break}else e(x,D);D=D.sibling}A.type===cs?(w=Bi(A.props.children,x.mode,T,A.key),w.return=x,x=w):(T=bl(A.type,A.key,A.props,null,x.mode,T),T.ref=co(x,w,A),T.return=x,x=T)}return o(x);case us:e:{for(D=A.key;w!==null;){if(w.key===D)if(w.tag===4&&w.stateNode.containerInfo===A.containerInfo&&w.stateNode.implementation===A.implementation){r(x,w.sibling),w=i(w,A.children||[]),w.return=x,x=w;break e}else{r(x,w);break}else e(x,w);w=w.sibling}w=Hc(A,x.mode,T),w.return=x,x=w}return o(x);case ri:return D=A._init,k(x,w,D(A._payload),T)}if(bo(A))return y(x,w,A,T);if(so(A))return b(x,w,A,T);Ga(x,A)}return typeof A=="string"&&A!==""||typeof A=="number"?(A=""+A,w!==null&&w.tag===6?(r(x,w.sibling),w=i(w,A),w.return=x,x=w):(r(x,w),w=$c(A,x.mode,T),w.return=x,x=w),o(x)):r(x,w)}return k}var Ds=vv(!0),yv=vv(!1),Sa={},cn=ki(Sa),Zo=ki(Sa),ea=ki(Sa);function Li(t){if(t===Sa)throw Error(V(174));return t}function dd(t,e){switch(Je(ea,e),Je(Zo,t),Je(cn,Sa),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Rf(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Rf(e,t)}rt(cn),Je(cn,e)}function Fs(){rt(cn),rt(Zo),rt(ea)}function wv(t){Li(ea.current);var e=Li(cn.current),r=Rf(e,t.type);e!==r&&(Je(Zo,t),Je(cn,r))}function pd(t){Zo.current===t&&(rt(cn),rt(Zo))}var ct=ki(0);function Kl(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var jc=[];function md(){for(var t=0;tr?r:4,t(!0);var n=Bc.transition;Bc.transition={};try{t(!1),e()}finally{Oe=r,Bc.transition=n}}function Lv(){return Pr().memoizedState}function Cx(t,e,r){var n=yi(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},jv(t))Bv(e,r);else if(r=dv(t,e,r,n),r!==null){var i=Gt();Wr(r,t,n,i),Dv(r,e,n)}}function Ix(t,e,r){var n=yi(t),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(jv(t))Bv(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,r);if(i.hasEagerState=!0,i.eagerState=a,Kr(a,o)){var l=e.interleaved;l===null?(i.next=i,fd(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}finally{}r=dv(t,e,i,n),r!==null&&(i=Gt(),Wr(r,t,n,i),Dv(r,e,n))}}function jv(t){var e=t.alternate;return t===ft||e!==null&&e===ft}function Bv(t,e){Oo=Ql=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function Dv(t,e,r){if(r&4194240){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,Yh(t,r)}}var Jl={readContext:Mr,useCallback:jt,useContext:jt,useEffect:jt,useImperativeHandle:jt,useInsertionEffect:jt,useLayoutEffect:jt,useMemo:jt,useReducer:jt,useRef:jt,useState:jt,useDebugValue:jt,useDeferredValue:jt,useTransition:jt,useMutableSource:jt,useSyncExternalStore:jt,useId:jt,unstable_isNewReconciler:!1},Rx={readContext:Mr,useCallback:function(t,e){return en().memoizedState=[t,e===void 0?null:e],t},useContext:Mr,useEffect:G0,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,vl(4194308,4,Cv.bind(null,e,t),r)},useLayoutEffect:function(t,e){return vl(4194308,4,t,e)},useInsertionEffect:function(t,e){return vl(4,2,t,e)},useMemo:function(t,e){var r=en();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=en();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=Cx.bind(null,ft,t),[n.memoizedState,t]},useRef:function(t){var e=en();return t={current:t},e.memoizedState=t},useState:q0,useDebugValue:xd,useDeferredValue:function(t){return en().memoizedState=t},useTransition:function(){var t=q0(!1),e=t[0];return t=Px.bind(null,t[1]),en().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=ft,i=en();if(it){if(r===void 0)throw Error(V(407));r=r()}else{if(r=e(),Nt===null)throw Error(V(349));Hi&30||Ev(n,e,r)}i.memoizedState=r;var s={value:r,getSnapshot:e};return i.queue=s,G0(_v.bind(null,n,s,t),[t]),n.flags|=2048,na(9,Av.bind(null,n,s,r,e),void 0,null),r},useId:function(){var t=en(),e=Nt.identifierPrefix;if(it){var r=Rn,n=In;r=(n&~(1<<32-Gr(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=ta++,0<\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=o.createElement(r,{is:n.is}):(t=o.createElement(r),r==="select"&&(o=t,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):t=o.createElementNS(t,r),t[sn]=e,t[Xo]=n,Wv(t,e,!1,!1),e.stateNode=t;e:{switch(o=Tf(r,n),r){case"dialog":tt("cancel",t),tt("close",t),i=n;break;case"iframe":case"object":case"embed":tt("load",t),i=n;break;case"video":case"audio":for(i=0;izs&&(e.flags|=128,n=!0,fo(s,!1),e.lanes=4194304)}else{if(!n)if(t=Kl(o),t!==null){if(e.flags|=128,n=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),fo(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!it)return Bt(e),null}else 2*yt()-s.renderingStartTime>zs&&r!==1073741824&&(e.flags|=128,n=!0,fo(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(r=s.last,r!==null?r.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=yt(),e.sibling=null,r=ct.current,Je(ct,n?r&1|2:r&1),e):(Bt(e),null);case 22:case 23:return kd(),n=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?ur&1073741824&&(Bt(e),e.subtreeFlags&6&&(e.flags|=8192)):Bt(e),null;case 24:return null;case 25:return null}throw Error(V(156,e.tag))}function Ux(t,e){switch(od(e),e.tag){case 1:return nr(e.type)&&zl(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Fs(),rt(rr),rt($t),md(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return pd(e),null;case 13:if(rt(ct),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(V(340));Bs()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return rt(ct),null;case 4:return Fs(),null;case 10:return cd(e.type._context),null;case 22:case 23:return kd(),null;case 24:return null;default:return null}}var Ka=!1,Dt=!1,zx=typeof WeakSet=="function"?WeakSet:Set,X=null;function ws(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){pt(t,e,n)}else r.current=null}function ah(t,e,r){try{r()}catch(n){pt(t,e,n)}}var tp=!1;function $x(t,e){if(Vf=Bl,t=Zg(),id(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var i=n.anchorOffset,s=n.focusNode;n=n.focusOffset;try{r.nodeType,s.nodeType}catch{r=null;break e}var o=0,a=-1,l=-1,u=0,c=0,h=t,m=null;t:for(;;){for(var g;h!==r||i!==0&&h.nodeType!==3||(a=o+i),h!==s||n!==0&&h.nodeType!==3||(l=o+n),h.nodeType===3&&(o+=h.nodeValue.length),(g=h.firstChild)!==null;)m=h,h=g;for(;;){if(h===t)break t;if(m===r&&++u===i&&(a=o),m===s&&++c===n&&(l=o),(g=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=g}r=a===-1||l===-1?null:{start:a,end:l}}else r=null}r=r||{start:0,end:0}}else r=null;for(qf={focusedElem:t,selectionRange:r},Bl=!1,X=e;X!==null;)if(e=X,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,X=t;else for(;X!==null;){e=X;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var b=y.memoizedProps,k=y.memoizedState,x=e.stateNode,w=x.getSnapshotBeforeUpdate(e.elementType===e.type?b:Fr(e.type,b),k);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var A=e.stateNode.containerInfo;A.nodeType===1?A.textContent="":A.nodeType===9&&A.documentElement&&A.removeChild(A.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(V(163))}}catch(T){pt(e,e.return,T)}if(t=e.sibling,t!==null){t.return=e.return,X=t;break}X=e.return}return y=tp,tp=!1,y}function To(t,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&ah(e,r,s)}i=i.next}while(i!==n)}}function Pu(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function lh(t){var e=t.ref;if(e!==null){var r=t.stateNode;switch(t.tag){case 5:t=r;break;default:t=r}typeof e=="function"?e(t):e.current=t}}function Jv(t){var e=t.alternate;e!==null&&(t.alternate=null,Jv(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[sn],delete e[Xo],delete e[Kf],delete e[_x],delete e[Sx])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Yv(t){return t.tag===5||t.tag===3||t.tag===4}function rp(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Yv(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function uh(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Ul));else if(n!==4&&(t=t.child,t!==null))for(uh(t,e,r),t=t.sibling;t!==null;)uh(t,e,r),t=t.sibling}function ch(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(ch(t,e,r),t=t.sibling;t!==null;)ch(t,e,r),t=t.sibling}var Ct=null,$r=!1;function Zn(t,e,r){for(r=r.child;r!==null;)Xv(t,e,r),r=r.sibling}function Xv(t,e,r){if(un&&typeof un.onCommitFiberUnmount=="function")try{un.onCommitFiberUnmount(bu,r)}catch{}switch(r.tag){case 5:Dt||ws(r,e);case 6:var n=Ct,i=$r;Ct=null,Zn(t,e,r),Ct=n,$r=i,Ct!==null&&($r?(t=Ct,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):Ct.removeChild(r.stateNode));break;case 18:Ct!==null&&($r?(t=Ct,r=r.stateNode,t.nodeType===8?Tc(t.parentNode,r):t.nodeType===1&&Tc(t,r),Wo(t)):Tc(Ct,r.stateNode));break;case 4:n=Ct,i=$r,Ct=r.stateNode.containerInfo,$r=!0,Zn(t,e,r),Ct=n,$r=i;break;case 0:case 11:case 14:case 15:if(!Dt&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ah(r,e,o),i=i.next}while(i!==n)}Zn(t,e,r);break;case 1:if(!Dt&&(ws(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(a){pt(r,e,a)}Zn(t,e,r);break;case 21:Zn(t,e,r);break;case 22:r.mode&1?(Dt=(n=Dt)||r.memoizedState!==null,Zn(t,e,r),Dt=n):Zn(t,e,r);break;default:Zn(t,e,r)}}function np(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new zx),e.forEach(function(n){var i=Yx.bind(null,t,n);r.has(n)||(r.add(n),n.then(i,i))})}}function Tr(t,e){var r=e.deletions;if(r!==null)for(var n=0;ni&&(i=o),n&=~s}if(n=i,n=yt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Vx(n/1960))-n,10t?16:t,ui===null)var n=!1;else{if(t=ui,ui=null,Zl=0,Ee&6)throw Error(V(331));var i=Ee;for(Ee|=4,X=t.current;X!==null;){var s=X,o=s.child;if(X.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lyt()-_d?ji(t,0):Ad|=r),ir(t,e)}function o1(t,e){e===0&&(t.mode&1?(e=Fa,Fa<<=1,!(Fa&130023424)&&(Fa=4194304)):e=1);var r=Gt();t=Dn(t,e),t!==null&&(Ea(t,e,r),ir(t,r))}function Jx(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),o1(t,r)}function Yx(t,e){var r=0;switch(t.tag){case 13:var n=t.stateNode,i=t.memoizedState;i!==null&&(r=i.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(V(314))}n!==null&&n.delete(e),o1(t,r)}var a1;a1=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||rr.current)tr=!0;else{if(!(t.lanes&r)&&!(e.flags&128))return tr=!1,Dx(t,e,r);tr=!!(t.flags&131072)}else tr=!1,it&&e.flags&1048576&&cv(e,Vl,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;yl(t,e),t=e.pendingProps;var i=js(e,$t.current);Cs(e,r),i=vd(null,e,n,t,i,r);var s=yd();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,nr(n)?(s=!0,$l(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,hd(e),i.updater=Nu,e.stateNode=i,i._reactInternals=e,eh(e,n,t,r),e=nh(null,e,n,!0,s,r)):(e.tag=0,it&&s&&sd(e),qt(null,e,i,r),e=e.child),e;case 16:n=e.elementType;e:{switch(yl(t,e),t=e.pendingProps,i=n._init,n=i(n._payload),e.type=n,i=e.tag=Zx(n),t=Fr(n,t),i){case 0:e=rh(null,e,n,t,r);break e;case 1:e=X0(null,e,n,t,r);break e;case 11:e=J0(null,e,n,t,r);break e;case 14:e=Y0(null,e,n,Fr(n.type,t),r);break e}throw Error(V(306,n,""))}return e;case 0:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Fr(n,i),rh(t,e,n,i,r);case 1:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Fr(n,i),X0(t,e,n,i,r);case 3:e:{if(Vv(e),t===null)throw Error(V(387));n=e.pendingProps,s=e.memoizedState,i=s.element,pv(t,e),Wl(e,n,null,r);var o=e.memoizedState;if(n=o.element,s.isDehydrated)if(s={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=Us(Error(V(423)),e),e=Z0(t,e,n,r,i);break e}else if(n!==i){i=Us(Error(V(424)),e),e=Z0(t,e,n,r,i);break e}else for(hr=mi(e.stateNode.containerInfo.firstChild),pr=e,it=!0,Hr=null,r=yv(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Bs(),n===i){e=Fn(t,e,r);break e}qt(t,e,n,r)}e=e.child}return e;case 5:return wv(e),t===null&&Yf(e),n=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Gf(n,i)?o=null:s!==null&&Gf(n,s)&&(e.flags|=32),Hv(t,e),qt(t,e,o,r),e.child;case 6:return t===null&&Yf(e),null;case 13:return qv(t,e,r);case 4:return dd(e,e.stateNode.containerInfo),n=e.pendingProps,t===null?e.child=Ds(e,null,n,r):qt(t,e,n,r),e.child;case 11:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Fr(n,i),J0(t,e,n,i,r);case 7:return qt(t,e,e.pendingProps,r),e.child;case 8:return qt(t,e,e.pendingProps.children,r),e.child;case 12:return qt(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,Je(ql,n._currentValue),n._currentValue=o,s!==null)if(Kr(s.value,o)){if(s.children===i.children&&!rr.current){e=Fn(t,e,r);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===n){if(s.tag===1){l=Tn(-1,r&-r),l.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}s.lanes|=r,l=s.alternate,l!==null&&(l.lanes|=r),Xf(s.return,r,e),a.lanes|=r;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(V(341));o.lanes|=r,a=o.alternate,a!==null&&(a.lanes|=r),Xf(o,r,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}qt(t,e,i.children,r),e=e.child}return e;case 9:return i=e.type,n=e.pendingProps.children,Cs(e,r),i=Mr(i),n=n(i),e.flags|=1,qt(t,e,n,r),e.child;case 14:return n=e.type,i=Fr(n,e.pendingProps),i=Fr(n.type,i),Y0(t,e,n,i,r);case 15:return zv(t,e,e.type,e.pendingProps,r);case 17:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:Fr(n,i),yl(t,e),e.tag=1,nr(n)?(t=!0,$l(e)):t=!1,Cs(e,r),gv(e,n,i),eh(e,n,i,r),nh(null,e,n,!0,t,r);case 19:return Gv(t,e,r);case 22:return $v(t,e,r)}throw Error(V(156,e.tag))};function l1(t,e){return Tg(t,e)}function Xx(t,e,r,n){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kr(t,e,r,n){return new Xx(t,e,r,n)}function Md(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Zx(t){if(typeof t=="function")return Md(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Wh)return 11;if(t===Kh)return 14}return 2}function wi(t,e){var r=t.alternate;return r===null?(r=kr(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function bl(t,e,r,n,i,s){var o=2;if(n=t,typeof t=="function")Md(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case cs:return Bi(r.children,i,s,e);case Gh:o=8,i|=8;break;case _f:return t=kr(12,r,e,i|2),t.elementType=_f,t.lanes=s,t;case Sf:return t=kr(13,r,e,i),t.elementType=Sf,t.lanes=s,t;case kf:return t=kr(19,r,e,i),t.elementType=kf,t.lanes=s,t;case vg:return Iu(r,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case mg:o=10;break e;case gg:o=9;break e;case Wh:o=11;break e;case Kh:o=14;break e;case ri:o=16,n=null;break e}throw Error(V(130,t==null?t:typeof t,""))}return e=kr(o,r,e,i),e.elementType=t,e.type=n,e.lanes=s,e}function Bi(t,e,r,n){return t=kr(7,t,n,e),t.lanes=r,t}function Iu(t,e,r,n){return t=kr(22,t,n,e),t.elementType=vg,t.lanes=r,t.stateNode={isHidden:!1},t}function $c(t,e,r){return t=kr(6,t,null,e),t.lanes=r,t}function Hc(t,e,r){return e=kr(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function eb(t,e,r,n,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ac(0),this.expirationTimes=Ac(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ac(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Pd(t,e,r,n,i,s,o,a,l){return t=new eb(t,e,r,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=kr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},hd(s),t}function tb(t,e,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h1)}catch(t){console.error(t)}}h1(),cg.exports=vr;var sa=cg.exports,fp=sa;Ef.createRoot=fp.createRoot,Ef.hydrateRoot=fp.hydrateRoot;/** + * @remix-run/router v1.14.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function oa(){return oa=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u")throw new Error(e)}function Od(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function ab(){return Math.random().toString(36).substr(2,8)}function dp(t,e){return{usr:t.state,key:t.key,idx:e}}function mh(t,e,r,n){return r===void 0&&(r=null),oa({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof e=="string"?Xs(e):e,{state:r,key:e&&e.key||n||ab()})}function d1(t){let{pathname:e="/",search:r="",hash:n=""}=t;return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function Xs(t){let e={};if(t){let r=t.indexOf("#");r>=0&&(e.hash=t.substr(r),t=t.substr(0,r));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}function lb(t,e,r,n){n===void 0&&(n={});let{window:i=document.defaultView,v5Compat:s=!1}=n,o=i.history,a=ci.Pop,l=null,u=c();u==null&&(u=0,o.replaceState(oa({},o.state,{idx:u}),""));function c(){return(o.state||{idx:null}).idx}function h(){a=ci.Pop;let k=c(),x=k==null?null:k-u;u=k,l&&l({action:a,location:b.location,delta:x})}function m(k,x){a=ci.Push;let w=mh(b.location,k,x);r&&r(w,k),u=c()+1;let A=dp(w,u),T=b.createHref(w);try{o.pushState(A,"",T)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;i.location.assign(T)}s&&l&&l({action:a,location:b.location,delta:1})}function g(k,x){a=ci.Replace;let w=mh(b.location,k,x);r&&r(w,k),u=c();let A=dp(w,u),T=b.createHref(w);o.replaceState(A,"",T),s&&l&&l({action:a,location:b.location,delta:0})}function y(k){let x=i.location.origin!=="null"?i.location.origin:i.location.href,w=typeof k=="string"?k:d1(k);return _t(x,"No window.location.(origin|href) available to create URL for href: "+w),new URL(w,x)}let b={get action(){return a},get location(){return t(i,o)},listen(k){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(hp,h),l=k,()=>{i.removeEventListener(hp,h),l=null}},createHref(k){return e(i,k)},createURL:y,encodeLocation(k){let x=y(k);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:m,replace:g,go(k){return o.go(k)}};return b}var pp;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(pp||(pp={}));function ub(t,e,r){r===void 0&&(r="/");let n=typeof e=="string"?Xs(e):e,i=g1(n.pathname||"/",r);if(i==null)return null;let s=p1(t);cb(s);let o=null;for(let a=0;o==null&&a{let l={relativePath:a===void 0?s.path||"":a,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};l.relativePath.startsWith("/")&&(_t(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(n.length));let u=Di([n,l.relativePath]),c=r.concat(l);s.children&&s.children.length>0&&(_t(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),p1(s.children,e,c,u)),!(s.path==null&&!s.index)&&e.push({path:u,score:vb(u,s.index),routesMeta:c})};return t.forEach((s,o)=>{var a;if(s.path===""||!((a=s.path)!=null&&a.includes("?")))i(s,o);else for(let l of m1(s.path))i(s,o,l)}),e}function m1(t){let e=t.split("/");if(e.length===0)return[];let[r,...n]=e,i=r.endsWith("?"),s=r.replace(/\?$/,"");if(n.length===0)return i?[s,""]:[s];let o=m1(n.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),i&&a.push(...o),a.map(l=>t.startsWith("/")&&l===""?"/":l)}function cb(t){t.sort((e,r)=>e.score!==r.score?r.score-e.score:yb(e.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const fb=/^:[\w-]+$/,hb=3,db=2,pb=1,mb=10,gb=-2,mp=t=>t==="*";function vb(t,e){let r=t.split("/"),n=r.length;return r.some(mp)&&(n+=gb),e&&(n+=db),r.filter(i=>!mp(i)).reduce((i,s)=>i+(fb.test(s)?hb:s===""?pb:mb),n)}function yb(t,e){return t.length===e.length&&t.slice(0,-1).every((n,i)=>n===e[i])?t[t.length-1]-e[e.length-1]:0}function wb(t,e){let{routesMeta:r}=t,n={},i="/",s=[];for(let o=0;o{let{paramName:m,isOptional:g}=c;if(m==="*"){let b=a[h]||"";o=s.slice(0,s.length-b.length).replace(/(.)\/+$/,"$1")}const y=a[h];return g&&!y?u[m]=void 0:u[m]=Ab(y||"",m),u},{}),pathname:s,pathnameBase:o,pattern:t}}function bb(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!0),Od(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let n=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(n.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(n.push({paramName:"*"}),i+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?i+="\\/*$":t!==""&&t!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),n]}function Eb(t){try{return decodeURI(t)}catch(e){return Od(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function Ab(t,e){try{return decodeURIComponent(t)}catch(r){return Od(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+t+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),t}}function g1(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,n=t.charAt(r);return n&&n!=="/"?null:t.slice(r)||"/"}function _b(t,e){e===void 0&&(e="/");let{pathname:r,search:n="",hash:i=""}=typeof t=="string"?Xs(t):t;return{pathname:r?r.startsWith("/")?r:Sb(r,e):e,search:Cb(n),hash:Ib(i)}}function Sb(t,e){let r=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(i=>{i===".."?r.length>1&&r.pop():i!=="."&&r.push(i)}),r.length>1?r.join("/"):"/"}function Vc(t,e,r,n){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function kb(t){return t.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function Nb(t,e){let r=kb(t);return e?r.map((n,i)=>i===t.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function Mb(t,e,r,n){n===void 0&&(n=!1);let i;typeof t=="string"?i=Xs(t):(i=oa({},t),_t(!i.pathname||!i.pathname.includes("?"),Vc("?","pathname","search",i)),_t(!i.pathname||!i.pathname.includes("#"),Vc("#","pathname","hash",i)),_t(!i.search||!i.search.includes("#"),Vc("#","search","hash",i)));let s=t===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=r;else{let h=e.length-1;if(!n&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),h-=1;i.pathname=m.join("/")}a=h>=0?e[h]:"/"}let l=_b(i,a),u=o&&o!=="/"&&o.endsWith("/"),c=(s||o===".")&&r.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const Di=t=>t.join("/").replace(/\/\/+/g,"/"),Pb=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Cb=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Ib=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Rb(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const v1=["post","put","patch","delete"];new Set(v1);const Ob=["get",...v1];new Set(Ob);/** + * React Router v6.21.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function aa(){return aa=Object.assign?Object.assign.bind():function(t){for(var e=1;e{a.current=!0}),L.useCallback(function(u,c){if(c===void 0&&(c={}),!a.current)return;if(typeof u=="number"){n.go(u);return}let h=Mb(u,JSON.parse(o),s,c.relative==="path");t==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Di([e,h.pathname])),(c.replace?n.replace:n.push)(h,c.state,c)},[e,n,o,s,t])}function jb(){let{matches:t}=L.useContext(Xi),e=t[t.length-1];return e?e.params:{}}function Bb(t,e){return Db(t,e)}function Db(t,e,r,n){Du()||_t(!1);let{navigator:i}=L.useContext(ju),{matches:s}=L.useContext(Xi),o=s[s.length-1],a=o?o.params:{};o&&o.pathname;let l=o?o.pathnameBase:"/";o&&o.route;let u=Fu(),c;if(e){var h;let k=typeof e=="string"?Xs(e):e;l==="/"||(h=k.pathname)!=null&&h.startsWith(l)||_t(!1),c=k}else c=u;let m=c.pathname||"/",g=l==="/"?m:m.slice(l.length)||"/",y=ub(t,{pathname:g}),b=Hb(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},a,k.params),pathname:Di([l,i.encodeLocation?i.encodeLocation(k.pathname).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?l:Di([l,i.encodeLocation?i.encodeLocation(k.pathnameBase).pathname:k.pathnameBase])})),s,r,n);return e&&b?L.createElement(Bu.Provider,{value:{location:aa({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:ci.Pop}},b):b}function Fb(){let t=Wb(),e=Rb(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},s=null;return L.createElement(L.Fragment,null,L.createElement("h2",null,"Unexpected Application Error!"),L.createElement("h3",{style:{fontStyle:"italic"}},e),r?L.createElement("pre",{style:i},r):null,s)}const Ub=L.createElement(Fb,null);class zb extends L.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){console.error("React Router caught the following error during render",e,r)}render(){return this.state.error!==void 0?L.createElement(Xi.Provider,{value:this.props.routeContext},L.createElement(y1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function $b(t){let{routeContext:e,match:r,children:n}=t,i=L.useContext(Td);return i&&i.static&&i.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=r.route.id),L.createElement(Xi.Provider,{value:e},n)}function Hb(t,e,r,n){var i;if(e===void 0&&(e=[]),r===void 0&&(r=null),n===void 0&&(n=null),t==null){var s;if((s=r)!=null&&s.errors)t=r.matches;else return null}let o=t,a=(i=r)==null?void 0:i.errors;if(a!=null){let c=o.findIndex(h=>h.route.id&&(a==null?void 0:a[h.route.id]));c>=0||_t(!1),o=o.slice(0,Math.min(o.length,c+1))}let l=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let c=0;c=0?o=o.slice(0,u+1):o=[o[0]];break}}}return o.reduceRight((c,h,m)=>{let g,y=!1,b=null,k=null;r&&(g=a&&h.route.id?a[h.route.id]:void 0,b=h.route.errorElement||Ub,l&&(u<0&&m===0?(Qb("route-fallback",!1),y=!0,k=null):u===m&&(y=!0,k=h.route.hydrateFallbackElement||null)));let x=e.concat(o.slice(0,m+1)),w=()=>{let A;return g?A=b:y?A=k:h.route.Component?A=L.createElement(h.route.Component,null):h.route.element?A=h.route.element:A=c,L.createElement($b,{match:h,routeContext:{outlet:c,matches:x,isDataRoute:r!=null},children:A})};return r&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?L.createElement(zb,{location:r.location,revalidation:r.revalidation,component:b,error:g,children:w(),routeContext:{outlet:null,matches:x,isDataRoute:!0}}):w()},null)}var x1=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(x1||{}),ru=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(ru||{});function Vb(t){let e=L.useContext(Td);return e||_t(!1),e}function qb(t){let e=L.useContext(Tb);return e||_t(!1),e}function Gb(t){let e=L.useContext(Xi);return e||_t(!1),e}function b1(t){let e=Gb(),r=e.matches[e.matches.length-1];return r.route.id||_t(!1),r.route.id}function Wb(){var t;let e=L.useContext(y1),r=qb(ru.UseRouteError),n=b1(ru.UseRouteError);return e!==void 0?e:(t=r.errors)==null?void 0:t[n]}function Kb(){let{router:t}=Vb(x1.UseNavigateStable),e=b1(ru.UseNavigateStable),r=L.useRef(!1);return w1(()=>{r.current=!0}),L.useCallback(function(i,s){s===void 0&&(s={}),r.current&&(typeof i=="number"?t.navigate(i):t.navigate(i,aa({fromRouteId:e},s)))},[t,e])}const gp={};function Qb(t,e,r){!e&&!gp[t]&&(gp[t]=!0)}function _o(t){_t(!1)}function Jb(t){let{basename:e="/",children:r=null,location:n,navigationType:i=ci.Pop,navigator:s,static:o=!1,future:a}=t;Du()&&_t(!1);let l=e.replace(/^\/*/,"/"),u=L.useMemo(()=>({basename:l,navigator:s,static:o,future:aa({v7_relativeSplatPath:!1},a)}),[l,a,s,o]);typeof n=="string"&&(n=Xs(n));let{pathname:c="/",search:h="",hash:m="",state:g=null,key:y="default"}=n,b=L.useMemo(()=>{let k=g1(c,l);return k==null?null:{location:{pathname:k,search:h,hash:m,state:g,key:y},navigationType:i}},[l,c,h,m,g,y,i]);return b==null?null:L.createElement(ju.Provider,{value:u},L.createElement(Bu.Provider,{children:r,value:b}))}function Yb(t){let{children:e,location:r}=t;return Bb(gh(e),r)}new Promise(()=>{});function gh(t,e){e===void 0&&(e=[]);let r=[];return L.Children.forEach(t,(n,i)=>{if(!L.isValidElement(n))return;let s=[...e,i];if(n.type===L.Fragment){r.push.apply(r,gh(n.props.children,s));return}n.type!==_o&&_t(!1),!n.props.index||!n.props.children||_t(!1);let o={id:n.props.id||s.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=gh(n.props.children,s)),r.push(o)}),r}/** + * React Router DOM v6.21.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */const Xb="startTransition",vp=Jw[Xb];function Zb(t){let{basename:e,children:r,future:n,window:i}=t,s=L.useRef();s.current==null&&(s.current=ob({window:i,v5Compat:!0}));let o=s.current,[a,l]=L.useState({action:o.action,location:o.location}),{v7_startTransition:u}=n||{},c=L.useCallback(h=>{u&&vp?vp(()=>l(h)):l(h)},[l,u]);return L.useLayoutEffect(()=>o.listen(c),[o,c]),L.createElement(Jb,{basename:e,children:r,location:a.location,navigationType:a.action,navigator:o,future:n})}var yp;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(yp||(yp={}));var wp;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(wp||(wp={}));var Uu={},Ln={},E1={};const eE="logger/5.7.0";let xp=!1,bp=!1;const El={debug:1,default:2,info:2,warning:3,error:4,off:5};let Ep=El.default,qc=null;function tE(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(t){return t.message}return null}const Ap=tE();var vh;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(vh||(vh={}));var Ur;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(Ur||(Ur={}));const _p="0123456789abcdef";class O{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){const n=e.toLowerCase();El[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Ep>El[n])&&console.log.apply(console,r)}debug(...e){this._log(O.levels.DEBUG,e)}info(...e){this._log(O.levels.INFO,e)}warn(...e){this._log(O.levels.WARNING,e)}makeError(e,r,n){if(bp)return this.makeError("censored error",r,{});r||(r=O.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(l=>{const u=n[l];try{if(u instanceof Uint8Array){let c="";for(let h=0;h>4],c+=_p[u[h]&15];i.push(l+"=Uint8Array(0x"+c+")")}else i.push(l+"="+JSON.stringify(u))}catch{i.push(l+"="+JSON.stringify(n[l].toString()))}}),i.push(`code=${r}`),i.push(`version=${this.version}`);const s=e;let o="";switch(r){case Ur.NUMERIC_FAULT:{o="NUMERIC_FAULT";const l=e;switch(l){case"overflow":case"underflow":case"division-by-zero":o+="-"+l;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case Ur.CALL_EXCEPTION:case Ur.INSUFFICIENT_FUNDS:case Ur.MISSING_NEW:case Ur.NONCE_EXPIRED:case Ur.REPLACEMENT_UNDERPRICED:case Ur.TRANSACTION_REPLACED:case Ur.UNPREDICTABLE_GAS_LIMIT:o=r;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),i.length&&(e+=" ("+i.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=r,Object.keys(n).forEach(function(l){a[l]=n[l]}),a}throwError(e,r,n){throw this.makeError(e,r,n)}throwArgumentError(e,r,n){return this.throwError(e,O.errors.INVALID_ARGUMENT,{argument:r,value:n})}assert(e,r,n,i){e||this.throwError(r,n,i)}assertArgument(e,r,n,i){e||this.throwArgumentError(r,n,i)}checkNormalize(e){Ap&&this.throwError("platform missing String.prototype.normalize",O.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Ap})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,O.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,O.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,n){n?n=": "+n:n="",er&&this.throwError("too many arguments"+n,O.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",O.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",O.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",O.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return qc||(qc=new O(eE)),qc}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",O.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),xp){if(!e)return;this.globalLogger().throwError("error censorship permanent",O.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}bp=!!e,xp=!!r}static setLogLevel(e){const r=El[e.toLowerCase()];if(r==null){O.globalLogger().warn("invalid log level - "+e);return}Ep=r}static from(e){return new O(e)}}O.errors=Ur;O.levels=vh;const rE="bytes/5.7.0",dt=new O(rE);function A1(t){return!!t.toHexString}function Rs(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return Rs(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Ld(t){return pe(t)&&!(t.length%2)||zu(t)}function Sp(t){return typeof t=="number"&&t==t&&t%1===0}function zu(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!Sp(t.length)||t.length<0)return!1;for(let e=0;e=256)return!1}return!0}function oe(t,e){if(e||(e={}),typeof t=="number"){dt.checkSafeUint53(t,"invalid arrayify value");const r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),Rs(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),A1(t)&&(t=t.toHexString()),pe(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":dt.throwArgumentError("hex data is odd-length","value",t));const n=[];for(let i=0;ioe(i)),r=e.reduce((i,s)=>i+s.length,0),n=new Uint8Array(r);return e.reduce((i,s)=>(n.set(s,i),i+s.length),0),Rs(n)}function $s(t){let e=oe(t);if(e.length===0)return e;let r=0;for(;re&&dt.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),Rs(r)}function pe(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}const Gc="0123456789abcdef";function re(t,e){if(e||(e={}),typeof t=="number"){dt.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Gc[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),A1(t))return t.toHexString();if(pe(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":dt.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(zu(t)){let r="0x";for(let n=0;n>4]+Gc[i&15]}return r}return dt.throwArgumentError("invalid hexlify value","value",t)}function Un(t){if(typeof t!="string")t=re(t);else if(!pe(t)||t.length%2)return null;return(t.length-2)/2}function Rt(t,e,r){return typeof t!="string"?t=re(t):(!pe(t)||t.length%2)&&dt.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function er(t){let e="0x";return t.forEach(r=>{e+=re(r).substring(2)}),e}function $u(t){const e=nE(re(t,{hexPad:"left"}));return e==="0x"?"0x0":e}function nE(t){typeof t!="string"&&(t=re(t)),pe(t)||dt.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e2*e+2&&dt.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function Hu(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Ld(t)){let r=oe(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=re(r.slice(0,32)),e.s=re(r.slice(32,64))):r.length===65?(e.r=re(r.slice(0,32)),e.s=re(r.slice(32,64)),e.v=r[64]):dt.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:dt.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=re(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){const i=Al(oe(e._vs),32);e._vs=re(i);const s=i[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&dt.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),i[0]&=127;const o=re(i);e.s==null?e.s=o:e.s!==o&&dt.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?dt.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const i=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==i&&dt.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!pe(e.r)?dt.throwArgumentError("signature missing or invalid r","signature",t):e.r=mt(e.r,32),e.s==null||!pe(e.s)?dt.throwArgumentError("signature missing or invalid s","signature",t):e.s=mt(e.s,32);const r=oe(e.s);r[0]>=128&&dt.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const n=re(r);e._vs&&(pe(e._vs)||dt.throwArgumentError("signature invalid _vs","signature",t),e._vs=mt(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&dt.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}var jd={exports:{}};const iE={},sE=Object.freeze(Object.defineProperty({__proto__:null,default:iE},Symbol.toStringTag,{value:"Module"})),oE=Ks(sE);jd.exports;(function(t){(function(e,r){function n(I,f){if(!I)throw new Error(f||"Assertion failed")}function i(I,f){I.super_=f;var p=function(){};p.prototype=f.prototype,I.prototype=new p,I.prototype.constructor=I}function s(I,f,p){if(s.isBN(I))return I;this.negative=0,this.words=null,this.length=0,this.red=null,I!==null&&((f==="le"||f==="be")&&(p=f,f=10),this._init(I||0,f||10,p||"be"))}typeof e=="object"?e.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=oE.Buffer}catch{}s.isBN=function(f){return f instanceof s?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===s.wordSize&&Array.isArray(f.words)},s.max=function(f,p){return f.cmp(p)>0?f:p},s.min=function(f,p){return f.cmp(p)<0?f:p},s.prototype._init=function(f,p,E){if(typeof f=="number")return this._initNumber(f,p,E);if(typeof f=="object")return this._initArray(f,p,E);p==="hex"&&(p=16),n(p===(p|0)&&p>=2&&p<=36),f=f.toString().replace(/\s+/g,"");var S=0;f[0]==="-"&&(S++,this.negative=1),S=0;S-=3)C=f[S]|f[S-1]<<8|f[S-2]<<16,this.words[_]|=C<>>26-R&67108863,R+=24,R>=26&&(R-=26,_++);else if(E==="le")for(S=0,_=0;S>>26-R&67108863,R+=24,R>=26&&(R-=26,_++);return this._strip()};function a(I,f){var p=I.charCodeAt(f);if(p>=48&&p<=57)return p-48;if(p>=65&&p<=70)return p-55;if(p>=97&&p<=102)return p-87;n(!1,"Invalid character in "+I)}function l(I,f,p){var E=a(I,p);return p-1>=f&&(E|=a(I,p-1)<<4),E}s.prototype._parseHex=function(f,p,E){this.length=Math.ceil((f.length-p)/6),this.words=new Array(this.length);for(var S=0;S=p;S-=2)R=l(f,p,S)<<_,this.words[C]|=R&67108863,_>=18?(_-=18,C+=1,this.words[C]|=R>>>26):_+=8;else{var N=f.length-p;for(S=N%2===0?p+1:p;S=18?(_-=18,C+=1,this.words[C]|=R>>>26):_+=8}this._strip()};function u(I,f,p,E){for(var S=0,_=0,C=Math.min(I.length,p),R=f;R=49?_=N-49+10:N>=17?_=N-17+10:_=N,n(N>=0&&_1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch{s.prototype.inspect=h}else s.prototype.inspect=h;function h(){return(this.red?""}var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],y=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(f,p){f=f||10,p=p|0||1;var E;if(f===16||f==="hex"){E="";for(var S=0,_=0,C=0;C>>24-S&16777215,S+=2,S>=26&&(S-=26,C--),_!==0||C!==this.length-1?E=m[6-N.length]+N+E:E=N+E}for(_!==0&&(E=_.toString(16)+E);E.length%p!==0;)E="0"+E;return this.negative!==0&&(E="-"+E),E}if(f===(f|0)&&f>=2&&f<=36){var d=g[f],P=y[f];E="";var Y=this.clone();for(Y.negative=0;!Y.isZero();){var v=Y.modrn(P).toString(f);Y=Y.idivn(P),Y.isZero()?E=v+E:E=m[d-v.length]+v+E}for(this.isZero()&&(E="0"+E);E.length%p!==0;)E="0"+E;return this.negative!==0&&(E="-"+E),E}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(f,p){return this.toArrayLike(o,f,p)}),s.prototype.toArray=function(f,p){return this.toArrayLike(Array,f,p)};var b=function(f,p){return f.allocUnsafe?f.allocUnsafe(p):new f(p)};s.prototype.toArrayLike=function(f,p,E){this._strip();var S=this.byteLength(),_=E||Math.max(1,S);n(S<=_,"byte array longer than desired length"),n(_>0,"Requested array length <= 0");var C=b(f,_),R=p==="le"?"LE":"BE";return this["_toArrayLike"+R](C,S),C},s.prototype._toArrayLikeLE=function(f,p){for(var E=0,S=0,_=0,C=0;_>8&255),E>16&255),C===6?(E>24&255),S=0,C=0):(S=R>>>24,C+=2)}if(E=0&&(f[E--]=R>>8&255),E>=0&&(f[E--]=R>>16&255),C===6?(E>=0&&(f[E--]=R>>24&255),S=0,C=0):(S=R>>>24,C+=2)}if(E>=0)for(f[E--]=S;E>=0;)f[E--]=0},Math.clz32?s.prototype._countBits=function(f){return 32-Math.clz32(f)}:s.prototype._countBits=function(f){var p=f,E=0;return p>=4096&&(E+=13,p>>>=13),p>=64&&(E+=7,p>>>=7),p>=8&&(E+=4,p>>>=4),p>=2&&(E+=2,p>>>=2),E+p},s.prototype._zeroBits=function(f){if(f===0)return 26;var p=f,E=0;return p&8191||(E+=13,p>>>=13),p&127||(E+=7,p>>>=7),p&15||(E+=4,p>>>=4),p&3||(E+=2,p>>>=2),p&1||E++,E},s.prototype.bitLength=function(){var f=this.words[this.length-1],p=this._countBits(f);return(this.length-1)*26+p};function k(I){for(var f=new Array(I.bitLength()),p=0;p>>S&1}return f}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,p=0;pf.length?this.clone().ior(f):f.clone().ior(this)},s.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},s.prototype.iuand=function(f){var p;this.length>f.length?p=f:p=this;for(var E=0;Ef.length?this.clone().iand(f):f.clone().iand(this)},s.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},s.prototype.iuxor=function(f){var p,E;this.length>f.length?(p=this,E=f):(p=f,E=this);for(var S=0;Sf.length?this.clone().ixor(f):f.clone().ixor(this)},s.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},s.prototype.inotn=function(f){n(typeof f=="number"&&f>=0);var p=Math.ceil(f/26)|0,E=f%26;this._expand(p),E>0&&p--;for(var S=0;S0&&(this.words[S]=~this.words[S]&67108863>>26-E),this._strip()},s.prototype.notn=function(f){return this.clone().inotn(f)},s.prototype.setn=function(f,p){n(typeof f=="number"&&f>=0);var E=f/26|0,S=f%26;return this._expand(E+1),p?this.words[E]=this.words[E]|1<f.length?(E=this,S=f):(E=f,S=this);for(var _=0,C=0;C>>26;for(;_!==0&&C>>26;if(this.length=E.length,_!==0)this.words[this.length]=_,this.length++;else if(E!==this)for(;Cf.length?this.clone().iadd(f):f.clone().iadd(this)},s.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var p=this.iadd(f);return f.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var E=this.cmp(f);if(E===0)return this.negative=0,this.length=1,this.words[0]=0,this;var S,_;E>0?(S=this,_=f):(S=f,_=this);for(var C=0,R=0;R<_.length;R++)p=(S.words[R]|0)-(_.words[R]|0)+C,C=p>>26,this.words[R]=p&67108863;for(;C!==0&&R>26,this.words[R]=p&67108863;if(C===0&&R>>26,Y=N&67108863,v=Math.min(d,f.length-1),B=Math.max(0,d-I.length+1);B<=v;B++){var F=d-B|0;S=I.words[F]|0,_=f.words[B]|0,C=S*_+Y,P+=C/67108864|0,Y=C&67108863}p.words[d]=Y|0,N=P|0}return N!==0?p.words[d]=N|0:p.length--,p._strip()}var w=function(f,p,E){var S=f.words,_=p.words,C=E.words,R=0,N,d,P,Y=S[0]|0,v=Y&8191,B=Y>>>13,F=S[1]|0,U=F&8191,q=F>>>13,ie=S[2]|0,Q=ie&8191,W=ie>>>13,Ye=S[3]|0,K=Ye&8191,ae=Ye>>>13,Jr=S[4]|0,Te=Jr&8191,Me=Jr>>>13,Yr=S[5]|0,Pe=Yr&8191,ce=Yr>>>13,xr=S[6]|0,fe=xr&8191,Le=xr>>>13,Xr=S[7]|0,me=Xr&8191,$e=Xr>>>13,bn=S[8]|0,He=bn&8191,Ve=bn>>>13,Vt=S[9]|0,je=Vt&8191,qe=Vt>>>13,Or=_[0]|0,Ce=Or&8191,Ge=Or>>>13,En=_[1]|0,Be=En&8191,We=En>>>13,An=_[2]|0,De=An&8191,ne=An>>>13,at=_[3]|0,ge=at&8191,he=at>>>13,nt=_[4]|0,Ae=nt&8191,_e=nt>>>13,Pt=_[5]|0,Ie=Pt&8191,Fe=Pt>>>13,Qt=_[6]|0,Ke=Qt&8191,Qe=Qt>>>13,Jt=_[7]|0,Re=Jt&8191,Ue=Jt>>>13,br=_[8]|0,ke=br&8191,Xe=br>>>13,Pi=_[9]|0,Ze=Pi&8191,et=Pi>>>13;E.negative=f.negative^p.negative,E.length=19,N=Math.imul(v,Ce),d=Math.imul(v,Ge),d=d+Math.imul(B,Ce)|0,P=Math.imul(B,Ge);var Kn=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(Kn>>>26)|0,Kn&=67108863,N=Math.imul(U,Ce),d=Math.imul(U,Ge),d=d+Math.imul(q,Ce)|0,P=Math.imul(q,Ge),N=N+Math.imul(v,Be)|0,d=d+Math.imul(v,We)|0,d=d+Math.imul(B,Be)|0,P=P+Math.imul(B,We)|0;var Qn=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(Qn>>>26)|0,Qn&=67108863,N=Math.imul(Q,Ce),d=Math.imul(Q,Ge),d=d+Math.imul(W,Ce)|0,P=Math.imul(W,Ge),N=N+Math.imul(U,Be)|0,d=d+Math.imul(U,We)|0,d=d+Math.imul(q,Be)|0,P=P+Math.imul(q,We)|0,N=N+Math.imul(v,De)|0,d=d+Math.imul(v,ne)|0,d=d+Math.imul(B,De)|0,P=P+Math.imul(B,ne)|0;var Jn=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(Jn>>>26)|0,Jn&=67108863,N=Math.imul(K,Ce),d=Math.imul(K,Ge),d=d+Math.imul(ae,Ce)|0,P=Math.imul(ae,Ge),N=N+Math.imul(Q,Be)|0,d=d+Math.imul(Q,We)|0,d=d+Math.imul(W,Be)|0,P=P+Math.imul(W,We)|0,N=N+Math.imul(U,De)|0,d=d+Math.imul(U,ne)|0,d=d+Math.imul(q,De)|0,P=P+Math.imul(q,ne)|0,N=N+Math.imul(v,ge)|0,d=d+Math.imul(v,he)|0,d=d+Math.imul(B,ge)|0,P=P+Math.imul(B,he)|0;var Yn=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,N=Math.imul(Te,Ce),d=Math.imul(Te,Ge),d=d+Math.imul(Me,Ce)|0,P=Math.imul(Me,Ge),N=N+Math.imul(K,Be)|0,d=d+Math.imul(K,We)|0,d=d+Math.imul(ae,Be)|0,P=P+Math.imul(ae,We)|0,N=N+Math.imul(Q,De)|0,d=d+Math.imul(Q,ne)|0,d=d+Math.imul(W,De)|0,P=P+Math.imul(W,ne)|0,N=N+Math.imul(U,ge)|0,d=d+Math.imul(U,he)|0,d=d+Math.imul(q,ge)|0,P=P+Math.imul(q,he)|0,N=N+Math.imul(v,Ae)|0,d=d+Math.imul(v,_e)|0,d=d+Math.imul(B,Ae)|0,P=P+Math.imul(B,_e)|0;var Xn=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(Xn>>>26)|0,Xn&=67108863,N=Math.imul(Pe,Ce),d=Math.imul(Pe,Ge),d=d+Math.imul(ce,Ce)|0,P=Math.imul(ce,Ge),N=N+Math.imul(Te,Be)|0,d=d+Math.imul(Te,We)|0,d=d+Math.imul(Me,Be)|0,P=P+Math.imul(Me,We)|0,N=N+Math.imul(K,De)|0,d=d+Math.imul(K,ne)|0,d=d+Math.imul(ae,De)|0,P=P+Math.imul(ae,ne)|0,N=N+Math.imul(Q,ge)|0,d=d+Math.imul(Q,he)|0,d=d+Math.imul(W,ge)|0,P=P+Math.imul(W,he)|0,N=N+Math.imul(U,Ae)|0,d=d+Math.imul(U,_e)|0,d=d+Math.imul(q,Ae)|0,P=P+Math.imul(q,_e)|0,N=N+Math.imul(v,Ie)|0,d=d+Math.imul(v,Fe)|0,d=d+Math.imul(B,Ie)|0,P=P+Math.imul(B,Fe)|0;var ic=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(ic>>>26)|0,ic&=67108863,N=Math.imul(fe,Ce),d=Math.imul(fe,Ge),d=d+Math.imul(Le,Ce)|0,P=Math.imul(Le,Ge),N=N+Math.imul(Pe,Be)|0,d=d+Math.imul(Pe,We)|0,d=d+Math.imul(ce,Be)|0,P=P+Math.imul(ce,We)|0,N=N+Math.imul(Te,De)|0,d=d+Math.imul(Te,ne)|0,d=d+Math.imul(Me,De)|0,P=P+Math.imul(Me,ne)|0,N=N+Math.imul(K,ge)|0,d=d+Math.imul(K,he)|0,d=d+Math.imul(ae,ge)|0,P=P+Math.imul(ae,he)|0,N=N+Math.imul(Q,Ae)|0,d=d+Math.imul(Q,_e)|0,d=d+Math.imul(W,Ae)|0,P=P+Math.imul(W,_e)|0,N=N+Math.imul(U,Ie)|0,d=d+Math.imul(U,Fe)|0,d=d+Math.imul(q,Ie)|0,P=P+Math.imul(q,Fe)|0,N=N+Math.imul(v,Ke)|0,d=d+Math.imul(v,Qe)|0,d=d+Math.imul(B,Ke)|0,P=P+Math.imul(B,Qe)|0;var sc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(sc>>>26)|0,sc&=67108863,N=Math.imul(me,Ce),d=Math.imul(me,Ge),d=d+Math.imul($e,Ce)|0,P=Math.imul($e,Ge),N=N+Math.imul(fe,Be)|0,d=d+Math.imul(fe,We)|0,d=d+Math.imul(Le,Be)|0,P=P+Math.imul(Le,We)|0,N=N+Math.imul(Pe,De)|0,d=d+Math.imul(Pe,ne)|0,d=d+Math.imul(ce,De)|0,P=P+Math.imul(ce,ne)|0,N=N+Math.imul(Te,ge)|0,d=d+Math.imul(Te,he)|0,d=d+Math.imul(Me,ge)|0,P=P+Math.imul(Me,he)|0,N=N+Math.imul(K,Ae)|0,d=d+Math.imul(K,_e)|0,d=d+Math.imul(ae,Ae)|0,P=P+Math.imul(ae,_e)|0,N=N+Math.imul(Q,Ie)|0,d=d+Math.imul(Q,Fe)|0,d=d+Math.imul(W,Ie)|0,P=P+Math.imul(W,Fe)|0,N=N+Math.imul(U,Ke)|0,d=d+Math.imul(U,Qe)|0,d=d+Math.imul(q,Ke)|0,P=P+Math.imul(q,Qe)|0,N=N+Math.imul(v,Re)|0,d=d+Math.imul(v,Ue)|0,d=d+Math.imul(B,Re)|0,P=P+Math.imul(B,Ue)|0;var oc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(oc>>>26)|0,oc&=67108863,N=Math.imul(He,Ce),d=Math.imul(He,Ge),d=d+Math.imul(Ve,Ce)|0,P=Math.imul(Ve,Ge),N=N+Math.imul(me,Be)|0,d=d+Math.imul(me,We)|0,d=d+Math.imul($e,Be)|0,P=P+Math.imul($e,We)|0,N=N+Math.imul(fe,De)|0,d=d+Math.imul(fe,ne)|0,d=d+Math.imul(Le,De)|0,P=P+Math.imul(Le,ne)|0,N=N+Math.imul(Pe,ge)|0,d=d+Math.imul(Pe,he)|0,d=d+Math.imul(ce,ge)|0,P=P+Math.imul(ce,he)|0,N=N+Math.imul(Te,Ae)|0,d=d+Math.imul(Te,_e)|0,d=d+Math.imul(Me,Ae)|0,P=P+Math.imul(Me,_e)|0,N=N+Math.imul(K,Ie)|0,d=d+Math.imul(K,Fe)|0,d=d+Math.imul(ae,Ie)|0,P=P+Math.imul(ae,Fe)|0,N=N+Math.imul(Q,Ke)|0,d=d+Math.imul(Q,Qe)|0,d=d+Math.imul(W,Ke)|0,P=P+Math.imul(W,Qe)|0,N=N+Math.imul(U,Re)|0,d=d+Math.imul(U,Ue)|0,d=d+Math.imul(q,Re)|0,P=P+Math.imul(q,Ue)|0,N=N+Math.imul(v,ke)|0,d=d+Math.imul(v,Xe)|0,d=d+Math.imul(B,ke)|0,P=P+Math.imul(B,Xe)|0;var ac=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(ac>>>26)|0,ac&=67108863,N=Math.imul(je,Ce),d=Math.imul(je,Ge),d=d+Math.imul(qe,Ce)|0,P=Math.imul(qe,Ge),N=N+Math.imul(He,Be)|0,d=d+Math.imul(He,We)|0,d=d+Math.imul(Ve,Be)|0,P=P+Math.imul(Ve,We)|0,N=N+Math.imul(me,De)|0,d=d+Math.imul(me,ne)|0,d=d+Math.imul($e,De)|0,P=P+Math.imul($e,ne)|0,N=N+Math.imul(fe,ge)|0,d=d+Math.imul(fe,he)|0,d=d+Math.imul(Le,ge)|0,P=P+Math.imul(Le,he)|0,N=N+Math.imul(Pe,Ae)|0,d=d+Math.imul(Pe,_e)|0,d=d+Math.imul(ce,Ae)|0,P=P+Math.imul(ce,_e)|0,N=N+Math.imul(Te,Ie)|0,d=d+Math.imul(Te,Fe)|0,d=d+Math.imul(Me,Ie)|0,P=P+Math.imul(Me,Fe)|0,N=N+Math.imul(K,Ke)|0,d=d+Math.imul(K,Qe)|0,d=d+Math.imul(ae,Ke)|0,P=P+Math.imul(ae,Qe)|0,N=N+Math.imul(Q,Re)|0,d=d+Math.imul(Q,Ue)|0,d=d+Math.imul(W,Re)|0,P=P+Math.imul(W,Ue)|0,N=N+Math.imul(U,ke)|0,d=d+Math.imul(U,Xe)|0,d=d+Math.imul(q,ke)|0,P=P+Math.imul(q,Xe)|0,N=N+Math.imul(v,Ze)|0,d=d+Math.imul(v,et)|0,d=d+Math.imul(B,Ze)|0,P=P+Math.imul(B,et)|0;var lc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(lc>>>26)|0,lc&=67108863,N=Math.imul(je,Be),d=Math.imul(je,We),d=d+Math.imul(qe,Be)|0,P=Math.imul(qe,We),N=N+Math.imul(He,De)|0,d=d+Math.imul(He,ne)|0,d=d+Math.imul(Ve,De)|0,P=P+Math.imul(Ve,ne)|0,N=N+Math.imul(me,ge)|0,d=d+Math.imul(me,he)|0,d=d+Math.imul($e,ge)|0,P=P+Math.imul($e,he)|0,N=N+Math.imul(fe,Ae)|0,d=d+Math.imul(fe,_e)|0,d=d+Math.imul(Le,Ae)|0,P=P+Math.imul(Le,_e)|0,N=N+Math.imul(Pe,Ie)|0,d=d+Math.imul(Pe,Fe)|0,d=d+Math.imul(ce,Ie)|0,P=P+Math.imul(ce,Fe)|0,N=N+Math.imul(Te,Ke)|0,d=d+Math.imul(Te,Qe)|0,d=d+Math.imul(Me,Ke)|0,P=P+Math.imul(Me,Qe)|0,N=N+Math.imul(K,Re)|0,d=d+Math.imul(K,Ue)|0,d=d+Math.imul(ae,Re)|0,P=P+Math.imul(ae,Ue)|0,N=N+Math.imul(Q,ke)|0,d=d+Math.imul(Q,Xe)|0,d=d+Math.imul(W,ke)|0,P=P+Math.imul(W,Xe)|0,N=N+Math.imul(U,Ze)|0,d=d+Math.imul(U,et)|0,d=d+Math.imul(q,Ze)|0,P=P+Math.imul(q,et)|0;var uc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(uc>>>26)|0,uc&=67108863,N=Math.imul(je,De),d=Math.imul(je,ne),d=d+Math.imul(qe,De)|0,P=Math.imul(qe,ne),N=N+Math.imul(He,ge)|0,d=d+Math.imul(He,he)|0,d=d+Math.imul(Ve,ge)|0,P=P+Math.imul(Ve,he)|0,N=N+Math.imul(me,Ae)|0,d=d+Math.imul(me,_e)|0,d=d+Math.imul($e,Ae)|0,P=P+Math.imul($e,_e)|0,N=N+Math.imul(fe,Ie)|0,d=d+Math.imul(fe,Fe)|0,d=d+Math.imul(Le,Ie)|0,P=P+Math.imul(Le,Fe)|0,N=N+Math.imul(Pe,Ke)|0,d=d+Math.imul(Pe,Qe)|0,d=d+Math.imul(ce,Ke)|0,P=P+Math.imul(ce,Qe)|0,N=N+Math.imul(Te,Re)|0,d=d+Math.imul(Te,Ue)|0,d=d+Math.imul(Me,Re)|0,P=P+Math.imul(Me,Ue)|0,N=N+Math.imul(K,ke)|0,d=d+Math.imul(K,Xe)|0,d=d+Math.imul(ae,ke)|0,P=P+Math.imul(ae,Xe)|0,N=N+Math.imul(Q,Ze)|0,d=d+Math.imul(Q,et)|0,d=d+Math.imul(W,Ze)|0,P=P+Math.imul(W,et)|0;var cc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(cc>>>26)|0,cc&=67108863,N=Math.imul(je,ge),d=Math.imul(je,he),d=d+Math.imul(qe,ge)|0,P=Math.imul(qe,he),N=N+Math.imul(He,Ae)|0,d=d+Math.imul(He,_e)|0,d=d+Math.imul(Ve,Ae)|0,P=P+Math.imul(Ve,_e)|0,N=N+Math.imul(me,Ie)|0,d=d+Math.imul(me,Fe)|0,d=d+Math.imul($e,Ie)|0,P=P+Math.imul($e,Fe)|0,N=N+Math.imul(fe,Ke)|0,d=d+Math.imul(fe,Qe)|0,d=d+Math.imul(Le,Ke)|0,P=P+Math.imul(Le,Qe)|0,N=N+Math.imul(Pe,Re)|0,d=d+Math.imul(Pe,Ue)|0,d=d+Math.imul(ce,Re)|0,P=P+Math.imul(ce,Ue)|0,N=N+Math.imul(Te,ke)|0,d=d+Math.imul(Te,Xe)|0,d=d+Math.imul(Me,ke)|0,P=P+Math.imul(Me,Xe)|0,N=N+Math.imul(K,Ze)|0,d=d+Math.imul(K,et)|0,d=d+Math.imul(ae,Ze)|0,P=P+Math.imul(ae,et)|0;var fc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(fc>>>26)|0,fc&=67108863,N=Math.imul(je,Ae),d=Math.imul(je,_e),d=d+Math.imul(qe,Ae)|0,P=Math.imul(qe,_e),N=N+Math.imul(He,Ie)|0,d=d+Math.imul(He,Fe)|0,d=d+Math.imul(Ve,Ie)|0,P=P+Math.imul(Ve,Fe)|0,N=N+Math.imul(me,Ke)|0,d=d+Math.imul(me,Qe)|0,d=d+Math.imul($e,Ke)|0,P=P+Math.imul($e,Qe)|0,N=N+Math.imul(fe,Re)|0,d=d+Math.imul(fe,Ue)|0,d=d+Math.imul(Le,Re)|0,P=P+Math.imul(Le,Ue)|0,N=N+Math.imul(Pe,ke)|0,d=d+Math.imul(Pe,Xe)|0,d=d+Math.imul(ce,ke)|0,P=P+Math.imul(ce,Xe)|0,N=N+Math.imul(Te,Ze)|0,d=d+Math.imul(Te,et)|0,d=d+Math.imul(Me,Ze)|0,P=P+Math.imul(Me,et)|0;var hc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(hc>>>26)|0,hc&=67108863,N=Math.imul(je,Ie),d=Math.imul(je,Fe),d=d+Math.imul(qe,Ie)|0,P=Math.imul(qe,Fe),N=N+Math.imul(He,Ke)|0,d=d+Math.imul(He,Qe)|0,d=d+Math.imul(Ve,Ke)|0,P=P+Math.imul(Ve,Qe)|0,N=N+Math.imul(me,Re)|0,d=d+Math.imul(me,Ue)|0,d=d+Math.imul($e,Re)|0,P=P+Math.imul($e,Ue)|0,N=N+Math.imul(fe,ke)|0,d=d+Math.imul(fe,Xe)|0,d=d+Math.imul(Le,ke)|0,P=P+Math.imul(Le,Xe)|0,N=N+Math.imul(Pe,Ze)|0,d=d+Math.imul(Pe,et)|0,d=d+Math.imul(ce,Ze)|0,P=P+Math.imul(ce,et)|0;var dc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(dc>>>26)|0,dc&=67108863,N=Math.imul(je,Ke),d=Math.imul(je,Qe),d=d+Math.imul(qe,Ke)|0,P=Math.imul(qe,Qe),N=N+Math.imul(He,Re)|0,d=d+Math.imul(He,Ue)|0,d=d+Math.imul(Ve,Re)|0,P=P+Math.imul(Ve,Ue)|0,N=N+Math.imul(me,ke)|0,d=d+Math.imul(me,Xe)|0,d=d+Math.imul($e,ke)|0,P=P+Math.imul($e,Xe)|0,N=N+Math.imul(fe,Ze)|0,d=d+Math.imul(fe,et)|0,d=d+Math.imul(Le,Ze)|0,P=P+Math.imul(Le,et)|0;var pc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(pc>>>26)|0,pc&=67108863,N=Math.imul(je,Re),d=Math.imul(je,Ue),d=d+Math.imul(qe,Re)|0,P=Math.imul(qe,Ue),N=N+Math.imul(He,ke)|0,d=d+Math.imul(He,Xe)|0,d=d+Math.imul(Ve,ke)|0,P=P+Math.imul(Ve,Xe)|0,N=N+Math.imul(me,Ze)|0,d=d+Math.imul(me,et)|0,d=d+Math.imul($e,Ze)|0,P=P+Math.imul($e,et)|0;var mc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(mc>>>26)|0,mc&=67108863,N=Math.imul(je,ke),d=Math.imul(je,Xe),d=d+Math.imul(qe,ke)|0,P=Math.imul(qe,Xe),N=N+Math.imul(He,Ze)|0,d=d+Math.imul(He,et)|0,d=d+Math.imul(Ve,Ze)|0,P=P+Math.imul(Ve,et)|0;var gc=(R+N|0)+((d&8191)<<13)|0;R=(P+(d>>>13)|0)+(gc>>>26)|0,gc&=67108863,N=Math.imul(je,Ze),d=Math.imul(je,et),d=d+Math.imul(qe,Ze)|0,P=Math.imul(qe,et);var vc=(R+N|0)+((d&8191)<<13)|0;return R=(P+(d>>>13)|0)+(vc>>>26)|0,vc&=67108863,C[0]=Kn,C[1]=Qn,C[2]=Jn,C[3]=Yn,C[4]=Xn,C[5]=ic,C[6]=sc,C[7]=oc,C[8]=ac,C[9]=lc,C[10]=uc,C[11]=cc,C[12]=fc,C[13]=hc,C[14]=dc,C[15]=pc,C[16]=mc,C[17]=gc,C[18]=vc,R!==0&&(C[19]=R,E.length++),E};Math.imul||(w=x);function A(I,f,p){p.negative=f.negative^I.negative,p.length=I.length+f.length;for(var E=0,S=0,_=0;_>>26)|0,S+=C>>>26,C&=67108863}p.words[_]=R,E=C,C=S}return E!==0?p.words[_]=E:p.length--,p._strip()}function T(I,f,p){return A(I,f,p)}s.prototype.mulTo=function(f,p){var E,S=this.length+f.length;return this.length===10&&f.length===10?E=w(this,f,p):S<63?E=x(this,f,p):S<1024?E=A(this,f,p):E=T(this,f,p),E},s.prototype.mul=function(f){var p=new s(null);return p.words=new Array(this.length+f.length),this.mulTo(f,p)},s.prototype.mulf=function(f){var p=new s(null);return p.words=new Array(this.length+f.length),T(this,f,p)},s.prototype.imul=function(f){return this.clone().mulTo(f,this)},s.prototype.imuln=function(f){var p=f<0;p&&(f=-f),n(typeof f=="number"),n(f<67108864);for(var E=0,S=0;S>=26,E+=_/67108864|0,E+=C>>>26,this.words[S]=C&67108863}return E!==0&&(this.words[S]=E,this.length++),p?this.ineg():this},s.prototype.muln=function(f){return this.clone().imuln(f)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(f){var p=k(f);if(p.length===0)return new s(1);for(var E=this,S=0;S=0);var p=f%26,E=(f-p)/26,S=67108863>>>26-p<<26-p,_;if(p!==0){var C=0;for(_=0;_>>26-p}C&&(this.words[_]=C,this.length++)}if(E!==0){for(_=this.length-1;_>=0;_--)this.words[_+E]=this.words[_];for(_=0;_=0);var S;p?S=(p-p%26)/26:S=0;var _=f%26,C=Math.min((f-_)/26,this.length),R=67108863^67108863>>>_<<_,N=E;if(S-=C,S=Math.max(0,S),N){for(var d=0;dC)for(this.length-=C,d=0;d=0&&(P!==0||d>=S);d--){var Y=this.words[d]|0;this.words[d]=P<<26-_|Y>>>_,P=Y&R}return N&&P!==0&&(N.words[N.length++]=P),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(f,p,E){return n(this.negative===0),this.iushrn(f,p,E)},s.prototype.shln=function(f){return this.clone().ishln(f)},s.prototype.ushln=function(f){return this.clone().iushln(f)},s.prototype.shrn=function(f){return this.clone().ishrn(f)},s.prototype.ushrn=function(f){return this.clone().iushrn(f)},s.prototype.testn=function(f){n(typeof f=="number"&&f>=0);var p=f%26,E=(f-p)/26,S=1<=0);var p=f%26,E=(f-p)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=E)return this;if(p!==0&&E++,this.length=Math.min(E,this.length),p!==0){var S=67108863^67108863>>>p<=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},s.prototype.isubn=function(f){if(n(typeof f=="number"),n(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p>26)-(N/67108864|0),this.words[_+E]=C&67108863}for(;_>26,this.words[_+E]=C&67108863;if(R===0)return this._strip();for(n(R===-1),R=0,_=0;_>26,this.words[_]=C&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(f,p){var E=this.length-f.length,S=this.clone(),_=f,C=_.words[_.length-1]|0,R=this._countBits(C);E=26-R,E!==0&&(_=_.ushln(E),S.iushln(E),C=_.words[_.length-1]|0);var N=S.length-_.length,d;if(p!=="mod"){d=new s(null),d.length=N+1,d.words=new Array(d.length);for(var P=0;P=0;v--){var B=(S.words[_.length+v]|0)*67108864+(S.words[_.length+v-1]|0);for(B=Math.min(B/C|0,67108863),S._ishlnsubmul(_,B,v);S.negative!==0;)B--,S.negative=0,S._ishlnsubmul(_,1,v),S.isZero()||(S.negative^=1);d&&(d.words[v]=B)}return d&&d._strip(),S._strip(),p!=="div"&&E!==0&&S.iushrn(E),{div:d||null,mod:S}},s.prototype.divmod=function(f,p,E){if(n(!f.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var S,_,C;return this.negative!==0&&f.negative===0?(C=this.neg().divmod(f,p),p!=="mod"&&(S=C.div.neg()),p!=="div"&&(_=C.mod.neg(),E&&_.negative!==0&&_.iadd(f)),{div:S,mod:_}):this.negative===0&&f.negative!==0?(C=this.divmod(f.neg(),p),p!=="mod"&&(S=C.div.neg()),{div:S,mod:C.mod}):this.negative&f.negative?(C=this.neg().divmod(f.neg(),p),p!=="div"&&(_=C.mod.neg(),E&&_.negative!==0&&_.isub(f)),{div:C.div,mod:_}):f.length>this.length||this.cmp(f)<0?{div:new s(0),mod:this}:f.length===1?p==="div"?{div:this.divn(f.words[0]),mod:null}:p==="mod"?{div:null,mod:new s(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new s(this.modrn(f.words[0]))}:this._wordDiv(f,p)},s.prototype.div=function(f){return this.divmod(f,"div",!1).div},s.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},s.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},s.prototype.divRound=function(f){var p=this.divmod(f);if(p.mod.isZero())return p.div;var E=p.div.negative!==0?p.mod.isub(f):p.mod,S=f.ushrn(1),_=f.andln(1),C=E.cmp(S);return C<0||_===1&&C===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},s.prototype.modrn=function(f){var p=f<0;p&&(f=-f),n(f<=67108863);for(var E=(1<<26)%f,S=0,_=this.length-1;_>=0;_--)S=(E*S+(this.words[_]|0))%f;return p?-S:S},s.prototype.modn=function(f){return this.modrn(f)},s.prototype.idivn=function(f){var p=f<0;p&&(f=-f),n(f<=67108863);for(var E=0,S=this.length-1;S>=0;S--){var _=(this.words[S]|0)+E*67108864;this.words[S]=_/f|0,E=_%f}return this._strip(),p?this.ineg():this},s.prototype.divn=function(f){return this.clone().idivn(f)},s.prototype.egcd=function(f){n(f.negative===0),n(!f.isZero());var p=this,E=f.clone();p.negative!==0?p=p.umod(f):p=p.clone();for(var S=new s(1),_=new s(0),C=new s(0),R=new s(1),N=0;p.isEven()&&E.isEven();)p.iushrn(1),E.iushrn(1),++N;for(var d=E.clone(),P=p.clone();!p.isZero();){for(var Y=0,v=1;!(p.words[0]&v)&&Y<26;++Y,v<<=1);if(Y>0)for(p.iushrn(Y);Y-- >0;)(S.isOdd()||_.isOdd())&&(S.iadd(d),_.isub(P)),S.iushrn(1),_.iushrn(1);for(var B=0,F=1;!(E.words[0]&F)&&B<26;++B,F<<=1);if(B>0)for(E.iushrn(B);B-- >0;)(C.isOdd()||R.isOdd())&&(C.iadd(d),R.isub(P)),C.iushrn(1),R.iushrn(1);p.cmp(E)>=0?(p.isub(E),S.isub(C),_.isub(R)):(E.isub(p),C.isub(S),R.isub(_))}return{a:C,b:R,gcd:E.iushln(N)}},s.prototype._invmp=function(f){n(f.negative===0),n(!f.isZero());var p=this,E=f.clone();p.negative!==0?p=p.umod(f):p=p.clone();for(var S=new s(1),_=new s(0),C=E.clone();p.cmpn(1)>0&&E.cmpn(1)>0;){for(var R=0,N=1;!(p.words[0]&N)&&R<26;++R,N<<=1);if(R>0)for(p.iushrn(R);R-- >0;)S.isOdd()&&S.iadd(C),S.iushrn(1);for(var d=0,P=1;!(E.words[0]&P)&&d<26;++d,P<<=1);if(d>0)for(E.iushrn(d);d-- >0;)_.isOdd()&&_.iadd(C),_.iushrn(1);p.cmp(E)>=0?(p.isub(E),S.isub(_)):(E.isub(p),_.isub(S))}var Y;return p.cmpn(1)===0?Y=S:Y=_,Y.cmpn(0)<0&&Y.iadd(f),Y},s.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var p=this.clone(),E=f.clone();p.negative=0,E.negative=0;for(var S=0;p.isEven()&&E.isEven();S++)p.iushrn(1),E.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;E.isEven();)E.iushrn(1);var _=p.cmp(E);if(_<0){var C=p;p=E,E=C}else if(_===0||E.cmpn(1)===0)break;p.isub(E)}while(!0);return E.iushln(S)},s.prototype.invm=function(f){return this.egcd(f).a.umod(f)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(f){return this.words[0]&f},s.prototype.bincn=function(f){n(typeof f=="number");var p=f%26,E=(f-p)/26,S=1<>>26,R&=67108863,this.words[C]=R}return _!==0&&(this.words[C]=_,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(f){var p=f<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this._strip();var E;if(this.length>1)E=1;else{p&&(f=-f),n(f<=67108863,"Number is too big");var S=this.words[0]|0;E=S===f?0:Sf.length)return 1;if(this.length=0;E--){var S=this.words[E]|0,_=f.words[E]|0;if(S!==_){S<_?p=-1:S>_&&(p=1);break}}return p},s.prototype.gtn=function(f){return this.cmpn(f)===1},s.prototype.gt=function(f){return this.cmp(f)===1},s.prototype.gten=function(f){return this.cmpn(f)>=0},s.prototype.gte=function(f){return this.cmp(f)>=0},s.prototype.ltn=function(f){return this.cmpn(f)===-1},s.prototype.lt=function(f){return this.cmp(f)===-1},s.prototype.lten=function(f){return this.cmpn(f)<=0},s.prototype.lte=function(f){return this.cmp(f)<=0},s.prototype.eqn=function(f){return this.cmpn(f)===0},s.prototype.eq=function(f){return this.cmp(f)===0},s.red=function(f){return new se(f)},s.prototype.toRed=function(f){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(f){return this.red=f,this},s.prototype.forceRed=function(f){return n(!this.red,"Already a number in reduction context"),this._forceRed(f)},s.prototype.redAdd=function(f){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},s.prototype.redIAdd=function(f){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},s.prototype.redSub=function(f){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},s.prototype.redISub=function(f){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},s.prototype.redShl=function(f){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},s.prototype.redMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},s.prototype.redIMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(f){return n(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var j={k256:null,p224:null,p192:null,p25519:null};function D(I,f){this.name=I,this.p=new s(f,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}D.prototype._tmp=function(){var f=new s(null);return f.words=new Array(Math.ceil(this.n/13)),f},D.prototype.ireduce=function(f){var p=f,E;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),E=p.bitLength();while(E>this.n);var S=E0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},D.prototype.split=function(f,p){f.iushrn(this.n,0,p)},D.prototype.imulK=function(f){return f.imul(this.k)};function $(){D.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i($,D),$.prototype.split=function(f,p){for(var E=4194303,S=Math.min(f.length,9),_=0;_>>22,C=R}C>>>=22,f.words[_-10]=C,C===0&&f.length>10?f.length-=10:f.length-=9},$.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var p=0,E=0;E>>=26,f.words[E]=_,p=S}return p!==0&&(f.words[f.length++]=p),f},s._prime=function(f){if(j[f])return j[f];var p;if(f==="k256")p=new $;else if(f==="p224")p=new H;else if(f==="p192")p=new J;else if(f==="p25519")p=new Z;else throw new Error("Unknown prime "+f);return j[f]=p,p};function se(I){if(typeof I=="string"){var f=s._prime(I);this.m=f.p,this.prime=f}else n(I.gtn(1),"modulus must be greater than 1"),this.m=I,this.prime=null}se.prototype._verify1=function(f){n(f.negative===0,"red works only with positives"),n(f.red,"red works only with red numbers")},se.prototype._verify2=function(f,p){n((f.negative|p.negative)===0,"red works only with positives"),n(f.red&&f.red===p.red,"red works only with red numbers")},se.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(c(f,f.umod(this.m)._forceRed(this)),f)},se.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},se.prototype.add=function(f,p){this._verify2(f,p);var E=f.add(p);return E.cmp(this.m)>=0&&E.isub(this.m),E._forceRed(this)},se.prototype.iadd=function(f,p){this._verify2(f,p);var E=f.iadd(p);return E.cmp(this.m)>=0&&E.isub(this.m),E},se.prototype.sub=function(f,p){this._verify2(f,p);var E=f.sub(p);return E.cmpn(0)<0&&E.iadd(this.m),E._forceRed(this)},se.prototype.isub=function(f,p){this._verify2(f,p);var E=f.isub(p);return E.cmpn(0)<0&&E.iadd(this.m),E},se.prototype.shl=function(f,p){return this._verify1(f),this.imod(f.ushln(p))},se.prototype.imul=function(f,p){return this._verify2(f,p),this.imod(f.imul(p))},se.prototype.mul=function(f,p){return this._verify2(f,p),this.imod(f.mul(p))},se.prototype.isqr=function(f){return this.imul(f,f.clone())},se.prototype.sqr=function(f){return this.mul(f,f)},se.prototype.sqrt=function(f){if(f.isZero())return f.clone();var p=this.m.andln(3);if(n(p%2===1),p===3){var E=this.m.add(new s(1)).iushrn(2);return this.pow(f,E)}for(var S=this.m.subn(1),_=0;!S.isZero()&&S.andln(1)===0;)_++,S.iushrn(1);n(!S.isZero());var C=new s(1).toRed(this),R=C.redNeg(),N=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new s(2*d*d).toRed(this);this.pow(d,N).cmp(R)!==0;)d.redIAdd(R);for(var P=this.pow(d,S),Y=this.pow(f,S.addn(1).iushrn(1)),v=this.pow(f,S),B=_;v.cmp(C)!==0;){for(var F=v,U=0;F.cmp(C)!==0;U++)F=F.redSqr();n(U=0;_--){for(var P=p.words[_],Y=d-1;Y>=0;Y--){var v=P>>Y&1;if(C!==S[0]&&(C=this.sqr(C)),v===0&&R===0){N=0;continue}R<<=1,R|=v,N++,!(N!==E&&(_!==0||Y!==0))&&(C=this.mul(C,S[R]),N=0,R=0)}d=26}return C},se.prototype.convertTo=function(f){var p=f.umod(this.m);return p===f?p.clone():p},se.prototype.convertFrom=function(f){var p=f.clone();return p.red=null,p},s.mont=function(f){return new Ne(f)};function Ne(I){se.call(this,I),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(Ne,se),Ne.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},Ne.prototype.convertFrom=function(f){var p=this.imod(f.mul(this.rinv));return p.red=null,p},Ne.prototype.imul=function(f,p){if(f.isZero()||p.isZero())return f.words[0]=0,f.length=1,f;var E=f.imul(p),S=E.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=E.isub(S).iushrn(this.shift),C=_;return _.cmp(this.m)>=0?C=_.isub(this.m):_.cmpn(0)<0&&(C=_.iadd(this.m)),C._forceRed(this)},Ne.prototype.mul=function(f,p){if(f.isZero()||p.isZero())return new s(0)._forceRed(this);var E=f.mul(p),S=E.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=E.isub(S).iushrn(this.shift),C=_;return _.cmp(this.m)>=0?C=_.isub(this.m):_.cmpn(0)<0&&(C=_.iadd(this.m)),C._forceRed(this)},Ne.prototype.invm=function(f){var p=this.imod(f._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(t,ze)})(jd);var aE=jd.exports;const ue=_i(aE),lE="bignumber/5.7.0";var la=ue.BN;const Sn=new O(lE),Wc={},kp=9007199254740991;let Np=!1;class G{constructor(e,r){e!==Wc&&Sn.throwError("cannot call constructor directly; use BigNumber.from",O.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return Yt(ve(this).fromTwos(e))}toTwos(e){return Yt(ve(this).toTwos(e))}abs(){return this._hex[0]==="-"?G.from(this._hex.substring(1)):this}add(e){return Yt(ve(this).add(ve(e)))}sub(e){return Yt(ve(this).sub(ve(e)))}div(e){return G.from(e).isZero()&&Er("division-by-zero","div"),Yt(ve(this).div(ve(e)))}mul(e){return Yt(ve(this).mul(ve(e)))}mod(e){const r=ve(e);return r.isNeg()&&Er("division-by-zero","mod"),Yt(ve(this).umod(r))}pow(e){const r=ve(e);return r.isNeg()&&Er("negative-power","pow"),Yt(ve(this).pow(r))}and(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","and"),Yt(ve(this).and(r))}or(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","or"),Yt(ve(this).or(r))}xor(e){const r=ve(e);return(this.isNegative()||r.isNeg())&&Er("unbound-bitwise-result","xor"),Yt(ve(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&Er("negative-width","mask"),Yt(ve(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Er("negative-width","shl"),Yt(ve(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Er("negative-width","shr"),Yt(ve(this).shrn(e))}eq(e){return ve(this).eq(ve(e))}lt(e){return ve(this).lt(ve(e))}lte(e){return ve(this).lte(ve(e))}gt(e){return ve(this).gt(ve(e))}gte(e){return ve(this).gte(ve(e))}isNegative(){return this._hex[0]==="-"}isZero(){return ve(this).isZero()}toNumber(){try{return ve(this).toNumber()}catch{Er("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Sn.throwError("this platform does not support BigInt",O.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?Np||(Np=!0,Sn.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Sn.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",O.errors.UNEXPECTED_ARGUMENT,{}):Sn.throwError("BigNumber.toString does not accept parameters",O.errors.UNEXPECTED_ARGUMENT,{})),ve(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof G)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new G(Wc,ua(e)):e.match(/^-?[0-9]+$/)?new G(Wc,ua(new la(e))):Sn.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Er("underflow","BigNumber.from",e),(e>=kp||e<=-kp)&&Er("overflow","BigNumber.from",e),G.from(String(e));const r=e;if(typeof r=="bigint")return G.from(r.toString());if(zu(r))return G.from(re(r));if(r)if(r.toHexString){const n=r.toHexString();if(typeof n=="string")return G.from(n)}else{let n=r._hex;if(n==null&&r.type==="BigNumber"&&(n=r.hex),typeof n=="string"&&(pe(n)||n[0]==="-"&&pe(n.substring(1))))return G.from(n)}return Sn.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function ua(t){if(typeof t!="string")return ua(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&Sn.throwArgumentError("invalid hex","value",t),t=ua(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function Yt(t){return G.from(ua(t))}function ve(t){const e=G.from(t).toHexString();return e[0]==="-"?new la("-"+e.substring(3),16):new la(e.substring(2),16)}function Er(t,e,r){const n={fault:t,operation:e};return r!=null&&(n.value=r),Sn.throwError(t,O.errors.NUMERIC_FAULT,n)}function uE(t){return new la(t,36).toString(16)}function cE(t){return new la(t,16).toString(36)}var _1={exports:{}};/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + */(function(t){(function(){var e="input is invalid type",r="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var s=!n&&typeof self=="object",o=!i.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?i=ze:s&&(i=self);var a=!i.JS_SHA3_NO_COMMON_JS&&!0&&t.exports,l=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),c=[31,7936,2031616,520093696],h=[4,1024,262144,67108864],m=[1,256,65536,16777216],g=[6,1536,393216,100663296],y=[0,8,16,24],b=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],k=[224,256,384,512],x=[128,256],w=["hex","buffer","arrayBuffer","array","digest"],A={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(v){return Object.prototype.toString.call(v)==="[object Array]"}),l&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(v){return typeof v=="object"&&v.buffer&&v.buffer.constructor===ArrayBuffer});for(var T=function(v,B,F){return function(U){return new d(v,B,v).update(U)[F]()}},j=function(v,B,F){return function(U,q){return new d(v,B,q).update(U)[F]()}},D=function(v,B,F){return function(U,q,ie,Q){return f["cshake"+v].update(U,q,ie,Q)[F]()}},$=function(v,B,F){return function(U,q,ie,Q){return f["kmac"+v].update(U,q,ie,Q)[F]()}},H=function(v,B,F,U){for(var q=0;q>5,this.byteCount=this.blockCount<<2,this.outputBlocks=F>>5,this.extraBytes=(F&31)>>3;for(var U=0;U<50;++U)this.s[U]=0}d.prototype.update=function(v){if(this.finalized)throw new Error(r);var B,F=typeof v;if(F!=="string"){if(F==="object"){if(v===null)throw new Error(e);if(l&&v.constructor===ArrayBuffer)v=new Uint8Array(v);else if(!Array.isArray(v)&&(!l||!ArrayBuffer.isView(v)))throw new Error(e)}else throw new Error(e);B=!0}for(var U=this.blocks,q=this.byteCount,ie=v.length,Q=this.blockCount,W=0,Ye=this.s,K,ae;W>2]|=v[W]<>2]|=ae<>2]|=(192|ae>>6)<>2]|=(128|ae&63)<=57344?(U[K>>2]|=(224|ae>>12)<>2]|=(128|ae>>6&63)<>2]|=(128|ae&63)<>2]|=(240|ae>>18)<>2]|=(128|ae>>12&63)<>2]|=(128|ae>>6&63)<>2]|=(128|ae&63)<=q){for(this.start=K-q,this.block=U[Q],K=0;K>8,F=v&255;F>0;)q.unshift(F),v=v>>8,F=v&255,++U;return B?q.push(U):q.unshift(U),this.update(q),q.length},d.prototype.encodeString=function(v){var B,F=typeof v;if(F!=="string"){if(F==="object"){if(v===null)throw new Error(e);if(l&&v.constructor===ArrayBuffer)v=new Uint8Array(v);else if(!Array.isArray(v)&&(!l||!ArrayBuffer.isView(v)))throw new Error(e)}else throw new Error(e);B=!0}var U=0,q=v.length;if(B)U=q;else for(var ie=0;ie=57344?U+=3:(Q=65536+((Q&1023)<<10|v.charCodeAt(++ie)&1023),U+=4)}return U+=this.encode(U*8),this.update(v),U},d.prototype.bytepad=function(v,B){for(var F=this.encode(B),U=0;U>2]|=this.padding[B&3],this.lastByteIndex===this.byteCount)for(v[0]=v[F],B=1;B>4&15]+u[W&15]+u[W>>12&15]+u[W>>8&15]+u[W>>20&15]+u[W>>16&15]+u[W>>28&15]+u[W>>24&15];ie%v===0&&(Y(B),q=0)}return U&&(W=B[q],Q+=u[W>>4&15]+u[W&15],U>1&&(Q+=u[W>>12&15]+u[W>>8&15]),U>2&&(Q+=u[W>>20&15]+u[W>>16&15])),Q},d.prototype.arrayBuffer=function(){this.finalize();var v=this.blockCount,B=this.s,F=this.outputBlocks,U=this.extraBytes,q=0,ie=0,Q=this.outputBits>>3,W;U?W=new ArrayBuffer(F+1<<2):W=new ArrayBuffer(Q);for(var Ye=new Uint32Array(W);ie>8&255,Q[W+2]=Ye>>16&255,Q[W+3]=Ye>>24&255;ie%v===0&&Y(B)}return U&&(W=ie<<2,Ye=B[q],Q[W]=Ye&255,U>1&&(Q[W+1]=Ye>>8&255),U>2&&(Q[W+2]=Ye>>16&255)),Q};function P(v,B,F){d.call(this,v,B,F)}P.prototype=new d,P.prototype.finalize=function(){return this.encode(this.outputBits,!0),d.prototype.finalize.call(this)};var Y=function(v){var B,F,U,q,ie,Q,W,Ye,K,ae,Jr,Te,Me,Yr,Pe,ce,xr,fe,Le,Xr,me,$e,bn,He,Ve,Vt,je,qe,Or,Ce,Ge,En,Be,We,An,De,ne,at,ge,he,nt,Ae,_e,Pt,Ie,Fe,Qt,Ke,Qe,Jt,Re,Ue,br,ke,Xe,Pi,Ze,et,Kn,Qn,Jn,Yn,Xn;for(U=0;U<48;U+=2)q=v[0]^v[10]^v[20]^v[30]^v[40],ie=v[1]^v[11]^v[21]^v[31]^v[41],Q=v[2]^v[12]^v[22]^v[32]^v[42],W=v[3]^v[13]^v[23]^v[33]^v[43],Ye=v[4]^v[14]^v[24]^v[34]^v[44],K=v[5]^v[15]^v[25]^v[35]^v[45],ae=v[6]^v[16]^v[26]^v[36]^v[46],Jr=v[7]^v[17]^v[27]^v[37]^v[47],Te=v[8]^v[18]^v[28]^v[38]^v[48],Me=v[9]^v[19]^v[29]^v[39]^v[49],B=Te^(Q<<1|W>>>31),F=Me^(W<<1|Q>>>31),v[0]^=B,v[1]^=F,v[10]^=B,v[11]^=F,v[20]^=B,v[21]^=F,v[30]^=B,v[31]^=F,v[40]^=B,v[41]^=F,B=q^(Ye<<1|K>>>31),F=ie^(K<<1|Ye>>>31),v[2]^=B,v[3]^=F,v[12]^=B,v[13]^=F,v[22]^=B,v[23]^=F,v[32]^=B,v[33]^=F,v[42]^=B,v[43]^=F,B=Q^(ae<<1|Jr>>>31),F=W^(Jr<<1|ae>>>31),v[4]^=B,v[5]^=F,v[14]^=B,v[15]^=F,v[24]^=B,v[25]^=F,v[34]^=B,v[35]^=F,v[44]^=B,v[45]^=F,B=Ye^(Te<<1|Me>>>31),F=K^(Me<<1|Te>>>31),v[6]^=B,v[7]^=F,v[16]^=B,v[17]^=F,v[26]^=B,v[27]^=F,v[36]^=B,v[37]^=F,v[46]^=B,v[47]^=F,B=ae^(q<<1|ie>>>31),F=Jr^(ie<<1|q>>>31),v[8]^=B,v[9]^=F,v[18]^=B,v[19]^=F,v[28]^=B,v[29]^=F,v[38]^=B,v[39]^=F,v[48]^=B,v[49]^=F,Yr=v[0],Pe=v[1],Fe=v[11]<<4|v[10]>>>28,Qt=v[10]<<4|v[11]>>>28,qe=v[20]<<3|v[21]>>>29,Or=v[21]<<3|v[20]>>>29,Qn=v[31]<<9|v[30]>>>23,Jn=v[30]<<9|v[31]>>>23,Ae=v[40]<<18|v[41]>>>14,_e=v[41]<<18|v[40]>>>14,We=v[2]<<1|v[3]>>>31,An=v[3]<<1|v[2]>>>31,ce=v[13]<<12|v[12]>>>20,xr=v[12]<<12|v[13]>>>20,Ke=v[22]<<10|v[23]>>>22,Qe=v[23]<<10|v[22]>>>22,Ce=v[33]<<13|v[32]>>>19,Ge=v[32]<<13|v[33]>>>19,Yn=v[42]<<2|v[43]>>>30,Xn=v[43]<<2|v[42]>>>30,ke=v[5]<<30|v[4]>>>2,Xe=v[4]<<30|v[5]>>>2,De=v[14]<<6|v[15]>>>26,ne=v[15]<<6|v[14]>>>26,fe=v[25]<<11|v[24]>>>21,Le=v[24]<<11|v[25]>>>21,Jt=v[34]<<15|v[35]>>>17,Re=v[35]<<15|v[34]>>>17,En=v[45]<<29|v[44]>>>3,Be=v[44]<<29|v[45]>>>3,He=v[6]<<28|v[7]>>>4,Ve=v[7]<<28|v[6]>>>4,Pi=v[17]<<23|v[16]>>>9,Ze=v[16]<<23|v[17]>>>9,at=v[26]<<25|v[27]>>>7,ge=v[27]<<25|v[26]>>>7,Xr=v[36]<<21|v[37]>>>11,me=v[37]<<21|v[36]>>>11,Ue=v[47]<<24|v[46]>>>8,br=v[46]<<24|v[47]>>>8,Pt=v[8]<<27|v[9]>>>5,Ie=v[9]<<27|v[8]>>>5,Vt=v[18]<<20|v[19]>>>12,je=v[19]<<20|v[18]>>>12,et=v[29]<<7|v[28]>>>25,Kn=v[28]<<7|v[29]>>>25,he=v[38]<<8|v[39]>>>24,nt=v[39]<<8|v[38]>>>24,$e=v[48]<<14|v[49]>>>18,bn=v[49]<<14|v[48]>>>18,v[0]=Yr^~ce&fe,v[1]=Pe^~xr&Le,v[10]=He^~Vt&qe,v[11]=Ve^~je&Or,v[20]=We^~De&at,v[21]=An^~ne&ge,v[30]=Pt^~Fe&Ke,v[31]=Ie^~Qt&Qe,v[40]=ke^~Pi&et,v[41]=Xe^~Ze&Kn,v[2]=ce^~fe&Xr,v[3]=xr^~Le&me,v[12]=Vt^~qe&Ce,v[13]=je^~Or&Ge,v[22]=De^~at&he,v[23]=ne^~ge&nt,v[32]=Fe^~Ke&Jt,v[33]=Qt^~Qe&Re,v[42]=Pi^~et&Qn,v[43]=Ze^~Kn&Jn,v[4]=fe^~Xr&$e,v[5]=Le^~me&bn,v[14]=qe^~Ce&En,v[15]=Or^~Ge&Be,v[24]=at^~he&Ae,v[25]=ge^~nt&_e,v[34]=Ke^~Jt&Ue,v[35]=Qe^~Re&br,v[44]=et^~Qn&Yn,v[45]=Kn^~Jn&Xn,v[6]=Xr^~$e&Yr,v[7]=me^~bn&Pe,v[16]=Ce^~En&He,v[17]=Ge^~Be&Ve,v[26]=he^~Ae&We,v[27]=nt^~_e&An,v[36]=Jt^~Ue&Pt,v[37]=Re^~br&Ie,v[46]=Qn^~Yn&ke,v[47]=Jn^~Xn&Xe,v[8]=$e^~Yr&ce,v[9]=bn^~Pe&xr,v[18]=En^~He&Vt,v[19]=Be^~Ve&je,v[28]=Ae^~We&De,v[29]=_e^~An&ne,v[38]=Ue^~Pt&Fe,v[39]=br^~Ie&Qt,v[48]=Yn^~ke&Pi,v[49]=Xn^~Xe&Ze,v[0]^=b[U],v[1]^=b[U+1]};if(a)t.exports=f;else for(E=0;E>=8;return e}function Pp(t,e,r){let n=0;for(let i=0;ie+1+n&&rn.throwError("child data too short",O.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function k1(t,e){if(t.length===0&&rn.throwError("data too short",O.errors.BUFFER_OVERRUN,{}),t[e]>=248){const r=t[e]-247;e+1+r>t.length&&rn.throwError("data short segment too short",O.errors.BUFFER_OVERRUN,{});const n=Pp(t,e+1,r);return e+1+r+n>t.length&&rn.throwError("data long segment too short",O.errors.BUFFER_OVERRUN,{}),Cp(t,e,e+1+r,r+n)}else if(t[e]>=192){const r=t[e]-192;return e+1+r>t.length&&rn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{}),Cp(t,e,e+1,r)}else if(t[e]>=184){const r=t[e]-183;e+1+r>t.length&&rn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{});const n=Pp(t,e+1,r);e+1+r+n>t.length&&rn.throwError("data array too short",O.errors.BUFFER_OVERRUN,{});const i=re(t.slice(e+1+r,e+1+r+n));return{consumed:1+r+n,result:i}}else if(t[e]>=128){const r=t[e]-128;e+1+r>t.length&&rn.throwError("data too short",O.errors.BUFFER_OVERRUN,{});const n=re(t.slice(e+1,e+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:re(t[e])}}function Bd(t){const e=oe(t),r=k1(e,0);return r.consumed!==e.length&&rn.throwArgumentError("invalid rlp data","data",t),r.result}const pE="address/5.7.0",fi=new O(pE);function Ip(t){pe(t,20)||fi.throwArgumentError("invalid address","address",t),t=t.toLowerCase();const e=t.substring(2).split(""),r=new Uint8Array(40);for(let i=0;i<40;i++)r[i]=e[i].charCodeAt(0);const n=oe(st(r));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const mE=9007199254740991;function gE(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}const Dd={};for(let t=0;t<10;t++)Dd[String(t)]=String(t);for(let t=0;t<26;t++)Dd[String.fromCharCode(65+t)]=String(10+t);const Rp=Math.floor(gE(mE));function N1(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>Dd[n]).join("");for(;e.length>=Rp;){let n=e.substring(0,Rp);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function gt(t){let e=null;if(typeof t!="string"&&fi.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=Ip(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&fi.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==N1(t)&&fi.throwArgumentError("bad icap checksum","address",t),e=uE(t.substring(4));e.length<40;)e="0"+e;e=Ip("0x"+e)}else fi.throwArgumentError("invalid address","address",t);return e}function vE(t){try{return gt(t),!0}catch{}return!1}function yE(t){let e=cE(gt(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+N1("XE00"+e)+e}function Fd(t){let e=null;try{e=gt(t.from)}catch{fi.throwArgumentError("missing from address","transaction",t)}const r=$s(oe(G.from(t.nonce).toHexString()));return gt(Rt(st(Vu([e,r])),12))}function wE(t,e,r){return Un(e)!==32&&fi.throwArgumentError("salt must be 32 bytes","salt",e),Un(r)!==32&&fi.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),gt(Rt(st(Ut(["0xff",gt(t),e,r])),12))}const xE=Object.freeze(Object.defineProperty({__proto__:null,getAddress:gt,getContractAddress:Fd,getCreate2Address:wE,getIcapAddress:yE,isAddress:vE},Symbol.toStringTag,{value:"Module"})),bE=Ks(xE);var EE={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Op=t=>{let e;const r=new Set,n=(l,u)=>{const c=typeof l=="function"?l(e):l;if(!Object.is(c,e)){const h=e;e=u??typeof c!="object"?c:Object.assign({},e,c),r.forEach(m=>m(e,h))}},i=()=>e,a={setState:n,getState:i,subscribe:l=>(r.add(l),()=>r.delete(l)),destroy:()=>{(EE?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,a),a},M1=t=>t?Op(t):Op;var P1={exports:{}},C1={},I1={exports:{}},R1={};/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Hs=L;function AE(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var _E=typeof Object.is=="function"?Object.is:AE,SE=Hs.useState,kE=Hs.useEffect,NE=Hs.useLayoutEffect,ME=Hs.useDebugValue;function PE(t,e){var r=e(),n=SE({inst:{value:r,getSnapshot:e}}),i=n[0].inst,s=n[1];return NE(function(){i.value=r,i.getSnapshot=e,Kc(i)&&s({inst:i})},[t,r,e]),kE(function(){return Kc(i)&&s({inst:i}),t(function(){Kc(i)&&s({inst:i})})},[t]),ME(r),r}function Kc(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!_E(t,r)}catch{return!0}}function CE(t,e){return e()}var IE=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?CE:PE;R1.useSyncExternalStore=Hs.useSyncExternalStore!==void 0?Hs.useSyncExternalStore:IE;I1.exports=R1;var RE=I1.exports;/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var qu=L,OE=RE;function TE(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var LE=typeof Object.is=="function"?Object.is:TE,jE=OE.useSyncExternalStore,BE=qu.useRef,DE=qu.useEffect,FE=qu.useMemo,UE=qu.useDebugValue;C1.useSyncExternalStoreWithSelector=function(t,e,r,n,i){var s=BE(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=FE(function(){function l(g){if(!u){if(u=!0,c=g,g=n(g),i!==void 0&&o.hasValue){var y=o.value;if(i(y,g))return h=y}return h=g}if(y=h,LE(c,g))return y;var b=n(g);return i!==void 0&&i(y,b)?y:(c=g,h=b)}var u=!1,c,h,m=r===void 0?null:r;return[function(){return l(e())},m===null?void 0:function(){return l(m())}]},[e,r,n,i]);var a=jE(t,s[0],s[1]);return DE(function(){o.hasValue=!0,o.value=a},[a]),UE(a),a};P1.exports=C1;var zE=P1.exports;const Gu=_i(zE),{useSyncExternalStoreWithSelector:$E}=Gu;function O1(t,e=t.getState,r){const n=$E(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const Tp=t=>{const e=typeof t=="function"?M1(t):t,r=(n,i)=>O1(e,n,i);return Object.assign(r,e),r},T1=t=>t?Tp(t):Tp;var HE=t=>T1(t);const VE=Object.freeze(Object.defineProperty({__proto__:null,create:T1,createStore:M1,default:HE,useStore:O1},Symbol.toStringTag,{value:"Module"})),qE=Ks(VE);(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createWeb3ReactStoreAndActions=t.MAX_SAFE_CHAIN_ID=void 0;const e=bE,r=qE;t.MAX_SAFE_CHAIN_ID=0xfffffffffffec;function n(a){if(!Number.isInteger(a)||a<=0||a>t.MAX_SAFE_CHAIN_ID)throw new Error(`Invalid chainId ${a}`)}function i(a){return(0,e.getAddress)(a)}const s={chainId:void 0,accounts:void 0,activating:!1};function o(){const a=(0,r.createStore)()(()=>s);let l=0;function u(){const m=++l;return a.setState(Object.assign(Object.assign({},s),{activating:!0})),()=>{l===m&&a.setState({activating:!1})}}function c(m){if(m.chainId!==void 0&&n(m.chainId),m.accounts!==void 0)for(let g=0;g{var y,b;const k=(y=m.chainId)!==null&&y!==void 0?y:g.chainId,x=(b=m.accounts)!==null&&b!==void 0?b:g.accounts;let w=g.activating;return w&&k&&x&&(w=!1),{chainId:k,accounts:x,activating:w}})}function h(){l++,a.setState(s)}return[a,{startActivation:u,update:c,resetState:h}]}t.createWeb3ReactStoreAndActions=o})(E1);var GE={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Lp=t=>{let e;const r=new Set,n=(l,u)=>{const c=typeof l=="function"?l(e):l;if(!Object.is(c,e)){const h=e;e=u??typeof c!="object"?c:Object.assign({},e,c),r.forEach(m=>m(e,h))}},i=()=>e,a={setState:n,getState:i,subscribe:l=>(r.add(l),()=>r.delete(l)),destroy:()=>{(GE?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,a),a},Ud=t=>t?Lp(t):Lp,{useSyncExternalStoreWithSelector:WE}=Gu;function L1(t,e=t.getState,r){const n=WE(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const jp=t=>{const e=typeof t=="function"?Ud(t):t,r=(n,i)=>L1(e,n,i);return Object.assign(r,e),r},j1=t=>t?jp(t):jp;var KE=t=>j1(t);const QE=Object.freeze(Object.defineProperty({__proto__:null,create:j1,createStore:Ud,default:KE,useStore:L1},Symbol.toStringTag,{value:"Module"})),JE=Ks(QE),{useSyncExternalStoreWithSelector:YE}=Gu;function B1(t,e=t.getState,r){const n=YE(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return L.useDebugValue(n),n}const Bp=(t,e)=>{const r=Ud(t),n=(i,s=e)=>B1(r,i,s);return Object.assign(n,r),n},XE=(t,e)=>t?Bp(t,e):Bp,ZE=Object.freeze(Object.defineProperty({__proto__:null,createWithEqualityFn:XE,useStoreWithEqualityFn:B1},Symbol.toStringTag,{value:"Module"})),eA=Ks(ZE),tA="properties/5.7.0";var rA=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const nu=new O(tA);function z(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function dr(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||typeof t.prototype!="object")break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function wt(t){return rA(this,void 0,void 0,function*(){const e=Object.keys(t).map(n=>{const i=t[n];return Promise.resolve(i).then(s=>({key:n,value:s}))});return(yield Promise.all(e)).reduce((n,i)=>(n[i.key]=i.value,n),{})})}function nA(t,e){(!t||typeof t!="object")&&nu.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||nu.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function ot(t){const e={};for(const r in t)e[r]=t[r];return e}const iA={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function D1(t){if(t==null||iA[typeof t])return!0;if(Array.isArray(t)||typeof t=="object"){if(!Object.isFrozen(t))return!1;const e=Object.keys(t);for(let r=0;rsr(e)));if(typeof t=="object"){const e={};for(const r in t){const n=t[r];n!==void 0&&z(e,r,sr(n))}return e}return nu.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function sr(t){return sA(t)}class Na{constructor(e){for(const r in e)this[r]=sr(e[r])}}const oA="abstract-provider/5.7.0";var aA=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const lA=new O(oA);class uA extends Na{static isForkEvent(e){return!!(e&&e._isForkEvent)}}class Zs{constructor(){lA.checkAbstract(new.target,Zs),z(this,"_isProvider",!0)}getFeeData(){return aA(this,void 0,void 0,function*(){const{block:e,gasPrice:r}=yield wt({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(o=>null)});let n=null,i=null,s=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,s=G.from("1500000000"),i=e.baseFeePerGas.mul(2).add(s)),{lastBaseFeePerGas:n,maxFeePerGas:i,maxPriorityFeePerGas:s,gasPrice:r}})}addListener(e,r){return this.on(e,r)}removeListener(e,r){return this.off(e,r)}static isProvider(e){return!!(e&&e._isProvider)}}const cA="networks/5.7.1",Dp=new O(cA);function fA(t){return t&&typeof t.renetwork=="function"}function Mn(t){const e=function(r,n){n==null&&(n={});const i=[];if(r.InfuraProvider&&n.infura!=="-")try{i.push(new r.InfuraProvider(t,n.infura))}catch{}if(r.EtherscanProvider&&n.etherscan!=="-")try{i.push(new r.EtherscanProvider(t,n.etherscan))}catch{}if(r.AlchemyProvider&&n.alchemy!=="-")try{i.push(new r.AlchemyProvider(t,n.alchemy))}catch{}if(r.PocketProvider&&n.pocket!=="-"){const s=["goerli","ropsten","rinkeby","sepolia"];try{const o=new r.PocketProvider(t,n.pocket);o.network&&s.indexOf(o.network.name)===-1&&i.push(o)}catch{}}if(r.CloudflareProvider&&n.cloudflare!=="-")try{i.push(new r.CloudflareProvider(t))}catch{}if(r.AnkrProvider&&n.ankr!=="-")try{const s=["ropsten"],o=new r.AnkrProvider(t,n.ankr);o.network&&s.indexOf(o.network.name)===-1&&i.push(o)}catch{}if(i.length===0)return null;if(r.FallbackProvider){let s=1;return n.quorum!=null?s=n.quorum:t==="homestead"&&(s=2),new r.FallbackProvider(i,s)}return i[0]};return e.renetwork=function(r){return Mn(r)},e}function iu(t,e){const r=function(n,i){return n.JsonRpcProvider?new n.JsonRpcProvider(t,e):null};return r.renetwork=function(n){return iu(t,n)},r}const Fp={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:Mn("homestead")},Up={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:Mn("ropsten")},zp={chainId:63,name:"classicMordor",_defaultProvider:iu("https://www.ethercluster.com/mordor","classicMordor")},Ya={unspecified:{chainId:0,name:"unspecified"},homestead:Fp,mainnet:Fp,morden:{chainId:2,name:"morden"},ropsten:Up,testnet:Up,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:Mn("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:Mn("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:Mn("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:Mn("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:iu("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:zp,classicTestnet:zp,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:iu("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:Mn("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:Mn("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function zd(t){if(t==null)return null;if(typeof t=="number"){for(const n in Ya){const i=Ya[n];if(i.chainId===t)return{name:i.name,chainId:i.chainId,ensAddress:i.ensAddress||null,_defaultProvider:i._defaultProvider||null}}return{chainId:t,name:"unknown"}}if(typeof t=="string"){const n=Ya[t];return n==null?null:{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress,_defaultProvider:n._defaultProvider||null}}const e=Ya[t.name];if(!e)return typeof t.chainId!="number"&&Dp.throwArgumentError("invalid network chainId","network",t),t;t.chainId!==0&&t.chainId!==e.chainId&&Dp.throwArgumentError("network chainId mismatch","network",t);let r=t._defaultProvider||null;return r==null&&e._defaultProvider&&(fA(e._defaultProvider)?r=e._defaultProvider.renetwork(t):r=e._defaultProvider),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:r}}function F1(t){t=atob(t);const e=[];for(let r=0;r0;)n.push(o%this.base),o=o/this.base|0}let i="";for(let s=0;r[s]===0&&s=0;--s)i+=this.alphabet[n[s]];return i}decode(e){if(typeof e!="string")throw new TypeError("Expected String");let r=[];if(e.length===0)return new Uint8Array(r);r.push(0);for(let n=0;n>=8;for(;s>0;)r.push(s&255),s>>=8}for(let n=0;e[n]===this._leader&&n>6===2;o++)s++;return s}return t===cr.OVERRUN?r.length-e-1:0}function wA(t,e,r,n,i){return t===cr.OVERLONG?(n.push(i),0):(n.push(65533),V1(t,e,r))}const xA=Object.freeze({error:yA,ignore:V1,replace:wA});function q1(t,e){e==null&&(e=xA.error),t=oe(t);const r=[];let n=0;for(;n>7)){r.push(i);continue}let s=null,o=null;if((i&224)===192)s=1,o=127;else if((i&240)===224)s=2,o=2047;else if((i&248)===240)s=3,o=65535;else{(i&192)===128?n+=e(cr.UNEXPECTED_CONTINUE,n-1,t,r):n+=e(cr.BAD_PREFIX,n-1,t,r);continue}if(n-1+s>=t.length){n+=e(cr.OVERRUN,n-1,t,r);continue}let a=i&(1<<8-s-1)-1;for(let l=0;l1114111){n+=e(cr.OUT_OF_RANGE,n-1-s,t,r,a);continue}if(a>=55296&&a<=57343){n+=e(cr.UTF16_SURROGATE,n-1-s,t,r,a);continue}if(a<=o){n+=e(cr.OVERLONG,n-1-s,t,r,a);continue}r.push(a)}}return r}function gr(t,e=ca.current){e!=ca.current&&(H1.checkNormalize(),t=t.normalize(e));let r=[];for(let n=0;n>6|192),r.push(i&63|128);else if((i&64512)==55296){n++;const s=t.charCodeAt(n);if(n>=t.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const o=65536+((i&1023)<<10)+(s&1023);r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(o&63|128)}else r.push(i>>12|224),r.push(i>>6&63|128),r.push(i&63|128)}return oe(r)}function bA(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Ma(t,e){return bA(q1(t,e))}function EA(t,e=ca.current){return q1(gr(t,e))}function bs(t){return st(gr(t))}const G1="hash/5.7.0";function W1(t,e){e==null&&(e=1);const r=[],n=r.forEach,i=function(s,o){n.call(s,function(a){o>0&&Array.isArray(a)?i(a,o-1):r.push(a)})};return i(t,e),r}function AA(t){const e={};for(let r=0;r>--l&1}const h=31,m=Math.pow(2,h),g=m>>>1,y=g>>1,b=m-1;let k=0;for(let j=0;j1;){let Z=D+$>>>1;j>>1|c(),H=H<<1^g,J=(J^g)<<1|g|1;w=H,A=1+J-H}let T=n-4;return x.map(j=>{switch(j-T){case 3:return T+65792+(t[a++]<<16|t[a++]<<8|t[a++]);case 2:return T+256+(t[a++]<<8|t[a++]);case 1:return T+t[a++];default:return j-1}})}function SA(t){let e=0;return()=>t[e++]}function kA(t){return SA(_A(t))}function NA(t){return t&1?~t>>1:t>>1}function MA(t,e){let r=Array(t);for(let n=0;ne[o]):r}function CA(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(RA(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(OA(r,t))}return AA(W1(e))}function IA(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(r)}return e}function K1(t,e,r){let n=Array(t).fill(void 0).map(()=>[]);for(let i=0;in[o].push(s));return n}function RA(t,e){let r=1+e(),n=e(),i=IA(e),s=K1(i.length,1+t,e);return W1(s.map((o,a)=>{const l=o[0],u=o.slice(1);return Array(i[a]).fill(void 0).map((c,h)=>{let m=h*n;return[l+h*r,u.map(g=>g+m)]})}))}function OA(t,e){let r=1+e();return K1(r,1+t,e).map(i=>[i[0],i.slice(1)])}function TA(t){let e=su(t).sort((n,i)=>n-i);return r();function r(){let n=[];for(;;){let u=su(t,e);if(u.length==0)break;n.push({set:new Set(u),node:r()})}n.sort((u,c)=>c.set.size-u.set.size);let i=t(),s=i%3;i=i/3|0;let o=!!(i&1);i>>=1;let a=i==1,l=i==2;return{branches:n,valid:s,fe0f:o,save:a,check:l}}}function LA(){return kA(F1("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}const Wu=LA(),jA=new Set(su(Wu)),BA=new Set(su(Wu)),DA=CA(Wu),FA=TA(Wu),Hp=45,Vp=95;function Q1(t){return EA(t)}function UA(t){return t.filter(e=>e!=65039)}function J1(t){for(let e of t.split(".")){let r=Q1(e);try{for(let n=r.lastIndexOf(Vp)-1;n>=0;n--)if(r[n]!==Vp)throw new Error("underscore only allowed at start");if(r.length>=4&&r.every(n=>n<128)&&r[2]===Hp&&r[3]===Hp)throw new Error("invalid label extension")}catch(n){throw new Error(`Invalid label "${e}": ${n.message}`)}}return t}function zA(t){return J1($A(t,UA))}function $A(t,e){let r=Q1(t).reverse(),n=[];for(;r.length;){let i=VA(r);if(i){n.push(...e(i));continue}let s=r.pop();if(jA.has(s)){n.push(s);continue}if(BA.has(s))continue;let o=DA[s];if(o){n.push(...o);continue}throw new Error(`Disallowed codepoint: 0x${s.toString(16).toUpperCase()}`)}return J1(HA(String.fromCodePoint(...n)))}function HA(t){return t.normalize("NFC")}function VA(t,e){var r;let n=FA,i,s,o=[],a=t.length;for(e&&(e.length=0);a;){let l=t[--a];if(n=(r=n.branches.find(u=>u.set.has(l)))===null||r===void 0?void 0:r.node,!n)break;if(n.save)s=l;else if(n.check&&l===s)break;o.push(l),n.fe0f&&(o.push(65039),a>0&&t[a-1]==65039&&a--),n.valid&&(i=o.slice(),n.valid==2&&i.splice(1,1),e&&e.push(...t.slice(a).reverse()),t.length=a)}return i}const qA=new O(G1),Y1=new Uint8Array(32);Y1.fill(0);function qp(t){if(t.length===0)throw new Error("invalid ENS name; empty component");return t}function X1(t){const e=gr(zA(t)),r=[];if(t.length===0)return r;let n=0;for(let i=0;i=e.length)throw new Error("invalid ENS name; empty component");return r.push(qp(e.slice(n))),r}function _l(t){typeof t!="string"&&qA.throwArgumentError("invalid ENS name; not a string","name",t);let e=Y1;const r=X1(t);for(;r.length;)e=st(Ut([e,st(r.pop())]));return re(e)}function GA(t){return re(Ut(X1(t).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r})))+"00"}var WA=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const ut=new O(G1),Z1=new Uint8Array(32);Z1.fill(0);const KA=G.from(-1),ey=G.from(0),ty=G.from(1),QA=G.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function JA(t){const e=oe(t),r=e.length%32;return r?er([e,Z1.slice(r)]):re(e)}const YA=mt(ty.toHexString(),32),XA=mt(ey.toHexString(),32),Gp={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Qc=["name","version","chainId","verifyingContract","salt"];function Wp(t){return function(e){return typeof e!="string"&&ut.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const ZA={name:Wp("name"),version:Wp("version"),chainId:function(t){try{return G.from(t).toString()}catch{}return ut.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return gt(t).toLowerCase()}catch{}return ut.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=oe(t);if(e.length!==32)throw new Error("bad length");return re(e)}catch{}return ut.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function Jc(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=e[1]==="",n=parseInt(e[2]||"256");(n%8!==0||n>256||e[2]&&e[2]!==String(n))&&ut.throwArgumentError("invalid numeric width","type",t);const i=QA.mask(r?n-1:n),s=r?i.add(ty).mul(KA):ey;return function(o){const a=G.from(o);return(a.lt(s)||a.gt(i))&&ut.throwArgumentError(`value out-of-bounds for ${t}`,"value",o),mt(a.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(r===0||r>32||e[1]!==String(r))&&ut.throwArgumentError("invalid bytes width","type",t),function(n){return oe(n).length!==r&&ut.throwArgumentError(`invalid length for ${t}`,"value",n),JA(n)}}}switch(t){case"address":return function(e){return mt(gt(e),32)};case"bool":return function(e){return e?YA:XA};case"bytes":return function(e){return st(e)};case"string":return function(e){return bs(e)}}return null}function Kp(t,e){return`${t}(${e.map(({name:r,type:n})=>n+" "+r).join(",")})`}class lr{constructor(e){z(this,"types",Object.freeze(sr(e))),z(this,"_encoderCache",{}),z(this,"_types",{});const r={},n={},i={};Object.keys(e).forEach(a=>{r[a]={},n[a]=[],i[a]={}});for(const a in e){const l={};e[a].forEach(u=>{l[u.name]&&ut.throwArgumentError(`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(a)}`,"types",e),l[u.name]=!0;const c=u.type.match(/^([^\x5b]*)(\x5b|$)/)[1];c===a&&ut.throwArgumentError(`circular type reference to ${JSON.stringify(c)}`,"types",e),!Jc(c)&&(n[c]||ut.throwArgumentError(`unknown type ${JSON.stringify(c)}`,"types",e),n[c].push(a),r[a][c]=!0)})}const s=Object.keys(n).filter(a=>n[a].length===0);s.length===0?ut.throwArgumentError("missing primary type","types",e):s.length>1&&ut.throwArgumentError(`ambiguous primary types or unused types: ${s.map(a=>JSON.stringify(a)).join(", ")}`,"types",e),z(this,"primaryType",s[0]);function o(a,l){l[a]&&ut.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",e),l[a]=!0,Object.keys(r[a]).forEach(u=>{n[u]&&(o(u,l),Object.keys(l).forEach(c=>{i[c][u]=!0}))}),delete l[a]}o(this.primaryType,{});for(const a in i){const l=Object.keys(i[a]);l.sort(),this._types[a]=Kp(a,e[a])+l.map(u=>Kp(u,e[u])).join("")}}getEncoder(e){let r=this._encoderCache[e];return r||(r=this._encoderCache[e]=this._getEncoder(e)),r}_getEncoder(e){{const i=Jc(e);if(i)return i}const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const i=r[1],s=this.getEncoder(i),o=parseInt(r[3]);return a=>{o>=0&&a.length!==o&&ut.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",a);let l=a.map(s);return this._types[i]&&(l=l.map(st)),st(er(l))}}const n=this.types[e];if(n){const i=bs(this._types[e]);return s=>{const o=n.map(({name:a,type:l})=>{const u=this.getEncoder(l)(s[a]);return this._types[l]?st(u):u});return o.unshift(i),er(o)}}return ut.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const r=this._types[e];return r||ut.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),r}encodeData(e,r){return this.getEncoder(e)(r)}hashStruct(e,r){return st(this.encodeData(e,r))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,r,n){if(Jc(e))return n(e,r);const i=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const o=i[1],a=parseInt(i[3]);return a>=0&&r.length!==a&&ut.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",r),r.map(l=>this._visit(o,l,n))}const s=this.types[e];return s?s.reduce((o,{name:a,type:l})=>(o[a]=this._visit(l,r[a],n),o),{}):ut.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,r){return this._visit(this.primaryType,e,r)}static from(e){return new lr(e)}static getPrimaryType(e){return lr.from(e).primaryType}static hashStruct(e,r,n){return lr.from(r).hashStruct(e,n)}static hashDomain(e){const r=[];for(const n in e){const i=Gp[n];i||ut.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),r.push({name:n,type:i})}return r.sort((n,i)=>Qc.indexOf(n.name)-Qc.indexOf(i.name)),lr.hashStruct("EIP712Domain",{EIP712Domain:r},e)}static encode(e,r,n){return er(["0x1901",lr.hashDomain(e),lr.from(r).hash(n)])}static hash(e,r,n){return st(lr.encode(e,r,n))}static resolveNames(e,r,n,i){return WA(this,void 0,void 0,function*(){e=ot(e);const s={};e.verifyingContract&&!pe(e.verifyingContract,20)&&(s[e.verifyingContract]="0x");const o=lr.from(r);o.visit(n,(a,l)=>(a==="address"&&!pe(l,20)&&(s[l]="0x"),l));for(const a in s)s[a]=yield i(a);return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=o.visit(n,(a,l)=>a==="address"&&s[l]?s[l]:l),{domain:e,value:n}})}static getPayload(e,r,n){lr.hashDomain(e);const i={},s=[];Qc.forEach(l=>{const u=e[l];u!=null&&(i[l]=ZA[l](u),s.push({name:l,type:Gp[l]}))});const o=lr.from(r),a=ot(r);return a.EIP712Domain?ut.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):a.EIP712Domain=s,o.encode(n),{types:a,domain:i,primaryType:o.primaryType,message:o.visit(n,(l,u)=>{if(l.match(/^bytes(\d*)/))return re(oe(u));if(l.match(/^u?int/))return G.from(u).toString();switch(l){case"address":return u.toLowerCase();case"bool":return!!u;case"string":return typeof u!="string"&&ut.throwArgumentError("invalid string","value",u),u}return ut.throwArgumentError("unsupported type","type",l)})}}}var ry={},we={},Pa=ny;function ny(t,e){if(!t)throw new Error(e||"Assertion failed")}ny.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)};var wh={exports:{}};typeof Object.create=="function"?wh.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:wh.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}};var e3=wh.exports,t3=Pa,r3=e3;we.inherits=r3;function n3(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function i3(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),i=0;i>6|192,r[n++]=s&63|128):n3(t,i)?(s=65536+((s&1023)<<10)+(t.charCodeAt(++i)&1023),r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128)}else for(i=0;i>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}we.htonl=iy;function o3(t,e){for(var r="",n=0;n>>0}return s}we.join32=a3;function l3(t,e){for(var r=new Array(t.length*4),n=0,i=0;n>>24,r[i+1]=s>>>16&255,r[i+2]=s>>>8&255,r[i+3]=s&255):(r[i+3]=s>>>24,r[i+2]=s>>>16&255,r[i+1]=s>>>8&255,r[i]=s&255)}return r}we.split32=l3;function u3(t,e){return t>>>e|t<<32-e}we.rotr32=u3;function c3(t,e){return t<>>32-e}we.rotl32=c3;function f3(t,e){return t+e>>>0}we.sum32=f3;function h3(t,e,r){return t+e+r>>>0}we.sum32_3=h3;function d3(t,e,r,n){return t+e+r+n>>>0}we.sum32_4=d3;function p3(t,e,r,n,i){return t+e+r+n+i>>>0}we.sum32_5=p3;function m3(t,e,r,n){var i=t[e],s=t[e+1],o=n+s>>>0,a=(o>>0,t[e+1]=o}we.sum64=m3;function g3(t,e,r,n){var i=e+n>>>0,s=(i>>0}we.sum64_hi=g3;function v3(t,e,r,n){var i=e+n;return i>>>0}we.sum64_lo=v3;function y3(t,e,r,n,i,s,o,a){var l=0,u=e;u=u+n>>>0,l+=u>>0,l+=u>>0,l+=u>>0}we.sum64_4_hi=y3;function w3(t,e,r,n,i,s,o,a){var l=e+n+s+a;return l>>>0}we.sum64_4_lo=w3;function x3(t,e,r,n,i,s,o,a,l,u){var c=0,h=e;h=h+n>>>0,c+=h>>0,c+=h>>0,c+=h>>0,c+=h>>0}we.sum64_5_hi=x3;function b3(t,e,r,n,i,s,o,a,l,u){var c=e+n+s+a+u;return c>>>0}we.sum64_5_lo=b3;function E3(t,e,r){var n=e<<32-r|t>>>r;return n>>>0}we.rotr64_hi=E3;function A3(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}we.rotr64_lo=A3;function _3(t,e,r){return t>>>r}we.shr64_hi=_3;function S3(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}we.shr64_lo=S3;var eo={},Qp=we,k3=Pa;function Ku(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}eo.BlockHash=Ku;Ku.prototype.update=function(e,r){if(e=Qp.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),this.pending.length===0&&(this.pending=null),e=Qp.join32(e,0,e.length-n,this.endian);for(var i=0;i>>24&255,i[s++]=e>>>16&255,i[s++]=e>>>8&255,i[s++]=e&255}else for(i[s++]=e&255,i[s++]=e>>>8&255,i[s++]=e>>>16&255,i[s++]=e>>>24&255,i[s++]=0,i[s++]=0,i[s++]=0,i[s++]=0,o=8;o>>3}wn.g0_256=I3;function R3(t){return fn(t,17)^fn(t,19)^t>>>10}wn.g1_256=R3;var Vs=we,O3=eo,T3=wn,Yc=Vs.rotl32,po=Vs.sum32,L3=Vs.sum32_5,j3=T3.ft_1,cy=O3.BlockHash,B3=[1518500249,1859775393,2400959708,3395469782];function gn(){if(!(this instanceof gn))return new gn;cy.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Vs.inherits(gn,cy);var D3=gn;gn.blockSize=512;gn.outSize=160;gn.hmacStrength=80;gn.padLength=64;gn.prototype._update=function(e,r){for(var n=this.W,i=0;i<16;i++)n[i]=e[r+i];for(;ithis.blockSize&&(e=new this.Hash().update(e).digest()),S_(e.length<=this.blockSize);for(var r=e.length;r{s[a.toLowerCase()]=o}):n.headers.keys().forEach(o=>{s[o.toLowerCase()]=n.headers.get(o)}),{headers:s,statusCode:n.status,statusMessage:n.statusText,body:oe(new Uint8Array(i))}})}var C_=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const Br=new O(N_);function em(t){return new Promise(e=>{setTimeout(e,t)})}function ti(t,e){if(t==null)return null;if(typeof t=="string")return t;if(Ld(t)){if(e&&(e.split("/")[0]==="text"||e.split(";")[0].trim()==="application/json"))try{return Ma(t)}catch{}return re(t)}return t}function I_(t){return gr(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,r)=>String.fromCharCode(parseInt(r,16))))}function R_(t,e,r){const n=typeof t=="object"&&t.throttleLimit!=null?t.throttleLimit:12;Br.assertArgument(n>0&&n%1===0,"invalid connection throttle limit","connection.throttleLimit",n);const i=typeof t=="object"?t.throttleCallback:null,s=typeof t=="object"&&typeof t.throttleSlotInterval=="number"?t.throttleSlotInterval:100;Br.assertArgument(s>0&&s%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",s);const o=typeof t=="object"?!!t.errorPassThrough:!1,a={};let l=null;const u={method:"GET"};let c=!1,h=2*60*1e3;if(typeof t=="string")l=t;else if(typeof t=="object"){if((t==null||t.url==null)&&Br.throwArgumentError("missing URL","connection.url",t),l=t.url,typeof t.timeout=="number"&&t.timeout>0&&(h=t.timeout),t.headers)for(const x in t.headers)a[x.toLowerCase()]={key:x,value:String(t.headers[x])},["if-none-match","if-modified-since"].indexOf(x.toLowerCase())>=0&&(c=!0);if(u.allowGzip=!!t.allowGzip,t.user!=null&&t.password!=null){l.substring(0,6)!=="https:"&&t.allowInsecureAuthentication!==!0&&Br.throwError("basic authentication requires a secure https url",O.errors.INVALID_ARGUMENT,{argument:"url",url:l,user:t.user,password:"[REDACTED]"});const x=t.user+":"+t.password;a.authorization={key:"Authorization",value:"Basic "+U1(gr(x))}}t.skipFetchSetup!=null&&(u.skipFetchSetup=!!t.skipFetchSetup),t.fetchOptions!=null&&(u.fetchOptions=ot(t.fetchOptions))}const m=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),g=l?l.match(m):null;if(g)try{const x={statusCode:200,statusMessage:"OK",headers:{"content-type":g[1]||"text/plain"},body:g[2]?F1(g[3]):I_(g[3])};let w=x.body;return r&&(w=r(x.body,x)),Promise.resolve(w)}catch(x){Br.throwError("processing response error",O.errors.SERVER_ERROR,{body:ti(g[1],g[2]),error:x,requestBody:null,requestMethod:"GET",url:l})}e&&(u.method="POST",u.body=e,a["content-type"]==null&&(a["content-type"]={key:"Content-Type",value:"application/octet-stream"}),a["content-length"]==null&&(a["content-length"]={key:"Content-Length",value:String(e.length)}));const y={};Object.keys(a).forEach(x=>{const w=a[x];y[w.key]=w.value}),u.headers=y;const b=function(){let x=null;return{promise:new Promise(function(T,j){h&&(x=setTimeout(()=>{x!=null&&(x=null,j(Br.makeError("timeout",O.errors.TIMEOUT,{requestBody:ti(u.body,y["content-type"]),requestMethod:u.method,timeout:h,url:l})))},h))}),cancel:function(){x!=null&&(clearTimeout(x),x=null)}}}(),k=function(){return C_(this,void 0,void 0,function*(){for(let x=0;x=300)&&(b.cancel(),Br.throwError("bad response",O.errors.SERVER_ERROR,{status:w.statusCode,headers:w.headers,body:ti(A,w.headers?w.headers["content-type"]:null),requestBody:ti(u.body,y["content-type"]),requestMethod:u.method,url:l})),r)try{const T=yield r(A,w);return b.cancel(),T}catch(T){if(T.throttleRetry&&x{let a=null;if(s!=null)try{a=JSON.parse(Ma(s))}catch(l){Br.throwError("invalid JSON",O.errors.SERVER_ERROR,{body:s,error:l})}return r&&(a=r(a,o)),a},i=null;if(e!=null){i=gr(e);const s=typeof t=="string"?{url:t}:ot(t);s.headers?Object.keys(s.headers).filter(a=>a.toLowerCase()==="content-type").length!==0||(s.headers=ot(s.headers),s.headers["content-type"]="application/json"):s.headers={"content-type":"application/json"},t=s}return R_(t,i,n)}function Es(t,e){return e||(e={}),e=ot(e),e.floor==null&&(e.floor=0),e.ceiling==null&&(e.ceiling=1e4),e.interval==null&&(e.interval=250),new Promise(function(r,n){let i=null,s=!1;const o=()=>s?!1:(s=!0,i&&clearTimeout(i),!0);e.timeout&&(i=setTimeout(()=>{o()&&n(new Error("timeout"))},e.timeout));const a=e.retryLimit;let l=0;function u(){return t().then(function(c){if(c!==void 0)o()&&r(c);else if(e.oncePoll)e.oncePoll.once("poll",u);else if(e.onceBlock)e.onceBlock.once("block",u);else if(!s){if(l++,l>a){o()&&n(new Error("retry limit reached"));return}let h=e.interval*parseInt(String(Math.random()*Math.pow(2,l)));he.ceiling&&(h=e.ceiling),setTimeout(u,h)}return null},function(c){o()&&n(c)})}u()})}var ou="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Eh={};for(var Za=0;Za>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function by(t){for(var e=1,r=0;r126)return"Invalid prefix ("+t+")";e=Os(e)^n>>5}for(e=Os(e),r=0;rr)throw new TypeError("Exceeds length limit");t=t.toLowerCase();var n=by(t);if(typeof n=="string")throw new Error(n);for(var i=t+"1",s=0;s>5)throw new Error("Non 5-bit word");n=Os(n)^o,i+=ou.charAt(o)}for(s=0;s<6;++s)n=Os(n);for(n^=1,s=0;s<6;++s){var a=n>>(5-s)*5&31;i+=ou.charAt(a)}return i}function Ey(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),n=t.toUpperCase();if(t!==r&&t!==n)return"Mixed-case string "+t;t=r;var i=t.lastIndexOf("1");if(i===-1)return"No separator character for "+t;if(i===0)return"Missing prefix for "+t;var s=t.slice(0,i),o=t.slice(i+1);if(o.length<6)return"Data too short";var a=by(s);if(typeof a=="string")return a;for(var l=[],u=0;u=o.length)&&l.push(h)}return a!==1?"Invalid checksum for "+t:{prefix:s,words:l}}function T_(){var t=Ey.apply(null,arguments);if(typeof t=="object")return t}function L_(t){var e=Ey.apply(null,arguments);if(typeof e=="object")return e;throw new Error(e)}function Qu(t,e,r,n){for(var i=0,s=0,o=(1<=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<=e)return"Excess padding";if(i<>8,m=c&255;h?l.push(h,m):l.push(m)}return l}r.toArray=n;function i(o){return o.length===1?"0"+o:o}r.zero2=i;function s(o){for(var a="",l=0;l(m>>1)-1?b=(m>>1)-k:b=k,g.isubn(b)):b=0,h[y]=b,g.iushrn(1)}return h}r.getNAF=n;function i(l,u){var c=[[],[]];l=l.clone(),u=u.clone();for(var h=0,m=0,g;l.cmpn(-h)>0||u.cmpn(-m)>0;){var y=l.andln(3)+h&3,b=u.andln(3)+m&3;y===3&&(y=-1),b===3&&(b=-1);var k;y&1?(g=l.andln(7)+h&7,(g===3||g===5)&&b===2?k=-y:k=y):k=0,c[0].push(k);var x;b&1?(g=u.andln(7)+m&7,(g===3||g===5)&&y===2?x=-b:x=b):x=0,c[1].push(x),2*h===k+1&&(h=1-h),2*m===x+1&&(m=1-m),l.iushrn(1),u.iushrn(1)}return c}r.getJSF=i;function s(l,u,c){var h="_"+u;l.prototype[u]=function(){return this[h]!==void 0?this[h]:this[h]=c.call(this)}}r.cachedProperty=s;function o(l){return typeof l=="string"?r.toArray(l,"hex"):l}r.parseBytes=o;function a(l){return new ue(l,"hex","le")}r.intFromLE=a}),au=wr.getNAF,$_=wr.getJSF,lu=wr.assert;function Mi(t,e){this.type=t,this.p=new ue(e.p,16),this.red=e.prime?ue.red(e.prime):ue.mont(this.p),this.zero=new ue(0).toRed(this.red),this.one=new ue(1).toRed(this.red),this.two=new ue(2).toRed(this.red),this.n=e.n&&new ue(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Zi=Mi;Mi.prototype.point=function(){throw new Error("Not implemented")};Mi.prototype.validate=function(){throw new Error("Not implemented")};Mi.prototype._fixedNafMul=function(e,r){lu(e.precomputed);var n=e._getDoubles(),i=au(r,1,this._bitLength),s=(1<=a;u--)l=(l<<1)+i[u];o.push(l)}for(var c=this.jpoint(null,null,null),h=this.jpoint(null,null,null),m=s;m>0;m--){for(a=0;a=0;l--){for(var u=0;l>=0&&o[l]===0;l--)u++;if(l>=0&&u++,a=a.dblp(u),l<0)break;var c=o[l];lu(c!==0),e.type==="affine"?c>0?a=a.mixedAdd(s[c-1>>1]):a=a.mixedAdd(s[-c-1>>1].neg()):c>0?a=a.add(s[c-1>>1]):a=a.add(s[-c-1>>1].neg())}return e.type==="affine"?a.toP():a};Mi.prototype._wnafMulAdd=function(e,r,n,i,s){var o=this._wnafT1,a=this._wnafT2,l=this._wnafT3,u=0,c,h,m;for(c=0;c=1;c-=2){var y=c-1,b=c;if(o[y]!==1||o[b]!==1){l[y]=au(n[y],o[y],this._bitLength),l[b]=au(n[b],o[b],this._bitLength),u=Math.max(l[y].length,u),u=Math.max(l[b].length,u);continue}var k=[r[y],null,null,r[b]];r[y].y.cmp(r[b].y)===0?(k[1]=r[y].add(r[b]),k[2]=r[y].toJ().mixedAdd(r[b].neg())):r[y].y.cmp(r[b].y.redNeg())===0?(k[1]=r[y].toJ().mixedAdd(r[b]),k[2]=r[y].add(r[b].neg())):(k[1]=r[y].toJ().mixedAdd(r[b]),k[2]=r[y].toJ().mixedAdd(r[b].neg()));var x=[-3,-1,-5,-7,0,7,5,1,3],w=$_(n[y],n[b]);for(u=Math.max(w[0].length,u),l[y]=new Array(u),l[b]=new Array(u),h=0;h=0;c--){for(var $=0;c>=0;){var H=!0;for(h=0;h=0&&$++,j=j.dblp($),c<0)break;for(h=0;h0?m=a[h][J-1>>1]:J<0&&(m=a[h][-J-1>>1].neg()),m.type==="affine"?j=j.mixedAdd(m):j=j.add(m))}}for(c=0;c=Math.ceil((e.bitLength()+1)/r.step):!1};Ir.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],i=this,s=0;s=0&&(g=u,y=c),h.negative&&(h=h.neg(),m=m.neg()),g.negative&&(g=g.neg(),y=y.neg()),[{a:h,b:m},{a:g,b:y}]};Rr.prototype._endoSplit=function(e){var r=this.endo.basis,n=r[0],i=r[1],s=i.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),a=s.mul(n.a),l=o.mul(i.a),u=s.mul(n.b),c=o.mul(i.b),h=e.sub(a).sub(l),m=u.add(c).neg();return{k1:h,k2:m}};Rr.prototype.pointFromX=function(e,r){e=new ue(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(i.redSqr().redSub(n).cmp(this.zero)!==0)throw new Error("invalid point");var s=i.fromRed().isOdd();return(r&&!s||!r&&s)&&(i=i.redNeg()),this.point(e,i)};Rr.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,n=e.y,i=this.a.redMul(r),s=r.redSqr().redMul(r).redIAdd(i).redIAdd(this.b);return n.redSqr().redISub(s).cmpn(0)===0};Rr.prototype._endoWnafMulAdd=function(e,r,n){for(var i=this._endoWnafT1,s=this._endoWnafT2,o=0;o":""};Mt.prototype.isInfinity=function(){return this.inf};Mt.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var n=r.redSqr().redISub(this.x).redISub(e.x),i=r.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,i)};Mt.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,n=this.x.redSqr(),i=e.redInvm(),s=n.redAdd(n).redIAdd(n).redIAdd(r).redMul(i),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)};Mt.prototype.getX=function(){return this.x.fromRed()};Mt.prototype.getY=function(){return this.y.fromRed()};Mt.prototype.mul=function(e){return e=new ue(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};Mt.prototype.mulAdd=function(e,r,n){var i=[this,r],s=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,s):this.curve._wnafMulAdd(1,i,s,2)};Mt.prototype.jmulAdd=function(e,r,n){var i=[this,r],s=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,s,!0):this.curve._wnafMulAdd(1,i,s,2,!0)};Mt.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Mt.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,i=function(s){return s.neg()};r.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(i)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(i)}}}return r};Mt.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function Lt(t,e,r,n){Zi.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ue(0)):(this.x=new ue(e,16),this.y=new ue(r,16),this.z=new ue(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Hd(Lt,Zi.BasePoint);Rr.prototype.jpoint=function(e,r,n){return new Lt(this,e,r,n)};Lt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),n=this.x.redMul(r),i=this.y.redMul(r).redMul(e);return this.curve.point(n,i)};Lt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Lt.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),n=this.z.redSqr(),i=this.x.redMul(r),s=e.x.redMul(n),o=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(n.redMul(this.z)),l=i.redSub(s),u=o.redSub(a);if(l.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var c=l.redSqr(),h=c.redMul(l),m=i.redMul(c),g=u.redSqr().redIAdd(h).redISub(m).redISub(m),y=u.redMul(m.redISub(g)).redISub(o.redMul(h)),b=this.z.redMul(e.z).redMul(l);return this.curve.jpoint(g,y,b)};Lt.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),n=this.x,i=e.x.redMul(r),s=this.y,o=e.y.redMul(r).redMul(this.z),a=n.redSub(i),l=s.redSub(o);if(a.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),h=n.redMul(u),m=l.redSqr().redIAdd(c).redISub(h).redISub(h),g=l.redMul(h.redISub(m)).redISub(s.redMul(c)),y=this.z.redMul(a);return this.curve.jpoint(m,g,y)};Lt.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var n=this;for(r=0;r=0)return!1;if(n.redIAdd(s),this.x.cmp(n)===0)return!0}};Lt.prototype.inspect=function(){return this.isInfinity()?"":""};Lt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Sl=no(function(t,e){var r=e;r.base=Zi,r.short=V_,r.mont=null,r.edwards=null}),kl=no(function(t,e){var r=e,n=wr.assert;function i(a){a.type==="short"?this.curve=new Sl.short(a):a.type==="edwards"?this.curve=new Sl.edwards(a):this.curve=new Sl.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=i;function s(a,l){Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get:function(){var u=new i(l);return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,value:u}),u}})}s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:tn.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:tn.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:tn.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:tn.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:tn.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:tn.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:tn.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:tn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function Ai(t){if(!(this instanceof Ai))return new Ai(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Vr.toArray(t.entropy,t.entropyEnc||"hex"),r=Vr.toArray(t.nonce,t.nonceEnc||"hex"),n=Vr.toArray(t.pers,t.persEnc||"hex");$d(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var _y=Ai;Ai.prototype._init=function(e,r,n){var i=e.concat(r).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1};Ai.prototype.generate=function(e,r,n,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(i=n,n=r,r=null),n&&(n=Vr.toArray(n,i||"hex"),this._update(n));for(var s=[];s.length"};var q_=wr.assert;function Ju(t,e){if(t instanceof Ju)return t;this._importDER(t,e)||(q_(t.r&&t.s,"Signature without r or s"),this.r=new ue(t.r,16),this.s=new ue(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Yu=Ju;function G_(){this.place=0}function tf(t,e){var r=t[e.place++];if(!(r&128))return r;var n=r&15;if(n===0||n>4)return!1;for(var i=0,s=0,o=e.place;s>>=0;return i<=127?!1:(e.place=o,i)}function rm(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Ju.prototype.toDER=function(e){var r=this.r.toArray(),n=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),n[0]&128&&(n=[0].concat(n)),r=rm(r),n=rm(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var i=[2];rf(i,r.length),i=i.concat(r),i.push(2),rf(i,n.length);var s=i.concat(n),o=[48];return rf(o,s.length),o=o.concat(s),wr.encode(o,e)};var W_=function(){throw new Error("unsupported")},Sy=wr.assert;function Cr(t){if(!(this instanceof Cr))return new Cr(t);typeof t=="string"&&(Sy(Object.prototype.hasOwnProperty.call(kl,t),"Unknown curve "+t),t=kl[t]),t instanceof kl.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var K_=Cr;Cr.prototype.keyPair=function(e){return new Vd(this,e)};Cr.prototype.keyFromPrivate=function(e,r){return Vd.fromPrivate(this,e,r)};Cr.prototype.keyFromPublic=function(e,r){return Vd.fromPublic(this,e,r)};Cr.prototype.genKeyPair=function(e){e||(e={});for(var r=new _y({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||W_(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new ue(2));;){var s=new ue(r.generate(n));if(!(s.cmp(i)>0))return s.iaddn(1),this.keyFromPrivate(s)}};Cr.prototype._truncateToN=function(e,r){var n=e.byteLength()*8-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e};Cr.prototype.sign=function(e,r,n,i){typeof n=="object"&&(i=n,n=null),i||(i={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new ue(e,16));for(var s=this.n.byteLength(),o=r.getPrivate().toArray("be",s),a=e.toArray("be",s),l=new _y({hash:this.hash,entropy:o,nonce:a,pers:i.pers,persEnc:i.persEnc||"utf8"}),u=this.n.sub(new ue(1)),c=0;;c++){var h=i.k?i.k(c):new ue(l.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(u)>=0)){var m=this.g.mul(h);if(!m.isInfinity()){var g=m.getX(),y=g.umod(this.n);if(y.cmpn(0)!==0){var b=h.invm(this.n).mul(y.mul(r.getPrivate()).iadd(e));if(b=b.umod(this.n),b.cmpn(0)!==0){var k=(m.getY().isOdd()?1:0)|(g.cmp(y)!==0?2:0);return i.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),k^=1),new Yu({r:y,s:b,recoveryParam:k})}}}}}};Cr.prototype.verify=function(e,r,n,i){e=this._truncateToN(new ue(e,16)),n=this.keyFromPublic(n,i),r=new Yu(r,"hex");var s=r.r,o=r.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a=o.invm(this.n),l=a.mul(e).umod(this.n),u=a.mul(s).umod(this.n),c;return this.curve._maxwellTrick?(c=this.g.jmulAdd(l,n.getPublic(),u),c.isInfinity()?!1:c.eqXToP(s)):(c=this.g.mulAdd(l,n.getPublic(),u),c.isInfinity()?!1:c.getX().umod(this.n).cmp(s)===0)};Cr.prototype.recoverPubKey=function(t,e,r,n){Sy((3&r)===r,"The recovery param is more than two bits"),e=new Yu(e,n);var i=this.n,s=new ue(t),o=e.r,a=e.s,l=r&1,u=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?o=this.curve.pointFromX(o.add(this.curve.n),l):o=this.curve.pointFromX(o,l);var c=e.r.invm(i),h=i.sub(s).mul(c).umod(i),m=a.mul(c).umod(i);return this.g.mulAdd(h,o,m)};Cr.prototype.getKeyRecoveryParam=function(t,e,r,n){if(e=new Yu(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(t,e,i)}catch{continue}if(s.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var Q_=no(function(t,e){var r=e;r.version="6.5.4",r.utils=wr,r.rand=function(){throw new Error("unsupported")},r.curve=Sl,r.curves=kl,r.ec=K_,r.eddsa=null}),J_=Q_.ec;const Y_="signing-key/5.7.0",_h=new O(Y_);let nf=null;function nn(){return nf||(nf=new J_("secp256k1")),nf}class X_{constructor(e){z(this,"curve","secp256k1"),z(this,"privateKey",re(e)),Un(this.privateKey)!==32&&_h.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const r=nn().keyFromPrivate(oe(this.privateKey));z(this,"publicKey","0x"+r.getPublic(!1,"hex")),z(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),z(this,"_isSigningKey",!0)}_addPoint(e){const r=nn().keyFromPublic(oe(this.publicKey)),n=nn().keyFromPublic(oe(e));return"0x"+r.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const r=nn().keyFromPrivate(oe(this.privateKey)),n=oe(e);n.length!==32&&_h.throwArgumentError("bad digest length","digest",e);const i=r.sign(n,{canonical:!0});return Hu({recoveryParam:i.recoveryParam,r:mt("0x"+i.r.toString(16),32),s:mt("0x"+i.s.toString(16),32)})}computeSharedSecret(e){const r=nn().keyFromPrivate(oe(this.privateKey)),n=nn().keyFromPublic(oe(ky(e)));return mt("0x"+r.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function Z_(t,e){const r=Hu(e),n={r:oe(r.r),s:oe(r.s)};return"0x"+nn().recoverPubKey(oe(t),n,r.recoveryParam).encode("hex",!1)}function ky(t,e){const r=oe(t);if(r.length===32){const n=new X_(r);return e?"0x"+nn().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}else{if(r.length===33)return e?re(r):"0x"+nn().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+nn().keyFromPublic(r).getPublic(!0,"hex"):re(r)}return _h.throwArgumentError("invalid public or private key","key","[REDACTED]")}const eS="transactions/5.7.0",Vn=new O(eS);var nm;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(nm||(nm={}));function qd(t){return t==="0x"?null:gt(t)}function Ft(t){return t==="0x"?$1:G.from(t)}function tS(t){const e=ky(t);return gt(Rt(st(Rt(e,1)),12))}function Ny(t,e){return tS(Z_(oe(t),e))}function fr(t,e){const r=$s(G.from(t).toHexString());return r.length>32&&Vn.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function sf(t,e){return{address:gt(t),storageKeys:(e||[]).map((r,n)=>(Un(r)!==32&&Vn.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,r),r.toLowerCase()))}}function es(t){if(Array.isArray(t))return t.map((r,n)=>Array.isArray(r)?(r.length>2&&Vn.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${n}]`,r),sf(r[0],r[1])):sf(r.address,r.storageKeys));const e=Object.keys(t).map(r=>{const n=t[r].reduce((i,s)=>(i[s]=!0,i),{});return sf(r,Object.keys(n).sort())});return e.sort((r,n)=>r.address.localeCompare(n.address)),e}function My(t){return es(t).map(e=>[e.address,e.storageKeys])}function rS(t,e){if(t.gasPrice!=null){const n=G.from(t.gasPrice),i=G.from(t.maxFeePerGas||0);n.eq(i)||Vn.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:n,maxFeePerGas:i})}const r=[fr(t.chainId||0,"chainId"),fr(t.nonce||0,"nonce"),fr(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),fr(t.maxFeePerGas||0,"maxFeePerGas"),fr(t.gasLimit||0,"gasLimit"),t.to!=null?gt(t.to):"0x",fr(t.value||0,"value"),t.data||"0x",My(t.accessList||[])];if(e){const n=Hu(e);r.push(fr(n.recoveryParam,"recoveryParam")),r.push($s(n.r)),r.push($s(n.s))}return er(["0x02",Vu(r)])}function nS(t,e){const r=[fr(t.chainId||0,"chainId"),fr(t.nonce||0,"nonce"),fr(t.gasPrice||0,"gasPrice"),fr(t.gasLimit||0,"gasLimit"),t.to!=null?gt(t.to):"0x",fr(t.value||0,"value"),t.data||"0x",My(t.accessList||[])];if(e){const n=Hu(e);r.push(fr(n.recoveryParam,"recoveryParam")),r.push($s(n.r)),r.push($s(n.s))}return er(["0x01",Vu(r)])}function Py(t,e,r){try{const n=Ft(e[0]).toNumber();if(n!==0&&n!==1)throw new Error("bad recid");t.v=n}catch{Vn.throwArgumentError("invalid v for transaction type: 1","v",e[0])}t.r=mt(e[1],32),t.s=mt(e[2],32);try{const n=st(r(t));t.from=Ny(n,{r:t.r,s:t.s,recoveryParam:t.v})}catch{}}function iS(t){const e=Bd(t.slice(1));e.length!==9&&e.length!==12&&Vn.throwArgumentError("invalid component count for transaction type: 2","payload",re(t));const r=Ft(e[2]),n=Ft(e[3]),i={type:2,chainId:Ft(e[0]).toNumber(),nonce:Ft(e[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:Ft(e[4]),to:qd(e[5]),value:Ft(e[6]),data:e[7],accessList:es(e[8])};return e.length===9||(i.hash=st(t),Py(i,e.slice(9),rS)),i}function sS(t){const e=Bd(t.slice(1));e.length!==8&&e.length!==11&&Vn.throwArgumentError("invalid component count for transaction type: 1","payload",re(t));const r={type:1,chainId:Ft(e[0]).toNumber(),nonce:Ft(e[1]).toNumber(),gasPrice:Ft(e[2]),gasLimit:Ft(e[3]),to:qd(e[4]),value:Ft(e[5]),data:e[6],accessList:es(e[7])};return e.length===8||(r.hash=st(t),Py(r,e.slice(8),nS)),r}function oS(t){const e=Bd(t);e.length!==9&&e.length!==6&&Vn.throwArgumentError("invalid raw transaction","rawTransaction",t);const r={nonce:Ft(e[0]).toNumber(),gasPrice:Ft(e[1]),gasLimit:Ft(e[2]),to:qd(e[3]),value:Ft(e[4]),data:e[5],chainId:0};if(e.length===6)return r;try{r.v=G.from(e[6]).toNumber()}catch{return r}if(r.r=mt(e[7],32),r.s=mt(e[8],32),G.from(r.r).isZero()&&G.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=e.slice(0,6);r.chainId!==0&&(i.push(re(r.chainId)),i.push("0x"),i.push("0x"),n-=r.chainId*2+8);const s=st(Vu(i));try{r.from=Ny(s,{r:re(r.r),s:re(r.s),recoveryParam:n})}catch{}r.hash=st(t)}return r.type=null,r}function aS(t){const e=oe(t);if(e[0]>127)return oS(e);switch(e[0]){case 1:return sS(e);case 2:return iS(e)}return Vn.throwError(`unsupported transaction type: ${e[0]}`,O.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}const go=new O(Ht);class ee{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},r=this.address.bind(this),n=this.bigNumber.bind(this),i=this.blockTag.bind(this),s=this.data.bind(this),o=this.hash.bind(this),a=this.hex.bind(this),l=this.number.bind(this),u=this.type.bind(this),c=h=>this.data(h,!0);return e.transaction={hash:o,type:u,accessList:ee.allowNull(this.accessList.bind(this),null),blockHash:ee.allowNull(o,null),blockNumber:ee.allowNull(l,null),transactionIndex:ee.allowNull(l,null),confirmations:ee.allowNull(l,null),from:r,gasPrice:ee.allowNull(n),maxPriorityFeePerGas:ee.allowNull(n),maxFeePerGas:ee.allowNull(n),gasLimit:n,to:ee.allowNull(r,null),value:n,nonce:l,data:s,r:ee.allowNull(this.uint256),s:ee.allowNull(this.uint256),v:ee.allowNull(l),creates:ee.allowNull(r,null),raw:ee.allowNull(s)},e.transactionRequest={from:ee.allowNull(r),nonce:ee.allowNull(l),gasLimit:ee.allowNull(n),gasPrice:ee.allowNull(n),maxPriorityFeePerGas:ee.allowNull(n),maxFeePerGas:ee.allowNull(n),to:ee.allowNull(r),value:ee.allowNull(n),data:ee.allowNull(c),type:ee.allowNull(l),accessList:ee.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:o,address:r,topics:ee.arrayOf(o),data:s,logIndex:l,blockHash:o},e.receipt={to:ee.allowNull(this.address,null),from:ee.allowNull(this.address,null),contractAddress:ee.allowNull(r,null),transactionIndex:l,root:ee.allowNull(a),gasUsed:n,logsBloom:ee.allowNull(s),blockHash:o,transactionHash:o,logs:ee.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:ee.allowNull(l,null),cumulativeGasUsed:n,effectiveGasPrice:ee.allowNull(n),status:ee.allowNull(l),type:u},e.block={hash:ee.allowNull(o),parentHash:o,number:l,timestamp:l,nonce:ee.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:ee.allowNull(r),extraData:s,transactions:ee.allowNull(ee.arrayOf(o)),baseFeePerGas:ee.allowNull(n)},e.blockWithTransactions=ot(e.block),e.blockWithTransactions.transactions=ee.allowNull(ee.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:ee.allowNull(i,void 0),toBlock:ee.allowNull(i,void 0),blockHash:ee.allowNull(o,void 0),address:ee.allowNull(r,void 0),topics:ee.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:ee.allowNull(l),blockHash:ee.allowNull(o),transactionIndex:l,removed:ee.allowNull(this.boolean.bind(this)),address:r,data:ee.allowFalsish(s,"0x"),topics:ee.arrayOf(o),transactionHash:o,logIndex:l},e}accessList(e){return es(e||[])}number(e){return e==="0x"?0:G.from(e).toNumber()}type(e){return e==="0x"||e==null?0:G.from(e).toNumber()}bigNumber(e){return G.from(e)}boolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){if(e=e.toLowerCase(),e==="true")return!0;if(e==="false")return!1}throw new Error("invalid boolean - "+e)}hex(e,r){return typeof e=="string"&&(!r&&e.substring(0,2)!=="0x"&&(e="0x"+e),pe(e))?e.toLowerCase():go.throwArgumentError("invalid hash","value",e)}data(e,r){const n=this.hex(e,r);if(n.length%2!==0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return gt(e)}callAddress(e){if(!pe(e,32))return null;const r=gt(Rt(e,12));return r===hA?null:r}contractAddress(e){return Fd(e)}blockTag(e){if(e==null)return"latest";if(e==="earliest")return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if(typeof e=="number"||pe(e))return $u(e);throw new Error("invalid blockTag")}hash(e,r){const n=this.hex(e,r);return Un(n)!==32?go.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(e==null)return null;const r=G.from(e);try{return r.toNumber()}catch{}return null}uint256(e){if(!pe(e))throw new Error("invalid uint256");return mt(e,32)}_block(e,r){e.author!=null&&e.miner==null&&(e.miner=e.author);const n=e._difficulty!=null?e._difficulty:e.difficulty,i=ee.check(r,e);return i._difficulty=n==null?null:G.from(n),i}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return ee.check(this.formats.transactionRequest,e)}transactionResponse(e){e.gas!=null&&e.gasLimit==null&&(e.gasLimit=e.gas),e.to&&G.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),e.input!=null&&e.data==null&&(e.data=e.input),e.to==null&&e.creates==null&&(e.creates=this.contractAddress(e)),(e.type===1||e.type===2)&&e.accessList==null&&(e.accessList=[]);const r=ee.check(this.formats.transaction,e);if(e.chainId!=null){let n=e.chainId;pe(n)&&(n=G.from(n).toNumber()),r.chainId=n}else{let n=e.networkId;n==null&&r.v==null&&(n=e.chainId),pe(n)&&(n=G.from(n).toNumber()),typeof n!="number"&&r.v!=null&&(n=(r.v-35)/2,n<0&&(n=0),n=parseInt(n)),typeof n!="number"&&(n=0),r.chainId=n}return r.blockHash&&r.blockHash.replace(/0/g,"")==="x"&&(r.blockHash=null),r}transaction(e){return aS(e)}receiptLog(e){return ee.check(this.formats.receiptLog,e)}receipt(e){const r=ee.check(this.formats.receipt,e);if(r.root!=null)if(r.root.length<=4){const n=G.from(r.root).toNumber();n===0||n===1?(r.status!=null&&r.status!==n&&go.throwArgumentError("alt-root-status/status mismatch","value",{root:r.root,status:r.status}),r.status=n,delete r.root):go.throwArgumentError("invalid alt-root-status","value.root",r.root)}else r.root.length!==66&&go.throwArgumentError("invalid root hash","value.root",r.root);return r.status!=null&&(r.byzantium=!0),r}topics(e){return Array.isArray(e)?e.map(r=>this.topics(r)):e!=null?this.hash(e,!0):null}filter(e){return ee.check(this.formats.filter,e)}filterLog(e){return ee.check(this.formats.filterLog,e)}static check(e,r){const n={};for(const i in e)try{const s=e[i](r[i]);s!==void 0&&(n[i]=s)}catch(s){throw s.checkKey=i,s.checkValue=r[i],s}return n}static allowNull(e,r){return function(n){return n==null?r:e(n)}}static allowFalsish(e,r){return function(n){return n?e(n):r}}static arrayOf(e){return function(r){if(!Array.isArray(r))throw new Error("not an array");const n=[];return r.forEach(function(i){n.push(e(i))}),n}}}function Cy(t){return t&&typeof t.isCommunityResource=="function"}function Sh(t){return Cy(t)&&t.isCommunityResource()}let im=!1;function Ia(){im||(im=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var le=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const de=new O(Ht),lS=10;function sm(t){return t==null?"null":(Un(t)!==32&&de.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function om(t){for(t=t.slice();t.length>0&&t[t.length-1]==null;)t.pop();return t.map(e=>{if(Array.isArray(e)){const r={};e.forEach(i=>{r[sm(i)]=!0});const n=Object.keys(r);return n.sort(),n.join("|")}else return sm(e)}).join("&")}function uS(t){return t===""?[]:t.split(/&/g).map(e=>{if(e==="")return[];const r=e.split("|").map(n=>n==="null"?null:n);return r.length===1?r[0]:r})}function rs(t){if(typeof t=="string"){if(t=t.toLowerCase(),Un(t)===32)return"tx:"+t;if(t.indexOf(":")===-1)return t}else{if(Array.isArray(t))return"filter:*:"+om(t);if(uA.isForkEvent(t))throw de.warn("not implemented"),new Error("not implemented");if(t&&typeof t=="object")return"filter:"+(t.address||"*")+":"+om(t.topics||[])}throw new Error("invalid event - "+t)}function vo(){return new Date().getTime()}function am(t){return new Promise(e=>{setTimeout(e,t)})}const cS=["block","network","pending","poll"];class fS{constructor(e,r,n){z(this,"tag",e),z(this,"listener",r),z(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return e[0]!=="tx"?null:e[1]}get filter(){const e=this.tag.split(":");if(e[0]!=="filter")return null;const r=e[1],n=uS(e[2]),i={};return n.length>0&&(i.topics=n),r&&r!=="*"&&(i.address=r),i}pollable(){return this.tag.indexOf(":")>=0||cS.indexOf(this.tag)>=0}}const hS={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function of(t){return mt(G.from(t).toHexString(),32)}function lm(t){return yh.encode(Ut([t,Rt(Zp(Zp(t)),0,4)]))}const Iy=new RegExp("^(ipfs)://(.*)$","i"),um=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Iy,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function Nl(t,e){try{return Ma(fa(t,e))}catch{}return null}function fa(t,e){if(t==="0x")return null;const r=G.from(Rt(t,e,e+32)).toNumber(),n=G.from(Rt(t,r,r+32)).toNumber();return Rt(t,r+32,r+32+n)}function af(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):de.throwArgumentError("unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}function cm(t){const e=oe(t);if(e.length>32)throw new Error("internal; should not happen");const r=new Uint8Array(32);return r.set(e,32-e.length),r}function dS(t){if(t.length%32===0)return t;const e=new Uint8Array(Math.ceil(t.length/32)*32);return e.set(t),e}function Ry(t){const e=[];let r=0;for(let n=0;nG.from(e).eq(1)).catch(e=>{if(e.code===O.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,r){return le(this,void 0,void 0,function*(){const n={to:this.address,ccipReadEnabled:!0,data:er([e,_l(this.name),r||"0x"])};let i=!1;(yield this.supportsWildcard())&&(i=!0,n.data=er(["0x9061b923",Ry([GA(this.name),n.data])]));try{let s=yield this.provider.call(n);return oe(s).length%32===4&&de.throwError("resolver threw error",O.errors.CALL_EXCEPTION,{transaction:n,data:s}),i&&(s=fa(s,0)),s}catch(s){if(s.code===O.errors.CALL_EXCEPTION)return null;throw s}})}_fetchBytes(e,r){return le(this,void 0,void 0,function*(){const n=yield this._fetch(e,r);return n!=null?fa(n,0):null})}_getAddress(e,r){const n=hS[String(e)];if(n==null&&de.throwError(`unsupported coin type: ${e}`,O.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),n.ilk==="eth")return this.provider.formatter.address(r);const i=oe(r);if(n.p2pkh!=null){const s=r.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(s){const o=parseInt(s[1],16);if(s[2].length===o*2&&o>=1&&o<=75)return lm(Ut([[n.p2pkh],"0x"+s[2]]))}}if(n.p2sh!=null){const s=r.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(s){const o=parseInt(s[1],16);if(s[2].length===o*2&&o>=1&&o<=75)return lm(Ut([[n.p2sh],"0x"+s[2]]))}}if(n.prefix!=null){const s=i[1];let o=i[0];if(o===0?s!==20&&s!==32&&(o=-1):o=-1,o>=0&&i.length===2+s&&s>=1&&s<=75){const a=tm.toWords(i.slice(2));return a.unshift(o),tm.encode(n.prefix,a)}}return null}getAddress(e){return le(this,void 0,void 0,function*(){if(e==null&&(e=60),e===60)try{const i=yield this._fetch("0x3b3b57de");return i==="0x"||i===gA?null:this.provider.formatter.callAddress(i)}catch(i){if(i.code===O.errors.CALL_EXCEPTION)return null;throw i}const r=yield this._fetchBytes("0xf1cb7e06",of(e));if(r==null||r==="0x")return null;const n=this._getAddress(e,r);return n==null&&de.throwError("invalid or unsupported coin data",O.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:r}),n})}getAvatar(){return le(this,void 0,void 0,function*(){const e=[{type:"name",content:this.name}];try{const r=yield this.getText("avatar");if(r==null)return null;for(let n=0;no[l])}return de.throwError("invalid or unsupported content hash data",O.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})})}getText(e){return le(this,void 0,void 0,function*(){let r=gr(e);r=Ut([of(64),of(r.length),r]),r.length%32!==0&&(r=Ut([r,mt("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",re(r));return n==null||n==="0x"?null:Ma(n)})}}let lf=null,pS=1;class Xu extends Zs{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),z(this,"anyNetwork",e==="any"),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(r=>{}),this._ready().catch(r=>{});else{const r=dr(new.target,"getNetwork")(e);r?(z(this,"_network",r),this.emit("network",r,null)):de.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return le(this,void 0,void 0,function*(){if(this._network==null){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch{}e==null&&(e=yield this.detectNetwork()),e||de.throwError("no network detected",O.errors.UNKNOWN_ERROR,{}),this._network==null&&(this.anyNetwork?this._network=e:z(this,"_network",e),this.emit("network",e,null))}return this._network})}get ready(){return Es(()=>this._ready().then(e=>e,e=>{if(!(e.code===O.errors.NETWORK_ERROR&&e.event==="noNetwork"))throw e}))}static getFormatter(){return lf==null&&(lf=new ee),lf}static getNetwork(e){return zd(e??"homestead")}ccipReadFetch(e,r,n){return le(this,void 0,void 0,function*(){if(this.disableCcipRead||n.length===0)return null;const i=e.to.toLowerCase(),s=r.toLowerCase(),o=[];for(let a=0;a=0?null:JSON.stringify({data:s,sender:i}),h=yield Ca({url:u,errorPassThrough:!0},c,(g,y)=>(g.status=y.statusCode,g));if(h.data)return h.data;const m=h.message||"unknown error";if(h.status>=400&&h.status<500)return de.throwError(`response not found during CCIP fetch: ${m}`,O.errors.SERVER_ERROR,{url:l,errorMessage:m});o.push(m)}return de.throwError(`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,O.errors.SERVER_ERROR,{urls:n,errorMessages:o})})}_getInternalBlockNumber(e){return le(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const i=this._internalBlockNumber;try{const s=yield i;if(vo()-s.respTime<=e)return s.blockNumber;break}catch{if(this._internalBlockNumber===i)break}}const r=vo(),n=wt({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(i=>null,i=>i)}).then(({blockNumber:i,networkError:s})=>{if(s)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),s;const o=vo();return i=G.from(i).toNumber(),i{this._internalBlockNumber===n&&(this._internalBlockNumber=null)}),(yield n).blockNumber})}poll(){return le(this,void 0,void 0,function*(){const e=pS++,r=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(i){this.emit("error",i);return}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n===this._lastBlockNumber){this.emit("didPoll",e);return}if(this._emitted.block===-2&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)de.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",de.makeError("network block skew detected",O.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let i=this._emitted.block+1;i<=n;i++)this.emit("block",i);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach(i=>{if(i==="block")return;const s=this._emitted[i];s!=="pending"&&n-s>12&&delete this._emitted[i]})),this._lastBlockNumber===-2&&(this._lastBlockNumber=n-1),this._events.forEach(i=>{switch(i.type){case"tx":{const s=i.hash;let o=this.getTransactionReceipt(s).then(a=>(!a||a.blockNumber==null||(this._emitted["t:"+s]=a.blockNumber,this.emit(s,a)),null)).catch(a=>{this.emit("error",a)});r.push(o);break}case"filter":{if(!i._inflight){i._inflight=!0,i._lastBlockNumber===-2&&(i._lastBlockNumber=n-1);const s=i.filter;s.fromBlock=i._lastBlockNumber+1,s.toBlock=n;const o=s.toBlock-this._maxFilterBlockRange;o>s.fromBlock&&(s.fromBlock=o),s.fromBlock<0&&(s.fromBlock=0);const a=this.getLogs(s).then(l=>{i._inflight=!1,l.length!==0&&l.forEach(u=>{u.blockNumber>i._lastBlockNumber&&(i._lastBlockNumber=u.blockNumber),this._emitted["b:"+u.blockHash]=u.blockNumber,this._emitted["t:"+u.transactionHash]=u.blockNumber,this.emit(s,u)})}).catch(l=>{this.emit("error",l),i._inflight=!1});r.push(a)}break}}}),this._lastBlockNumber=n,Promise.all(r).then(()=>{this.emit("didPoll",e)}).catch(i=>{this.emit("error",i)})})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return le(this,void 0,void 0,function*(){return de.throwError("provider does not support network detection",O.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return le(this,void 0,void 0,function*(){const e=yield this._ready(),r=yield this.detectNetwork();if(e.chainId!==r.chainId){if(this.anyNetwork)return this._network=r,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",r,e),yield am(0),this._network;const n=de.makeError("underlying network changed",O.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:r});throw this.emit("error",n),n}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),this._fastBlockNumber!=null?this._fastBlockNumber:-1}get polling(){return this._poller!=null}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if(typeof e!="number"||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=vo();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(r=>((this._fastBlockNumber==null||r>this._fastBlockNumber)&&(this._fastBlockNumber=r),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){this._fastBlockNumber!=null&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,r,n){return le(this,void 0,void 0,function*(){return this._waitForTransaction(e,r??1,n||0,null)})}_waitForTransaction(e,r,n,i){return le(this,void 0,void 0,function*(){const s=yield this.getTransactionReceipt(e);return(s?s.confirmations:0)>=r?s:new Promise((o,a)=>{const l=[];let u=!1;const c=function(){return u?!0:(u=!0,l.forEach(m=>{m()}),!1)},h=m=>{m.confirmations{this.removeListener(e,h)}),i){let m=i.startBlock,g=null;const y=b=>le(this,void 0,void 0,function*(){u||(yield am(1e3),this.getTransactionCount(i.from).then(k=>le(this,void 0,void 0,function*(){if(!u){if(k<=i.nonce)m=b;else{{const x=yield this.getTransaction(e);if(x&&x.blockNumber!=null)return}for(g==null&&(g=m-3,g{u||this.once("block",y)}))});if(u)return;this.once("block",y),l.push(()=>{this.removeListener("block",y)})}if(typeof n=="number"&&n>0){const m=setTimeout(()=>{c()||a(de.makeError("timeout exceeded",O.errors.TIMEOUT,{timeout:n}))},n);m.unref&&m.unref(),l.push(()=>{clearTimeout(m)})}})})}getBlockNumber(){return le(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return le(this,void 0,void 0,function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return G.from(e)}catch(r){return de.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:r})}})}getBalance(e,r){return le(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield wt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getBalance",n);try{return G.from(i)}catch(s){return de.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getBalance",params:n,result:i,error:s})}})}getTransactionCount(e,r){return le(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield wt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getTransactionCount",n);try{return G.from(i).toNumber()}catch(s){return de.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:i,error:s})}})}getCode(e,r){return le(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield wt({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),i=yield this.perform("getCode",n);try{return re(i)}catch(s){return de.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getCode",params:n,result:i,error:s})}})}getStorageAt(e,r,n){return le(this,void 0,void 0,function*(){yield this.getNetwork();const i=yield wt({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(r).then(o=>$u(o))}),s=yield this.perform("getStorageAt",i);try{return re(s)}catch(o){return de.throwError("bad result from backend",O.errors.SERVER_ERROR,{method:"getStorageAt",params:i,result:s,error:o})}})}_wrapTransaction(e,r,n){if(r!=null&&Un(r)!==32)throw new Error("invalid response - sendTransaction");const i=e;return r!=null&&e.hash!==r&&de.throwError("Transaction hash mismatch from Provider.sendTransaction.",O.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:r}),i.wait=(s,o)=>le(this,void 0,void 0,function*(){s==null&&(s=1),o==null&&(o=0);let a;s!==0&&n!=null&&(a={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const l=yield this._waitForTransaction(e.hash,s,o,a);return l==null&&s===0?null:(this._emitted["t:"+e.hash]=l.blockNumber,l.status===0&&de.throwError("transaction failed",O.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:l}),l)}),i}sendTransaction(e){return le(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield Promise.resolve(e).then(s=>re(s)),n=this.formatter.transaction(e);n.confirmations==null&&(n.confirmations=0);const i=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const s=yield this.perform("sendTransaction",{signedTransaction:r});return this._wrapTransaction(n,s,i)}catch(s){throw s.transaction=n,s.transactionHash=n.hash,s}})}_getTransactionRequest(e){return le(this,void 0,void 0,function*(){const r=yield e,n={};return["from","to"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(s=>s?this._getAddress(s):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(s=>s?G.from(s):null))}),["type"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(s=>s??null))}),r.accessList&&(n.accessList=this.formatter.accessList(r.accessList)),["data"].forEach(i=>{r[i]!=null&&(n[i]=Promise.resolve(r[i]).then(s=>s?re(s):null))}),this.formatter.transactionRequest(yield wt(n))})}_getFilter(e){return le(this,void 0,void 0,function*(){e=yield e;const r={};return e.address!=null&&(r.address=this._getAddress(e.address)),["blockHash","topics"].forEach(n=>{e[n]!=null&&(r[n]=e[n])}),["fromBlock","toBlock"].forEach(n=>{e[n]!=null&&(r[n]=this._getBlockTag(e[n]))}),this.formatter.filter(yield wt(r))})}_call(e,r,n){return le(this,void 0,void 0,function*(){n>=lS&&de.throwError("CCIP read exceeded maximum redirections",O.errors.SERVER_ERROR,{redirects:n,transaction:e});const i=e.to,s=yield this.perform("call",{transaction:e,blockTag:r});if(n>=0&&r==="latest"&&i!=null&&s.substring(0,10)==="0x556f1830"&&Un(s)%32===4)try{const o=Rt(s,4),a=Rt(o,0,32);G.from(a).eq(i)||de.throwError("CCIP Read sender did not match",O.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:s});const l=[],u=G.from(Rt(o,32,64)).toNumber(),c=G.from(Rt(o,u,u+32)).toNumber(),h=Rt(o,u+32);for(let x=0;xle(this,void 0,void 0,function*(){const s=yield this.perform("getBlock",i);if(s==null)return i.blockHash!=null&&this._emitted["b:"+i.blockHash]==null||i.blockTag!=null&&n>this._emitted.block?null:void 0;if(r){let o=null;for(let l=0;lthis._wrapTransaction(l)),a}return this.formatter.block(s)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return le(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return Es(()=>le(this,void 0,void 0,function*(){const n=yield this.perform("getTransaction",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;const i=this.formatter.transactionResponse(n);if(i.blockNumber==null)i.confirmations=0;else if(i.confirmations==null){let o=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-i.blockNumber+1;o<=0&&(o=1),i.confirmations=o}return this._wrapTransaction(i)}),{oncePoll:this})})}getTransactionReceipt(e){return le(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return Es(()=>le(this,void 0,void 0,function*(){const n=yield this.perform("getTransactionReceipt",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;if(n.blockHash==null)return;const i=this.formatter.receipt(n);if(i.blockNumber==null)i.confirmations=0;else if(i.confirmations==null){let o=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-i.blockNumber+1;o<=0&&(o=1),i.confirmations=o}return i}),{oncePoll:this})})}getLogs(e){return le(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield wt({filter:this._getFilter(e)}),n=yield this.perform("getLogs",r);return n.forEach(i=>{i.removed==null&&(i.removed=!1)}),ee.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)})}getEtherPrice(){return le(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(e){return le(this,void 0,void 0,function*(){if(e=yield e,typeof e=="number"&&e<0){e%1&&de.throwArgumentError("invalid BlockTag","blockTag",e);let r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return r+=e,r<0&&(r=0),this.formatter.blockTag(r)}return this.formatter.blockTag(e)})}getResolver(e){return le(this,void 0,void 0,function*(){let r=e;for(;;){if(r===""||r==="."||e!=="eth"&&r==="eth")return null;const n=yield this._getResolver(r,"getResolver");if(n!=null){const i=new kh(this,n,e);return r!==e&&!(yield i.supportsWildcard())?null:i}r=r.split(".").slice(1).join(".")}})}_getResolver(e,r){return le(this,void 0,void 0,function*(){r==null&&(r="ENS");const n=yield this.getNetwork();n.ensAddress||de.throwError("network does not support ENS",O.errors.UNSUPPORTED_OPERATION,{operation:r,network:n.name});try{const i=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+_l(e).substring(2)});return this.formatter.callAddress(i)}catch{}return null})}resolveName(e){return le(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(n){if(pe(e))throw n}typeof e!="string"&&de.throwArgumentError("invalid ENS name","name",e);const r=yield this.getResolver(e);return r?yield r.getAddress():null})}lookupAddress(e){return le(this,void 0,void 0,function*(){e=yield e,e=this.formatter.address(e);const r=e.substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(r,"lookupAddress");if(n==null)return null;const i=Nl(yield this.call({to:n,data:"0x691f3431"+_l(r).substring(2)}),0);return(yield this.resolveName(i))!=e?null:i})}getAvatar(e){return le(this,void 0,void 0,function*(){let r=null;if(pe(e)){const s=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",o=yield this._getResolver(s,"getAvatar");if(!o)return null;r=new kh(this,o,s);try{const a=yield r.getAvatar();if(a)return a.url}catch(a){if(a.code!==O.errors.CALL_EXCEPTION)throw a}try{const a=Nl(yield this.call({to:o,data:"0x691f3431"+_l(s).substring(2)}),0);r=yield this.getResolver(a)}catch(a){if(a.code!==O.errors.CALL_EXCEPTION)throw a;return null}}else if(r=yield this.getResolver(e),!r)return null;const n=yield r.getAvatar();return n==null?null:n.url})}perform(e,r){return de.throwError(e+" not implemented",O.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_addEventListener(e,r,n){const i=new fS(rs(e),r,n);return this._events.push(i),this._startEvent(i),this}on(e,r){return this._addEventListener(e,r,!1)}once(e,r){return this._addEventListener(e,r,!0)}emit(e,...r){let n=!1,i=[],s=rs(e);return this._events=this._events.filter(o=>o.tag!==s?!0:(setTimeout(()=>{o.listener.apply(this,r)},0),n=!0,o.once?(i.push(o),!1):!0)),i.forEach(o=>{this._stopEvent(o)}),n}listenerCount(e){if(!e)return this._events.length;let r=rs(e);return this._events.filter(n=>n.tag===r).length}listeners(e){if(e==null)return this._events.map(n=>n.listener);let r=rs(e);return this._events.filter(n=>n.tag===r).map(n=>n.listener)}off(e,r){if(r==null)return this.removeAllListeners(e);const n=[];let i=!1,s=rs(e);return this._events=this._events.filter(o=>o.tag!==s||o.listener!=r||i?!0:(i=!0,n.push(o),!1)),n.forEach(o=>{this._stopEvent(o)}),this}removeAllListeners(e){let r=[];if(e==null)r=this._events,this._events=[];else{const n=rs(e);this._events=this._events.filter(i=>i.tag!==n?!0:(r.push(i),!1))}return r.forEach(n=>{this._stopEvent(n)}),this}}const mS="abstract-signer/5.7.0";var jr=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const Ar=new O(mS),gS=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],vS=[O.errors.INSUFFICIENT_FUNDS,O.errors.NONCE_EXPIRED,O.errors.REPLACEMENT_UNDERPRICED];class Ra{constructor(){Ar.checkAbstract(new.target,Ra),z(this,"_isSigner",!0)}getBalance(e){return jr(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return jr(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return jr(this,void 0,void 0,function*(){this._checkProvider("estimateGas");const r=yield wt(this.checkTransaction(e));return yield this.provider.estimateGas(r)})}call(e,r){return jr(this,void 0,void 0,function*(){this._checkProvider("call");const n=yield wt(this.checkTransaction(e));return yield this.provider.call(n,r)})}sendTransaction(e){return jr(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");const r=yield this.populateTransaction(e),n=yield this.signTransaction(r);return yield this.provider.sendTransaction(n)})}getChainId(){return jr(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return jr(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return jr(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(e){return jr(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)})}checkTransaction(e){for(const n in e)gS.indexOf(n)===-1&&Ar.throwArgumentError("invalid transaction key: "+n,"transaction",e);const r=ot(e);return r.from==null?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then(n=>(n[0].toLowerCase()!==n[1].toLowerCase()&&Ar.throwArgumentError("from address mismatch","transaction",e),n[0])),r}populateTransaction(e){return jr(this,void 0,void 0,function*(){const r=yield wt(this.checkTransaction(e));r.to!=null&&(r.to=Promise.resolve(r.to).then(i=>jr(this,void 0,void 0,function*(){if(i==null)return null;const s=yield this.resolveName(i);return s==null&&Ar.throwArgumentError("provided ENS name resolves to null","tx.to",i),s})),r.to.catch(i=>{}));const n=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||n)?Ar.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e):(r.type===0||r.type===1)&&n&&Ar.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1)r.gasPrice==null&&(r.gasPrice=this.getGasPrice());else{const i=yield this.getFeeData();if(r.type==null)if(i.maxFeePerGas!=null&&i.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const s=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=s,r.maxPriorityFeePerGas=s}else r.maxFeePerGas==null&&(r.maxFeePerGas=i.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=i.maxPriorityFeePerGas);else i.gasPrice!=null?(n&&Ar.throwError("network does not support EIP-1559",O.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=i.gasPrice),r.type=0):Ar.throwError("failed to get consistent fee data",O.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else r.type===2&&(r.maxFeePerGas==null&&(r.maxFeePerGas=i.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=i.maxPriorityFeePerGas))}return r.nonce==null&&(r.nonce=this.getTransactionCount("pending")),r.gasLimit==null&&(r.gasLimit=this.estimateGas(r).catch(i=>{if(vS.indexOf(i.code)>=0)throw i;return Ar.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:i,tx:r})})),r.chainId==null?r.chainId=this.getChainId():r.chainId=Promise.all([Promise.resolve(r.chainId),this.getChainId()]).then(i=>(i[1]!==0&&i[0]!==i[1]&&Ar.throwArgumentError("chainId address mismatch","transaction",e),i[0])),yield wt(r)})}_checkProvider(e){this.provider||Ar.throwError("missing provider",O.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!!(e&&e._isSigner)}}class Gd extends Ra{constructor(e,r){super(),z(this,"address",e),z(this,"provider",r||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,r){return Promise.resolve().then(()=>{Ar.throwError(e,O.errors.UNSUPPORTED_OPERATION,{operation:r})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,r,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new Gd(this.address,e)}}var kn=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const xt=new O(Ht),yS=["call","estimateGas"];function Bo(t,e){if(t==null)return null;if(typeof t.message=="string"&&t.message.match("reverted")){const r=pe(t.data)?t.data:null;if(!e||r)return{message:t.message,data:r}}if(typeof t=="object"){for(const r in t){const n=Bo(t[r],e);if(n)return n}return null}if(typeof t=="string")try{return Bo(JSON.parse(t),e)}catch{}return null}function Oy(t,e,r){const n=r.transaction||r.signedTransaction;if(t==="call"){const s=Bo(e,!0);if(s)return s.data;xt.throwError("missing revert data in call exception; Transaction reverted without a reason string",O.errors.CALL_EXCEPTION,{data:"0x",transaction:n,error:e})}if(t==="estimateGas"){let s=Bo(e.body,!1);s==null&&(s=Bo(e,!1)),s&&xt.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{reason:s.message,method:t,transaction:n,error:e})}let i=e.message;throw e.code===O.errors.SERVER_ERROR&&e.error&&typeof e.error.message=="string"?i=e.error.message:typeof e.body=="string"?i=e.body:typeof e.responseText=="string"&&(i=e.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&xt.throwError("insufficient funds for intrinsic transaction cost",O.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:n}),i.match(/nonce (is )?too low/i)&&xt.throwError("nonce has already been used",O.errors.NONCE_EXPIRED,{error:e,method:t,transaction:n}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&xt.throwError("replacement fee too low",O.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:n}),i.match(/only replay-protected/i)&&xt.throwError("legacy pre-eip-155 transactions not supported",O.errors.UNSUPPORTED_OPERATION,{error:e,method:t,transaction:n}),yS.indexOf(t)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&xt.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:n}),e}function fm(t){return new Promise(function(e){setTimeout(e,t)})}function wS(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function yo(t){return t&&t.toLowerCase()}const Nh={};class Wd extends Ra{constructor(e,r,n){if(super(),e!==Nh)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");z(this,"provider",r),n==null&&(n=0),typeof n=="string"?(z(this,"_address",this.provider.formatter.address(n)),z(this,"_index",null)):typeof n=="number"?(z(this,"_index",n),z(this,"_address",null)):xt.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return xt.throwError("cannot alter JSON-RPC Signer connection",O.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new xS(Nh,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&xt.throwError("unknown account #"+this._index,O.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=ot(e);const r=this.getAddress().then(n=>(n&&(n=n.toLowerCase()),n));if(e.gasLimit==null){const n=ot(e);n.from=r,e.gasLimit=this.provider.estimateGas(n)}return e.to!=null&&(e.to=Promise.resolve(e.to).then(n=>kn(this,void 0,void 0,function*(){if(n==null)return null;const i=yield this.provider.resolveName(n);return i==null&&xt.throwArgumentError("provided ENS name resolves to null","tx.to",n),i}))),wt({tx:wt(e),sender:r}).then(({tx:n,sender:i})=>{n.from!=null?n.from.toLowerCase()!==i&&xt.throwArgumentError("from address mismatch","transaction",e):n.from=i;const s=this.provider.constructor.hexlifyTransaction(n,{from:!0});return this.provider.send("eth_sendTransaction",[s]).then(o=>o,o=>(typeof o.message=="string"&&o.message.match(/user denied/i)&&xt.throwError("user rejected transaction",O.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:n}),Oy("sendTransaction",o,s)))})}signTransaction(e){return xt.throwError("signing transactions is unsupported",O.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return kn(this,void 0,void 0,function*(){const r=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield Es(()=>kn(this,void 0,void 0,function*(){const i=yield this.provider.getTransaction(n);if(i!==null)return this.provider._wrapTransaction(i,n,r)}),{oncePoll:this.provider})}catch(i){throw i.transactionHash=n,i}})}signMessage(e){return kn(this,void 0,void 0,function*(){const r=typeof e=="string"?gr(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[re(r),n.toLowerCase()])}catch(i){throw typeof i.message=="string"&&i.message.match(/user denied/i)&&xt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),i}})}_legacySignMessage(e){return kn(this,void 0,void 0,function*(){const r=typeof e=="string"?gr(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),re(r)])}catch(i){throw typeof i.message=="string"&&i.message.match(/user denied/i)&&xt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),i}})}_signTypedData(e,r,n){return kn(this,void 0,void 0,function*(){const i=yield lr.resolveNames(e,r,n,o=>this.provider.resolveName(o)),s=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[s.toLowerCase(),JSON.stringify(lr.getPayload(i.domain,r,i.value))])}catch(o){throw typeof o.message=="string"&&o.message.match(/user denied/i)&&xt.throwError("user rejected signing",O.errors.ACTION_REJECTED,{action:"_signTypedData",from:s,messageData:{domain:i.domain,types:r,value:i.value}}),o}})}unlock(e){return kn(this,void 0,void 0,function*(){const r=this.provider,n=yield this.getAddress();return r.send("personal_unlockAccount",[n.toLowerCase(),e,null])})}}class xS extends Wd{sendTransaction(e){return this.sendUncheckedTransaction(e).then(r=>({hash:r,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:n=>this.provider.waitForTransaction(r,n)}))}}const bS={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class Wi extends Xu{constructor(e,r){let n=r;n==null&&(n=new Promise((i,s)=>{setTimeout(()=>{this.detectNetwork().then(o=>{i(o)},o=>{s(o)})},0)})),super(n),e||(e=dr(this.constructor,"defaultUrl")()),typeof e=="string"?z(this,"connection",Object.freeze({url:e})):z(this,"connection",Object.freeze(ot(e))),this._nextId=42}get _cache(){return this._eventLoopCache==null&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return kn(this,void 0,void 0,function*(){yield fm(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch{try{e=yield this.send("net_version",[])}catch{}}if(e!=null){const r=dr(this.constructor,"getNetwork");try{return r(G.from(e).toNumber())}catch(n){return xt.throwError("could not detect network",O.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:n})}}return xt.throwError("could not detect network",O.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(e){return new Wd(Nh,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(r=>this.formatter.address(r)))}send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:sr(n),provider:this});const i=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(i&&this._cache[e])return this._cache[e];const s=Ca(this.connection,JSON.stringify(n),wS).then(o=>(this.emit("debug",{action:"response",request:n,response:o,provider:this}),o),o=>{throw this.emit("debug",{action:"response",error:o,request:n,provider:this}),o});return i&&(this._cache[e]=s,setTimeout(()=>{this._cache[e]=null},0)),s}prepareRequest(e,r){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[yo(r.address),r.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[yo(r.address),r.blockTag]];case"getCode":return["eth_getCode",[yo(r.address),r.blockTag]];case"getStorageAt":return["eth_getStorageAt",[yo(r.address),mt(r.position,32),r.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[r.signedTransaction]];case"getBlock":return r.blockTag?["eth_getBlockByNumber",[r.blockTag,!!r.includeTransactions]]:r.blockHash?["eth_getBlockByHash",[r.blockHash,!!r.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[r.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[r.transactionHash]];case"call":return["eth_call",[dr(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0}),r.blockTag]];case"estimateGas":return["eth_estimateGas",[dr(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0})]];case"getLogs":return r.filter&&r.filter.address!=null&&(r.filter.address=yo(r.filter.address)),["eth_getLogs",[r.filter]]}return null}perform(e,r){return kn(this,void 0,void 0,function*(){if(e==="call"||e==="estimateGas"){const i=r.transaction;if(i&&i.type!=null&&G.from(i.type).isZero()&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const s=yield this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(r=ot(r),r.transaction=ot(i),delete r.transaction.type)}}const n=this.prepareRequest(e,r);n==null&&xt.throwError(e+" not implemented",O.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(i){return Oy(e,i,r)}})}_startEvent(e){e.tag==="pending"&&this._startPending(),super._startEvent(e)}_startPending(){if(this._pendingFilter!=null)return;const e=this,r=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=r,r.then(function(n){function i(){e.send("eth_getFilterChanges",[n]).then(function(s){if(e._pendingFilter!=r)return null;let o=Promise.resolve();return s.forEach(function(a){e._emitted["t:"+a.toLowerCase()]="pending",o=o.then(function(){return e.getTransaction(a).then(function(l){return e.emit("pending",l),null})})}),o.then(function(){return fm(1e3)})}).then(function(){if(e._pendingFilter!=r){e.send("eth_uninstallFilter",[n]);return}return setTimeout(function(){i()},0),null}).catch(s=>{})}return i(),n}).catch(n=>{})}_stopEvent(e){e.tag==="pending"&&this.listenerCount("pending")===0&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,r){const n=ot(bS);if(r)for(const s in r)r[s]&&(n[s]=!0);nA(e,n);const i={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(s){if(e[s]==null)return;const o=$u(G.from(e[s]));s==="gasLimit"&&(s="gas"),i[s]=o}),["from","to","data"].forEach(function(s){e[s]!=null&&(i[s]=re(e[s]))}),e.accessList&&(i.accessList=es(e.accessList)),i}}let Do=null;try{if(Do=WebSocket,Do==null)throw new Error("inject please")}catch{const e=new O(Ht);Do=function(){e.throwError("WebSockets not supported in this environment",O.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var uf=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const el=new O(Ht);let ES=1;class Zu extends Wi{constructor(e,r){r==="any"&&el.throwError("WebSocketProvider does not support 'any' network yet",O.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),typeof e=="string"?super(e,r):super("_websocket",r),this._pollingInterval=-1,this._wsReady=!1,typeof e=="string"?z(this,"_websocket",new Do(this.connection.url)):z(this,"_websocket",e),z(this,"_requests",{}),z(this,"_subs",{}),z(this,"_subIds",{}),z(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(i=>{this.websocket.send(this._requests[i].payload)})},this.websocket.onmessage=i=>{const s=i.data,o=JSON.parse(s);if(o.id!=null){const a=String(o.id),l=this._requests[a];if(delete this._requests[a],o.result!==void 0)l.callback(null,o.result),this.emit("debug",{action:"response",request:JSON.parse(l.payload),response:o.result,provider:this});else{let u=null;o.error?(u=new Error(o.error.message||"unknown error"),z(u,"code",o.error.code||null),z(u,"response",s)):u=new Error("unknown error"),l.callback(u,void 0),this.emit("debug",{action:"response",error:u,request:JSON.parse(l.payload),provider:this})}}else if(o.method==="eth_subscription"){const a=this._subs[o.params.subscription];a&&a.processFunc(o.params.result)}else console.warn("this should not happen")};const n=setInterval(()=>{this.emit("poll")},1e3);n.unref&&n.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){el.throwError("cannot reset events block on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){el.throwError("cannot set polling interval on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return uf(this,void 0,void 0,function*(){return null})}set polling(e){e&&el.throwError("cannot set polling on WebSocketProvider",O.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,r){const n=ES++;return new Promise((i,s)=>{function o(l,u){return l?s(l):i(u)}const a=JSON.stringify({method:e,params:r,id:n,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(a),provider:this}),this._requests[String(n)]={callback:o,payload:a},this._wsReady&&this.websocket.send(a)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,r,n){return uf(this,void 0,void 0,function*(){let i=this._subIds[e];i==null&&(i=Promise.all(r).then(o=>this.send("eth_subscribe",o)),this._subIds[e]=i);const s=yield i;this._subs[s]={tag:e,processFunc:n}})}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],r=>{const n=G.from(r.number).toNumber();this._emitted.block=n,this.emit("block",n)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],r=>{this.emit("pending",r)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],r=>{r.removed==null&&(r.removed=!1),this.emit(e.filter,this.formatter.filterLog(r))});break;case"tx":{const r=n=>{const i=n.hash;this.getTransactionReceipt(i).then(s=>{s&&this.emit(i,s)})};r(e),this._subscribe("tx",["newHeads"],n=>{this._events.filter(i=>i.type==="tx").forEach(r)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e);break}}_stopEvent(e){let r=e.tag;if(e.type==="tx"){if(this._events.filter(i=>i.type==="tx").length)return;r="tx"}else if(this.listenerCount(e.event))return;const n=this._subIds[r];n&&(delete this._subIds[r],n.then(i=>{this._subs[i]&&(delete this._subs[i],this.send("eth_unsubscribe",[i]))}))}destroy(){return uf(this,void 0,void 0,function*(){this.websocket.readyState===Do.CONNECTING&&(yield new Promise(e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}})),this.websocket.close(1e3)})}}var AS=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const So=new O(Ht);class Ty extends Wi{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return AS(this,void 0,void 0,function*(){let r=this.network;return r==null&&(r=yield e.detectNetwork.call(this),r||So.throwError("no network detected",O.errors.UNKNOWN_ERROR,{}),this._network==null&&(z(this,"_network",r),this.emit("network",r,null))),r})}}class qn extends Ty{constructor(e,r){So.checkAbstract(new.target,qn),e=dr(new.target,"getNetwork")(e),r=dr(new.target,"getApiKey")(r);const n=dr(new.target,"getUrl")(e,r);super(n,e),typeof r=="string"?z(this,"apiKey",r):r!=null&&Object.keys(r).forEach(i=>{z(this,i,r[i])})}_startPending(){So.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return So.throwError("API provider does not support signing",O.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,r){return So.throwError("not implemented; sub-classes must override getUrl",O.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const hm=new O(Ht),Ml="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class Ly extends Zu{constructor(e,r){const n=new Kd(e,r),i=n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");super(i,n.network),z(this,"apiKey",n.apiKey)}isCommunityResource(){return this.apiKey===Ml}}class Kd extends qn{static getWebSocketProvider(e,r){return new Ly(e,r)}static getApiKey(e){return e==null?Ml:(e&&typeof e!="string"&&hm.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":n="eth-goerli.g.alchemy.com/v2/";break;case"matic":n="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":n="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":n="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":n="arb-goerli.g.alchemy.com/v2/";break;case"optimism":n="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":n="opt-goerli.g.alchemy.com/v2/";break;default:hm.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+n+r,throttleCallback:(i,s)=>(r===Ml&&Ia(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Ml}}const _S=new O(Ht),tl="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function SS(t){switch(t){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return _S.throwArgumentError("unsupported network","name",t)}class jy extends qn{isCommunityResource(){return this.apiKey===tl}static getApiKey(e){return e??tl}static getUrl(e,r){r==null&&(r=tl);const n={allowGzip:!0,url:"https://"+SS(e.name)+r,throttleCallback:(i,s)=>(r.apiKey===tl&&Ia(),Promise.resolve(!0))};return r.projectSecret!=null&&(n.user="",n.password=r.projectSecret),n}}var kS=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const dm=new O(Ht);class By extends qn{static getApiKey(e){return e!=null&&dm.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="https://cloudflare-eth.com/";break;default:dm.throwArgumentError("unsupported network","network",arguments[0])}return n}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return kS(this,void 0,void 0,function*(){return e==="getBlockNumber"?(yield n.perform.call(this,"getBlock",{blockTag:"latest"})).number:n.perform.call(this,e,r)})}}var rl=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const oi=new O(Ht);function pm(t){const e={};for(let r in t){if(t[r]==null)continue;let n=t[r];r==="type"&&n===0||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[r]?n=$u(re(n)):r==="accessList"?n="["+es(n).map(i=>`{address:"${i.address}",storageKeys:["${i.storageKeys.join('","')}"]}`).join(",")+"]":n=re(n),e[r]=n)}return e}function NS(t){if(t.status==0&&(t.message==="No records found"||t.message==="No transactions found"))return t.result;if(t.status!=1||typeof t.message!="string"||!t.message.match(/^OK/)){const e=new Error("invalid response");throw e.result=JSON.stringify(t),(t.result||"").toLowerCase().indexOf("rate limit")>=0&&(e.throttleRetry=!0),e}return t.result}function mm(t){if(t&&t.status==0&&t.message=="NOTOK"&&(t.result||"").toLowerCase().indexOf("rate limit")>=0){const e=new Error("throttled response");throw e.result=JSON.stringify(t),e.throttleRetry=!0,e}if(t.jsonrpc!="2.0"){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}if(t.error){const e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function gm(t){if(t==="pending")throw new Error("pending not supported");return t==="latest"?t:parseInt(t.substring(2),16)}function cf(t,e,r){if(t==="call"&&e.code===O.errors.SERVER_ERROR){const i=e.error;if(i&&(i.message.match(/reverted/i)||i.message.match(/VM execution error/i))){let s=i.data;if(s&&(s="0x"+s.replace(/^.*0x/i,"")),pe(s))return s;oi.throwError("missing revert data in call exception",O.errors.CALL_EXCEPTION,{error:e,data:"0x"})}}let n=e.message;throw e.code===O.errors.SERVER_ERROR&&(e.error&&typeof e.error.message=="string"?n=e.error.message:typeof e.body=="string"?n=e.body:typeof e.responseText=="string"&&(n=e.responseText)),n=(n||"").toLowerCase(),n.match(/insufficient funds/)&&oi.throwError("insufficient funds for intrinsic transaction cost",O.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&oi.throwError("nonce has already been used",O.errors.NONCE_EXPIRED,{error:e,method:t,transaction:r}),n.match(/another transaction with same nonce/)&&oi.throwError("replacement fee too low",O.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:r}),n.match(/execution failed due to an exception|execution reverted/)&&oi.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",O.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:r}),e}class Dy extends Xu{constructor(e,r){super(e),z(this,"baseUrl",this.getBaseUrl()),z(this,"apiKey",r||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return oi.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,r){const n=Object.keys(r).reduce((s,o)=>{const a=r[o];return a!=null&&(s+=`&${o}=${a}`),s},""),i=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${n}${i}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,r){return r.module=e,r.apikey=this.apiKey,r}fetch(e,r,n){return rl(this,void 0,void 0,function*(){const i=n?this.getPostUrl():this.getUrl(e,r),s=n?this.getPostData(e,r):null,o=e==="proxy"?mm:NS;this.emit("debug",{action:"request",request:i,provider:this});const a={url:i,throttleSlotInterval:1e3,throttleCallback:(c,h)=>(this.isCommunityResource()&&Ia(),Promise.resolve(!0))};let l=null;s&&(a.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},l=Object.keys(s).map(c=>`${c}=${s[c]}`).join("&"));const u=yield Ca(a,l,o||mm);return this.emit("debug",{action:"response",request:i,response:sr(u),provider:this}),u})}detectNetwork(){return rl(this,void 0,void 0,function*(){return this.network})}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return rl(this,void 0,void 0,function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:r.address,tag:r.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:r.address,tag:r.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:r.address,tag:r.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:r.address,position:r.position,tag:r.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:r.signedTransaction},!0).catch(i=>cf("sendTransaction",i,r.signedTransaction));case"getBlock":if(r.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:r.blockTag,boolean:r.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:r.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:r.transactionHash});case"call":{if(r.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");const i=pm(r.transaction);i.module="proxy",i.action="eth_call";try{return yield this.fetch("proxy",i,!0)}catch(s){return cf("call",s,r.transaction)}}case"estimateGas":{const i=pm(r.transaction);i.module="proxy",i.action="eth_estimateGas";try{return yield this.fetch("proxy",i,!0)}catch(s){return cf("estimateGas",s,r.transaction)}}case"getLogs":{const i={action:"getLogs"};if(r.filter.fromBlock&&(i.fromBlock=gm(r.filter.fromBlock)),r.filter.toBlock&&(i.toBlock=gm(r.filter.toBlock)),r.filter.address&&(i.address=r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&oi.throwError("unsupported topic count",O.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),r.filter.topics.length===1)){const a=r.filter.topics[0];(typeof a!="string"||a.length!==66)&&oi.throwError("unsupported topic format",O.errors.UNSUPPORTED_OPERATION,{topic0:a}),i.topic0=a}const s=yield this.fetch("logs",i);let o={};for(let a=0;a{["contractAddress","to"].forEach(function(l){o[l]==""&&delete o[l]}),o.creates==null&&o.contractAddress!=null&&(o.creates=o.contractAddress);const a=this.formatter.transactionResponse(o);return o.timeStamp&&(a.timestamp=parseInt(o.timeStamp)),a})})}isCommunityResource(){return this.apiKey==null}}function MS(t){t=t.slice();for(let e=t.length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}var uu=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const Ri=new O(Ht);function nl(){return new Date().getTime()}function vm(t){let e=null;for(let r=0;re?null:(n+i)/2}function As(t){if(t===null)return"null";if(typeof t=="number"||typeof t=="boolean")return JSON.stringify(t);if(typeof t=="string")return t;if(G.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map(e=>As(e)));if(typeof t=="object"){const e=Object.keys(t);return e.sort(),"{"+e.map(r=>{let n=t[r];return typeof n=="function"?n="[function]":n=As(n),JSON.stringify(r)+":"+n}).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}let PS=1;function wm(t){let e=null,r=null,n=new Promise(o=>{e=function(){r&&(clearTimeout(r),r=null),o()},r=setTimeout(e,t)});const i=o=>(n=n.then(o),n);function s(){return n}return{cancel:e,getPromise:s,wait:i}}const CS=[O.errors.CALL_EXCEPTION,O.errors.INSUFFICIENT_FUNDS,O.errors.NONCE_EXPIRED,O.errors.REPLACEMENT_UNDERPRICED,O.errors.UNPREDICTABLE_GAS_LIMIT],IS=["address","args","errorArgs","errorSignature","method","transaction"];function il(t,e){const r={weight:t.weight};return Object.defineProperty(r,"provider",{get:()=>t.provider}),t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function RS(t,e){return function(r){const n={};r.forEach(s=>{const o=t(s.result);n[o]||(n[o]={count:0,result:s.result}),n[o].count++});const i=Object.keys(n);for(let s=0;s=e)return o.result}}}function OS(t,e,r){let n=As;switch(e){case"getBlockNumber":return function(i){const s=i.map(a=>a.result);let o=ym(i.map(a=>a.result),2);if(o!=null)return o=Math.ceil(o),s.indexOf(o+1)>=0&&o++,o>=t._highestBlockNumber&&(t._highestBlockNumber=o),t._highestBlockNumber};case"getGasPrice":return function(i){const s=i.map(o=>o.result);return s.sort(),s[Math.floor(s.length/2)]};case"getEtherPrice":return function(i){return ym(i.map(s=>s.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(i){return i==null?null:(i=ot(i),i.confirmations=-1,As(i))};break;case"getBlock":r.includeTransactions?n=function(i){return i==null?null:(i=ot(i),i.transactions=i.transactions.map(s=>(s=ot(s),s.confirmations=-1,s)),As(i))}:n=function(i){return i==null?null:As(i)};break;default:throw new Error("unknown method: "+e)}return RS(n,t.quorum)}function wo(t,e){return uu(this,void 0,void 0,function*(){const r=t.provider;return r.blockNumber!=null&&r.blockNumber>=e||e===-1?r:Es(()=>new Promise((n,i)=>{setTimeout(function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)},0)}),{oncePoll:r})})}function TS(t,e,r,n){return uu(this,void 0,void 0,function*(){let i=t.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&pe(n.blockTag)&&(i=yield wo(t,e)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&pe(n.blockTag)&&(i=yield wo(t,e)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&pe(n.blockTag)&&(i=yield wo(t,e)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&pe(n.blockTag)&&(i=yield wo(t,e)),r==="call"&&n.blockTag?i[r](n.transaction,n.blockTag):i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let s=n.filter;return(s.fromBlock&&pe(s.fromBlock)||s.toBlock&&pe(s.toBlock))&&(i=yield wo(t,e)),i.getLogs(s)}}return Ri.throwError("unknown method error",O.errors.UNKNOWN_ERROR,{method:r,params:n})})}class Fy extends Xu{constructor(e,r){e.length===0&&Ri.throwArgumentError("missing providers","providers",e);const n=e.map((o,a)=>{if(Zs.isProvider(o)){const c=Sh(o)?2e3:750;return Object.freeze({provider:o,weight:1,stallTimeout:c,priority:1})}const l=ot(o);l.priority==null&&(l.priority=1),l.stallTimeout==null&&(l.stallTimeout=Sh(o)?2e3:750),l.weight==null&&(l.weight=1);const u=l.weight;return(u%1||u>512||u<1)&&Ri.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${a}].weight`,u),Object.freeze(l)}),i=n.reduce((o,a)=>o+a.weight,0);r==null?r=i/2:r>i&&Ri.throwArgumentError("quorum will always fail; larger than total weight","quorum",r);let s=vm(n.map(o=>o.provider.network));s==null&&(s=new Promise((o,a)=>{setTimeout(()=>{this.detectNetwork().then(o,a)},0)})),super(s),z(this,"providerConfigs",Object.freeze(n)),z(this,"quorum",r),this._highestBlockNumber=-1}detectNetwork(){return uu(this,void 0,void 0,function*(){const e=yield Promise.all(this.providerConfigs.map(r=>r.provider.getNetwork()));return vm(e)})}perform(e,r){return uu(this,void 0,void 0,function*(){if(e==="sendTransaction"){const l=yield Promise.all(this.providerConfigs.map(u=>u.provider.sendTransaction(r.signedTransaction).then(c=>c.hash,c=>c)));for(let u=0;ul.priority-u.priority);const s=this._highestBlockNumber;let o=0,a=!0;for(;;){const l=nl();let u=i.filter(g=>g.runner&&l-g.startg+y.weight,0);for(;u{g.staller=null}),g.runner=TS(g,s,e,r).then(b=>{g.done=!0,g.result=b,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:y,backend:il(g,nl()),request:{method:e,params:sr(r)},provider:this})},b=>{g.done=!0,g.error=b,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:y,backend:il(g,nl()),request:{method:e,params:sr(r)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:y,backend:il(g,null),request:{method:e,params:sr(r)},provider:this}),u+=g.weight}const c=[];i.forEach(g=>{g.done||!g.runner||(c.push(g.runner),g.staller&&c.push(g.staller.getPromise()))}),c.length&&(yield Promise.race(c));const h=i.filter(g=>g.done&&g.error==null);if(h.length>=this.quorum){const g=n(h);if(g!==void 0)return i.forEach(y=>{y.staller&&y.staller.cancel(),y.cancelled=!0}),g;a||(yield wm(100).getPromise()),a=!1}const m=i.reduce((g,y)=>{if(!y.done||y.error==null)return g;const b=y.error.code;return CS.indexOf(b)>=0&&(g[b]||(g[b]={error:y.error,weight:0}),g[b].weight+=y.weight),g},{});if(Object.keys(m).forEach(g=>{const y=m[g];if(y.weight{x.staller&&x.staller.cancel(),x.cancelled=!0});const b=y.error,k={};IS.forEach(x=>{b[x]!=null&&(k[x]=b[x])}),Ri.throwError(b.reason||b.message,g,k)}),i.filter(g=>!g.done).length===0)break}return i.forEach(l=>{l.staller&&l.staller.cancel(),l.cancelled=!0}),Ri.throwError("failed to meet quorum",O.errors.SERVER_ERROR,{method:e,params:r,results:i.map(l=>il(l)),provider:this})})}}const Uy=null,Pl=new O(Ht),ko="84842078b09946638c03157f83405213";class zy extends Zu{constructor(e,r){const n=new Qd(e,r),i=n.connection;i.password&&Pl.throwError("INFURA WebSocket project secrets unsupported",O.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const s=i.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(s,e),z(this,"apiKey",n.projectId),z(this,"projectId",n.projectId),z(this,"projectSecret",n.projectSecret)}isCommunityResource(){return this.projectId===ko}}class Qd extends qn{static getWebSocketProvider(e,r){return new zy(e,r)}static getApiKey(e){const r={apiKey:ko,projectId:ko,projectSecret:null};return e==null||(typeof e=="string"?r.projectId=e:e.projectSecret!=null?(Pl.assertArgument(typeof e.projectId=="string","projectSecret requires a projectId","projectId",e.projectId),Pl.assertArgument(typeof e.projectSecret=="string","invalid projectSecret","projectSecret","[REDACTED]"),r.projectId=e.projectId,r.projectSecret=e.projectSecret):e.projectId&&(r.projectId=e.projectId),r.apiKey=r.projectId),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"homestead":n="mainnet.infura.io";break;case"goerli":n="goerli.infura.io";break;case"sepolia":n="sepolia.infura.io";break;case"matic":n="polygon-mainnet.infura.io";break;case"maticmum":n="polygon-mumbai.infura.io";break;case"optimism":n="optimism-mainnet.infura.io";break;case"optimism-goerli":n="optimism-goerli.infura.io";break;case"arbitrum":n="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":n="arbitrum-goerli.infura.io";break;default:Pl.throwError("unsupported network",O.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const i={allowGzip:!0,url:"https://"+n+"/v3/"+r.projectId,throttleCallback:(s,o)=>(r.projectId===ko&&Ia(),Promise.resolve(!0))};return r.projectSecret!=null&&(i.user="",i.password=r.projectSecret),i}isCommunityResource(){return this.projectId===ko}}class LS extends Wi{send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this._pendingBatch==null&&(this._pendingBatch=[]);const i={request:n,resolve:null,reject:null},s=new Promise((o,a)=>{i.resolve=o,i.reject=a});return this._pendingBatch.push(i),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{const o=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const a=o.map(l=>l.request);return this.emit("debug",{action:"requestBatch",request:sr(a),provider:this}),Ca(this.connection,JSON.stringify(a)).then(l=>{this.emit("debug",{action:"response",request:a,response:l,provider:this}),o.forEach((u,c)=>{const h=l[c];if(h.error){const m=new Error(h.error.message);m.code=h.error.code,m.data=h.error.data,u.reject(m)}else u.resolve(h.result)})},l=>{this.emit("debug",{action:"response",error:l,request:a,provider:this}),o.forEach(u=>{u.reject(l)})})},10)),s}}const ff=new O(Ht),jS="ETHERS_JS_SHARED";class $y extends qn{static getApiKey(e){return e&&typeof e!="string"&&ff.throwArgumentError("invalid apiKey","apiKey",e),e||jS}static getUrl(e,r){ff.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let n=null;switch(e.name){case"homestead":n="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":n="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":n="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":n="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":n="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:ff.throwArgumentError("unsupported network","network",arguments[0])}return n+"?apiKey="+r}}const xm=new O(Ht),bm="62e1ad51b37b8e00394bda3b";class Hy extends qn{static getApiKey(e){const r={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return e==null?r.applicationId=bm:typeof e=="string"?r.applicationId=e:e.applicationSecretKey!=null?(r.applicationId=e.applicationId,r.applicationSecretKey=e.applicationSecretKey):e.applicationId?r.applicationId=e.applicationId:xm.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"goerli":n="eth-goerli.gateway.pokt.network";break;case"homestead":n="eth-mainnet.gateway.pokt.network";break;case"kovan":n="poa-kovan.gateway.pokt.network";break;case"matic":n="poly-mainnet.gateway.pokt.network";break;case"maticmum":n="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":n="eth-rinkeby.gateway.pokt.network";break;case"ropsten":n="eth-ropsten.gateway.pokt.network";break;default:xm.throwError("unsupported network",O.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const i=`https://${n}/v1/lb/${r.applicationId}`,s={headers:{},url:i};return r.applicationSecretKey!=null&&(s.user="",s.password=r.applicationSecretKey),s}isCommunityResource(){return this.applicationId===bm}}const Em=new O(Ht);let BS=1;function Am(t,e){const r="Web3LegacyFetcher";return function(n,i){const s={method:n,params:i,id:BS++,jsonrpc:"2.0"};return new Promise((o,a)=>{this.emit("debug",{action:"request",fetcher:r,request:sr(s),provider:this}),e(s,(l,u)=>{if(l)return this.emit("debug",{action:"response",fetcher:r,error:l,request:s,provider:this}),a(l);if(this.emit("debug",{action:"response",fetcher:r,request:s,response:u,provider:this}),u.error){const c=new Error(u.error.message);return c.code=u.error.code,c.data=u.error.data,a(c)}o(u.result)})})}}function DS(t){return function(e,r){r==null&&(r=[]);const n={method:e,params:r};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:sr(n),provider:this}),t.request(n).then(i=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,response:i,provider:this}),i),i=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,error:i,provider:this}),i})}}class Vy extends Wi{constructor(e,r){e==null&&Em.throwArgumentError("missing provider","provider",e);let n=null,i=null,s=null;typeof e=="function"?(n="unknown:",i=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),s=e,e.request?(n===""&&(n="eip-1193:"),i=DS(e)):e.sendAsync?i=Am(e,e.sendAsync.bind(e)):e.send?i=Am(e,e.send.bind(e)):Em.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,r),z(this,"jsonRpcFetchFunc",i),z(this,"provider",s)}send(e,r){return this.jsonRpcFetchFunc(e,r)}}const _m=new O(Ht);function FS(t,e){if(t==null&&(t="homestead"),typeof t=="string"){const n=t.match(/^(ws|http)s?:/i);if(n)switch(n[1].toLowerCase()){case"http":case"https":return new Wi(t);case"ws":case"wss":return new Zu(t);default:_m.throwArgumentError("unsupported URL scheme","network",t)}}const r=zd(t);return(!r||!r._defaultProvider)&&_m.throwError("unsupported getDefaultProvider network",O.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),r._defaultProvider({FallbackProvider:Fy,AlchemyProvider:Kd,AnkrProvider:jy,CloudflareProvider:By,EtherscanProvider:Dy,InfuraProvider:Qd,JsonRpcProvider:Wi,NodesmithProvider:$y,PocketProvider:Hy,Web3Provider:Vy,IpcProvider:Uy},e)}const US=Object.freeze(Object.defineProperty({__proto__:null,AlchemyProvider:Kd,AlchemyWebSocketProvider:Ly,AnkrProvider:jy,BaseProvider:Xu,CloudflareProvider:By,EtherscanProvider:Dy,FallbackProvider:Fy,Formatter:ee,InfuraProvider:Qd,InfuraWebSocketProvider:zy,IpcProvider:Uy,JsonRpcBatchProvider:LS,JsonRpcProvider:Wi,JsonRpcSigner:Wd,NodesmithProvider:$y,PocketProvider:Hy,Provider:Zs,Resolver:kh,StaticJsonRpcProvider:Ty,UrlJsonRpcProvider:qn,Web3Provider:Vy,WebSocketProvider:Zu,getDefaultProvider:FS,getNetwork:zd,isCommunityResourcable:Cy,isCommunityResource:Sh,showThrottleMessage:Ia},Symbol.toStringTag,{value:"Module"})),zS=Ks(US);var $S=ze&&ze.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),HS=ze&&ze.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),VS=ze&&ze.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&$S(e,t,r);return HS(e,t),e},qS=ze&&ze.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};Object.defineProperty(Ln,"__esModule",{value:!0});Ln.getPriorityConnector=Ln.getSelectedConnector=Ln.initializeConnector=void 0;const GS=E1,_s=L,Sm=JE,WS=eA;let Ts;function KS(){return qS(this,void 0,void 0,function*(){if(Ts===void 0)try{const{Web3Provider:t}=yield Promise.resolve().then(()=>VS(zS));Ts=t}catch{console.debug("@ethersproject/providers not available"),Ts=null}})}function QS(t){const[e,r]=(0,GS.createWeb3ReactStoreAndActions)(),n=t(r),i=r5(e),s=n5(i),o=i5(n,i,s);return[n,Object.assign(Object.assign(Object.assign({},i),s),o),e]}Ln.initializeConnector=QS;function JS({chainId:t,accounts:e,activating:r}){return!!(t&&e&&!r)}function qy(...t){function e(h){const m=t.findIndex(([g])=>h===g);if(m===-1)throw new Error("Connector not found");return m}function r(h){const m=t[e(h)][2];if(!m)throw new Error("Stores not passed");return m}function n(h){return t.map(([,{useChainId:g}])=>g())[e(h)]}function i(h){return t.map(([,{useAccounts:g}])=>g())[e(h)]}function s(h){return t.map(([,{useIsActivating:g}])=>g())[e(h)]}function o(h){return t.map(([,{useAccount:g}])=>g())[e(h)]}function a(h){return t.map(([,{useIsActive:g}])=>g())[e(h)]}function l(h,m){const g=e(h);return t.map(([,{useProvider:b}],k)=>b(m,k===g))[g]}function u(h,m){const g=e(h);return t.map(([,{useENSNames:b}],k)=>b(k===g?m:void 0))[g]}function c(h,m){const g=e(h);return t.map(([,{useENSName:b}],k)=>b(k===g?m:void 0))[g]}return{useSelectedStore:r,useSelectedChainId:n,useSelectedAccounts:i,useSelectedIsActivating:s,useSelectedAccount:o,useSelectedIsActive:a,useSelectedProvider:l,useSelectedENSNames:u,useSelectedENSName:c}}Ln.getSelectedConnector=qy;function YS(...t){const{useSelectedStore:e,useSelectedChainId:r,useSelectedAccounts:n,useSelectedIsActivating:i,useSelectedAccount:s,useSelectedIsActive:o,useSelectedProvider:a,useSelectedENSNames:l,useSelectedENSName:u}=qy(...t);function c(){const j=t.map(([,{useIsActive:D}])=>D()).findIndex(D=>D);return t[j===-1?0:j][0]}function h(){return e(c())}function m(){return r(c())}function g(){return n(c())}function y(){return i(c())}function b(){return s(c())}function k(){return o(c())}function x(T){return a(c(),T)}function w(T){return l(c(),T)}function A(T){return u(c(),T)}return{useSelectedStore:e,useSelectedChainId:r,useSelectedAccounts:n,useSelectedIsActivating:i,useSelectedAccount:s,useSelectedIsActive:o,useSelectedProvider:a,useSelectedENSNames:l,useSelectedENSName:u,usePriorityConnector:c,usePriorityStore:h,usePriorityChainId:m,usePriorityAccounts:g,usePriorityIsActivating:y,usePriorityAccount:b,usePriorityIsActive:k,usePriorityProvider:x,usePriorityENSNames:w,usePriorityENSName:A}}Ln.getPriorityConnector=YS;const XS=({chainId:t})=>t,ZS=({accounts:t})=>t,e5=({activating:t})=>t,t5=(t,e)=>t===void 0&&e===void 0||t!==void 0&&t.length===(e==null?void 0:e.length)&&t.every((r,n)=>r===e[n]);function r5(t){function e(){return(0,Sm.useStore)(t,XS)}function r(){return(0,WS.useStoreWithEqualityFn)(t,ZS,t5)}function n(){return(0,Sm.useStore)(t,e5)}return{useChainId:e,useAccounts:r,useIsActivating:n}}function n5({useChainId:t,useAccounts:e,useIsActivating:r}){function n(){var s;return(s=e())===null||s===void 0?void 0:s[0]}function i(){const s=t(),o=e(),a=r();return JS({chainId:s,accounts:o,activating:a})}return{useAccount:n,useIsActive:i}}function km(t,e=[]){const[r,n]=(0,_s.useState)();return(0,_s.useEffect)(()=>{if(t&&e.length){let i=!1;return Promise.all(e.map(s=>t.lookupAddress(s))).then(s=>{i||n(s)}).catch(s=>{i||(console.debug("Could not fetch ENS names",s),n(new Array(e.length).fill(null)))}),()=>{i=!0,n(void 0)}}},[t,e]),r??new Array(e.length).fill(void 0)}function i5(t,{useAccounts:e,useChainId:r},{useAccount:n,useIsActive:i}){function s(l,u=!0){const c=i(),h=r(),[m,g]=(0,_s.useState)(Ts!==void 0);return(0,_s.useEffect)(()=>{if(m)return;let y=!1;return KS().then(()=>{y||g(!0)}),()=>{y=!0}},[m]),(0,_s.useMemo)(()=>{if(u){if(t.customProvider)return t.customProvider;if(Ts&&t.provider)return new Ts(t.provider,l)}},[m,u,c,h,l])}function o(l){const u=e();return km(l,u)}function a(l){var u;const c=n(),h=(0,_s.useMemo)(()=>c===void 0?void 0:[c],[c]);return(u=km(l,h))===null||u===void 0?void 0:u[0]}return{useProvider:s,useENSNames:o,useENSName:a}}var ec={},Gy={exports:{}};(function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(l,u,c){this.fn=l,this.context=u,this.once=c||!1}function s(l,u,c,h,m){if(typeof c!="function")throw new TypeError("The listener must be a function");var g=new i(c,h||l,m),y=r?r+u:u;return l._events[y]?l._events[y].fn?l._events[y]=[l._events[y],g]:l._events[y].push(g):(l._events[y]=g,l._eventsCount++),l}function o(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var u=[],c,h;if(this._eventsCount===0)return u;for(h in c=this._events)e.call(c,h)&&u.push(r?h.slice(1):h);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(c)):u},a.prototype.listeners=function(u){var c=r?r+u:u,h=this._events[c];if(!h)return[];if(h.fn)return[h.fn];for(var m=0,g=h.length,y=new Array(g);me),this.eth_accounts=jest.fn(e=>e),this.eth_requestAccounts=jest.fn(e=>e)}request(e){if(!this.chainId)return Promise.reject(new Error);switch(e.method){case"eth_chainId":return Promise.resolve(this.eth_chainId(this.chainId));case"eth_accounts":return Promise.resolve(this.eth_accounts(this.accounts));case"eth_requestAccounts":return Promise.resolve(this.eth_requestAccounts(this.accounts));default:throw new Error(`Method not supported on mock: ${JSON.stringify(e)}`)}}emitConnect(e){this.emit("connect",{chainId:e})}emitDisconnect(e){this.emit("disconnect",e)}emitChainChanged(e){this.emit("chainChanged",e)}emitAccountsChanged(e){this.emit("accountsChanged",e)}}ec.MockEIP1193Provider=a5;var Ws={},l5=ze&&ze.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),u5=ze&&ze.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),c5=ze&&ze.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&l5(e,t,r);return u5(e,t),e};Object.defineProperty(Ws,"__esModule",{value:!0});Ws.useWeb3React=Ws.Web3ReactProvider=void 0;const cu=c5(L),f5=Ln,Wy=(0,cu.createContext)(void 0);function h5({children:t,connectors:e,connectorOverride:r,network:n,lookupENS:i=!0}){const s=(0,cu.useRef)(e);if(e.length!=s.current.length||e.some((Z,se)=>{const Ne=s.current[se];return Z[0]!==Ne[0]}))throw new Error("The connectors prop passed to Web3ReactProvider must be referentially static. If connectors is changing, try providing a key prop to Web3ReactProvider that changes every time connectors changes.");const o=(0,f5.getPriorityConnector)(...e),{usePriorityConnector:a,useSelectedChainId:l,useSelectedAccounts:u,useSelectedIsActivating:c,useSelectedAccount:h,useSelectedIsActive:m,useSelectedProvider:g,useSelectedENSNames:y,useSelectedENSName:b}=o,k=a(),x=r??k,w=l(x),A=u(x),T=c(x),j=h(x),D=m(x),$=g(x,n),H=y(x,i?$:void 0),J=b(x,i?$:void 0);return cu.default.createElement(Wy.Provider,{value:{connector:x,chainId:w,accounts:A,isActivating:T,account:j,isActive:D,provider:$,ENSNames:H,ENSName:J,hooks:o}},t)}Ws.Web3ReactProvider=h5;function d5(){const t=(0,cu.useContext)(Wy);if(!t)throw Error("useWeb3React can only be used within the Web3ReactProvider component");return t}Ws.useWeb3React=d5;(function(t){var e=ze&&ze.__createBinding||(Object.create?function(n,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(n,o,a)}:function(n,i,s,o){o===void 0&&(o=s),n[o]=i[s]}),r=ze&&ze.__exportStar||function(n,i){for(var s in n)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,n,s)};Object.defineProperty(t,"__esModule",{value:!0}),r(Ln,t),r(ec,t),r(Ws,t)})(Uu);const Oa="abi/5.7.0",xe=new O(Oa),Ki={};let Nm={calldata:!0,memory:!0,storage:!0},p5={calldata:!0,memory:!0};function sl(t,e){if(t==="bytes"||t==="string"){if(Nm[e])return!0}else if(t==="address"){if(e==="payable")return!0}else if((t.indexOf("[")>=0||t==="tuple")&&p5[e])return!0;return(Nm[e]||e==="payable")&&xe.throwArgumentError("invalid modifier","name",e),!1}function m5(t,e){let r=t;function n(a){xe.throwArgumentError(`unexpected character at position ${a}`,"param",t)}t=t.replace(/\s/g," ");function i(a){let l={type:"",name:"",parent:a,state:{allowType:!0}};return e&&(l.indexed=!1),l}let s={type:"",name:"",state:{allowType:!0}},o=s;for(let a=0;aJSON.parse(i.format(e)))),JSON.stringify(n)}let r="";return this.baseType==="array"?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(e!==Se.sighash&&(r+=this.type),r+="("+this.components.map(n=>n.format(e)).join(e===Se.full?", ":",")+")"):r+=this.type,e!==Se.sighash&&(this.indexed===!0&&(r+=" indexed"),e===Se.full&&this.name&&(r+=" "+this.name)),r}static from(e,r){return typeof e=="string"?kt.fromString(e,r):kt.fromObject(e)}static fromObject(e){return kt.isParamType(e)?e:new kt(Ki,{name:e.name||null,type:os(e.type),indexed:e.indexed==null?null:!!e.indexed,components:e.components?e.components.map(kt.fromObject):null})}static fromString(e,r){function n(i){return kt.fromObject({name:i.name,type:i.type,indexed:i.indexed,components:i.components})}return n(m5(e,!!r))}static isParamType(e){return!!(e!=null&&e._isParamType)}}function ha(t,e){return y5(t).map(r=>kt.fromString(r,e))}class On{constructor(e,r){e!==Ki&&xe.throwError("use a static from method",O.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),Cl(this,r),this._isFragment=!0,Object.freeze(this)}static from(e){return On.isFragment(e)?e:typeof e=="string"?On.fromString(e):On.fromObject(e)}static fromObject(e){if(On.isFragment(e))return e;switch(e.type){case"function":return an.fromObject(e);case"event":return Pn.fromObject(e);case"constructor":return on.fromObject(e);case"error":return ai.fromObject(e);case"fallback":case"receive":return null}return xe.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return e=e.replace(/\s/g," "),e=e.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),e=e.trim(),e.split(" ")[0]==="event"?Pn.fromString(e.substring(5).trim()):e.split(" ")[0]==="function"?an.fromString(e.substring(8).trim()):e.split("(")[0].trim()==="constructor"?on.fromString(e.trim()):e.split(" ")[0]==="error"?ai.fromString(e.substring(5).trim()):xe.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}}class Pn extends On{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="event "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",e!==Se.sighash&&this.anonymous&&(r+="anonymous "),r.trim()}static from(e){return typeof e=="string"?Pn.fromString(e):Pn.fromObject(e)}static fromObject(e){if(Pn.isEventFragment(e))return e;e.type!=="event"&&xe.throwArgumentError("invalid event object","value",e);const r={name:da(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(kt.fromObject):[],type:"event"};return new Pn(Ki,r)}static fromString(e){let r=e.match(pa);r||xe.throwArgumentError("invalid event string","value",e);let n=!1;return r[3].split(" ").forEach(i=>{switch(i.trim()){case"anonymous":n=!0;break;case"":break;default:xe.warn("unknown modifier: "+i)}}),Pn.fromObject({name:r[1].trim(),anonymous:n,inputs:ha(r[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&e.type==="event"}}function Ky(t,e){e.gas=null;let r=t.split("@");return r.length!==1?(r.length>2&&xe.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||xe.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=G.from(r[1]),r[0]):t}function Qy(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(r=>{switch(r.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+r)}})}function Jy(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return t.stateMutability!=null?(e.stateMutability=t.stateMutability,e.constant=e.stateMutability==="view"||e.stateMutability==="pure",t.constant!=null&&!!t.constant!==e.constant&&xe.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable=e.stateMutability==="payable",t.payable!=null&&!!t.payable!==e.payable&&xe.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):t.payable!=null?(e.payable=!!t.payable,t.constant==null&&!e.payable&&t.type!=="constructor"&&xe.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&xe.throwArgumentError("cannot have constant payable function","value",t)):t.constant!=null?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):t.type!=="constructor"&&xe.throwArgumentError("unable to determine stateMutability","value",t),e}class on extends On{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});e===Se.sighash&&xe.throwError("cannot format a constructor for sighash",O.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let r="constructor("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "),r.trim()}static from(e){return typeof e=="string"?on.fromString(e):on.fromObject(e)}static fromObject(e){if(on.isConstructorFragment(e))return e;e.type!=="constructor"&&xe.throwArgumentError("invalid constructor object","value",e);let r=Jy(e);r.constant&&xe.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(kt.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?G.from(e.gas):null};return new on(Ki,n)}static fromString(e){let r={type:"constructor"};e=Ky(e,r);let n=e.match(pa);return(!n||n[1].trim()!=="constructor")&&xe.throwArgumentError("invalid constructor string","value",e),r.inputs=ha(n[2].trim(),!1),Qy(n[3].trim(),r),on.fromObject(r)}static isConstructorFragment(e){return e&&e._isFragment&&e.type==="constructor"}}class an extends on{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",e!==Se.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map(n=>n.format(e)).join(", ")+") "),this.gas!=null&&(r+="@"+this.gas.toString()+" ")),r.trim()}static from(e){return typeof e=="string"?an.fromString(e):an.fromObject(e)}static fromObject(e){if(an.isFunctionFragment(e))return e;e.type!=="function"&&xe.throwArgumentError("invalid function object","value",e);let r=Jy(e);const n={type:e.type,name:da(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(kt.fromObject):[],outputs:e.outputs?e.outputs.map(kt.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?G.from(e.gas):null};return new an(Ki,n)}static fromString(e){let r={type:"function"};e=Ky(e,r);let n=e.split(" returns ");n.length>2&&xe.throwArgumentError("invalid function string","value",e);let i=n[0].match(pa);if(i||xe.throwArgumentError("invalid function signature","value",e),r.name=i[1].trim(),r.name&&da(r.name),r.inputs=ha(i[2],!1),Qy(i[3].trim(),r),n.length>1){let s=n[1].match(pa);(s[1].trim()!=""||s[3].trim()!="")&&xe.throwArgumentError("unexpected tokens","value",e),r.outputs=ha(s[2],!1)}else r.outputs=[];return an.fromObject(r)}static isFunctionFragment(e){return e&&e._isFragment&&e.type==="function"}}function Mm(t){const e=t.format();return(e==="Error(string)"||e==="Panic(uint256)")&&xe.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}class ai extends On{format(e){if(e||(e=Se.sighash),Se[e]||xe.throwArgumentError("invalid format type","format",e),e===Se.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==Se.sighash&&(r+="error "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===Se.full?", ":",")+") ",r.trim()}static from(e){return typeof e=="string"?ai.fromString(e):ai.fromObject(e)}static fromObject(e){if(ai.isErrorFragment(e))return e;e.type!=="error"&&xe.throwArgumentError("invalid error object","value",e);const r={type:e.type,name:da(e.name),inputs:e.inputs?e.inputs.map(kt.fromObject):[]};return Mm(new ai(Ki,r))}static fromString(e){let r={type:"error"},n=e.match(pa);return n||xe.throwArgumentError("invalid error signature","value",e),r.name=n[1].trim(),r.name&&da(r.name),r.inputs=ha(n[2],!1),Mm(ai.fromObject(r))}static isErrorFragment(e){return e&&e._isFragment&&e.type==="error"}}function os(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const v5=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function da(t){return(!t||!t.match(v5))&&xe.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const pa=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function y5(t){t=t.trim();let e=[],r="",n=0;for(let i=0;ithis.wordSize&&Jd.throwError("value out-of-bounds",O.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=Ut([this._padding.slice(r.length%this.wordSize),r])),r}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,r=>{this._data[e]=this._getValue(r)}}}class fu{constructor(e,r,n,i){z(this,"_data",oe(e)),z(this,"wordSize",r||32),z(this,"_coerceFunc",n),z(this,"allowLoose",i),this._offset=0}get data(){return re(this._data)}get consumed(){return this._offset}static coerce(e,r){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(r=r.toNumber()),r}coerce(e,r){return this._coerceFunc?this._coerceFunc(e,r):fu.coerce(e,r)}_peekBytes(e,r,n){let i=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+i>this._data.length&&(this.allowLoose&&n&&this._offset+r<=this._data.length?i=r:Jd.throwError("data out-of-bounds",O.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+i})),this._data.slice(this._offset,this._offset+i)}subReader(e){return new fu(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,r){let n=this._peekBytes(0,e,!!r);return this._offset+=n.length,n.slice(0,e)}readValue(){return G.from(this.readBytes(this.wordSize))}}class x5 extends Gn{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){try{r=gt(r)}catch(n){this._throwError(n.message,r)}return e.writeValue(r)}decode(e){return gt(mt(e.readValue().toHexString(),20))}}class b5 extends Gn{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}}const Ss=new O(Oa);function Yy(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let l={};n=e.map(u=>{const c=u.localName;return c||Ss.throwError("cannot encode object for signature with missing names",O.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:r}),l[c]&&Ss.throwError("cannot encode object for signature with duplicate names",O.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:r}),l[c]=!0,r[c]})}else Ss.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&Ss.throwArgumentError("types/value length mismatch","tuple",r);let i=new Mh(t.wordSize),s=new Mh(t.wordSize),o=[];e.forEach((l,u)=>{let c=n[u];if(l.dynamic){let h=s.length;l.encode(s,c);let m=i.writeUpdatableValue();o.push(g=>{m(g+h)})}else l.encode(i,c)}),o.forEach(l=>{l(i.length)});let a=t.appendWriter(i);return a+=t.appendWriter(s),a}function Xy(t,e){let r=[],n=t.subReader(0);e.forEach(s=>{let o=null;if(s.dynamic){let a=t.readValue(),l=n.subReader(a.toNumber());try{o=s.decode(l)}catch(u){if(u.code===O.errors.BUFFER_OVERRUN)throw u;o=u,o.baseType=s.name,o.name=s.localName,o.type=s.type}}else try{o=s.decode(t)}catch(a){if(a.code===O.errors.BUFFER_OVERRUN)throw a;o=a,o.baseType=s.name,o.name=s.localName,o.type=s.type}o!=null&&r.push(o)});const i=e.reduce((s,o)=>{const a=o.localName;return a&&(s[a]||(s[a]=0),s[a]++),s},{});e.forEach((s,o)=>{let a=s.localName;if(!a||i[a]!==1||(a==="length"&&(a="_length"),r[a]!=null))return;const l=r[o];l instanceof Error?Object.defineProperty(r,a,{enumerable:!0,get:()=>{throw l}}):r[a]=l});for(let s=0;s{throw o}})}return Object.freeze(r)}class E5 extends Gn{constructor(e,r,n){const i=e.type+"["+(r>=0?r:"")+"]",s=r===-1||e.dynamic;super("array",i,n,s),this.coder=e,this.length=r}defaultValue(){const e=this.coder.defaultValue(),r=[];for(let n=0;ne._data.length&&Ss.throwError("insufficient data length",O.errors.BUFFER_OVERRUN,{length:e._data.length,count:r}));let n=[];for(let i=0;i{o.dynamic&&(n=!0),i.push(o.type)});const s="tuple("+i.join(",")+")";super("tuple",s,r,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});const r=this.coders.reduce((n,i)=>{const s=i.localName;return s&&(n[s]||(n[s]=0),n[s]++),n},{});return this.coders.forEach((n,i)=>{let s=n.localName;!s||r[s]!==1||(s==="length"&&(s="_length"),e[s]==null&&(e[s]=e[i]))}),Object.freeze(e)}encode(e,r){return Yy(e,this.coders,r)}decode(e){return e.coerce(this.name,Xy(e,this.coders))}}const al=new O(Oa),P5=new RegExp(/^bytes([0-9]*)$/),C5=new RegExp(/^(u?int)([0-9]*)$/);class I5{constructor(e){z(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new x5(e.name);case"bool":return new A5(e.name);case"string":return new M5(e.name);case"bytes":return new _5(e.name);case"array":return new E5(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new ol((e.components||[]).map(n=>this._getCoder(n)),e.name);case"":return new k5(e.name)}let r=e.type.match(C5);if(r){let n=parseInt(r[2]||"256");return(n===0||n>256||n%8!==0)&&al.throwArgumentError("invalid "+r[1]+" bit length","param",e),new N5(n/8,r[1]==="int",e.name)}if(r=e.type.match(P5),r){let n=parseInt(r[1]);return(n===0||n>32)&&al.throwArgumentError("invalid bytes length","param",e),new S5(n,e.name)}return al.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,r){return new fu(e,this._getWordSize(),this.coerceFunc,r)}_getWriter(){return new Mh(this._getWordSize())}getDefaultValue(e){const r=e.map(i=>this._getCoder(kt.from(i)));return new ol(r,"_").defaultValue()}encode(e,r){e.length!==r.length&&al.throwError("types/values length mismatch",O.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});const n=e.map(o=>this._getCoder(kt.from(o))),i=new ol(n,"_"),s=this._getWriter();return i.encode(s,r),s.data}decode(e,r,n){const i=e.map(o=>this._getCoder(kt.from(o)));return new ol(i,"_").decode(this._getReader(oe(r),n))}}const R5=new I5,lt=new O(Oa);class O5 extends Na{}class T5 extends Na{}class L5 extends Na{}class Ph extends Na{static isIndexed(e){return!!(e&&e._isIndexed)}}const j5={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function Pm(t,e){const r=new Error(`deferred error during ABI decoding triggered accessing ${t}`);return r.error=e,r}class Ch{constructor(e){let r=[];typeof e=="string"?r=JSON.parse(e):r=e,z(this,"fragments",r.map(n=>On.from(n)).filter(n=>n!=null)),z(this,"_abiCoder",dr(new.target,"getAbiCoder")()),z(this,"functions",{}),z(this,"errors",{}),z(this,"events",{}),z(this,"structs",{}),this.fragments.forEach(n=>{let i=null;switch(n.type){case"constructor":if(this.deploy){lt.warn("duplicate definition - constructor");return}z(this,"deploy",n);return;case"function":i=this.functions;break;case"event":i=this.events;break;case"error":i=this.errors;break;default:return}let s=n.format();if(i[s]){lt.warn("duplicate definition - "+s);return}i[s]=n}),this.deploy||z(this,"deploy",on.from({payable:!1,type:"constructor"})),z(this,"_isInterface",!0)}format(e){e||(e=Se.full),e===Se.sighash&<.throwArgumentError("interface does not support formatting sighash","format",e);const r=this.fragments.map(n=>n.format(e));return e===Se.json?JSON.stringify(r.map(n=>JSON.parse(n))):r}static getAbiCoder(){return R5}static getAddress(e){return gt(e)}static getSighash(e){return Rt(bs(e.format()),0,4)}static getEventTopic(e){return bs(e.format())}getFunction(e){if(pe(e)){for(const n in this.functions)if(e===this.getSighash(n))return this.functions[n];lt.throwArgumentError("no matching function","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.functions).filter(s=>s.split("(")[0]===n);return i.length===0?lt.throwArgumentError("no matching function","name",n):i.length>1&<.throwArgumentError("multiple matching functions","name",n),this.functions[i[0]]}const r=this.functions[an.fromString(e).format()];return r||lt.throwArgumentError("no matching function","signature",e),r}getEvent(e){if(pe(e)){const n=e.toLowerCase();for(const i in this.events)if(n===this.getEventTopic(i))return this.events[i];lt.throwArgumentError("no matching event","topichash",n)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.events).filter(s=>s.split("(")[0]===n);return i.length===0?lt.throwArgumentError("no matching event","name",n):i.length>1&<.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}const r=this.events[Pn.fromString(e).format()];return r||lt.throwArgumentError("no matching event","signature",e),r}getError(e){if(pe(e)){const n=dr(this.constructor,"getSighash");for(const i in this.errors){const s=this.errors[i];if(e===n(s))return this.errors[i]}lt.throwArgumentError("no matching error","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),i=Object.keys(this.errors).filter(s=>s.split("(")[0]===n);return i.length===0?lt.throwArgumentError("no matching error","name",n):i.length>1&<.throwArgumentError("multiple matching errors","name",n),this.errors[i[0]]}const r=this.errors[an.fromString(e).format()];return r||lt.throwArgumentError("no matching error","signature",e),r}getSighash(e){if(typeof e=="string")try{e=this.getFunction(e)}catch(r){try{e=this.getError(e)}catch{throw r}}return dr(this.constructor,"getSighash")(e)}getEventTopic(e){return typeof e=="string"&&(e=this.getEvent(e)),dr(this.constructor,"getEventTopic")(e)}_decodeParams(e,r){return this._abiCoder.decode(e,r)}_encodeParams(e,r){return this._abiCoder.encode(e,r)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,r){typeof e=="string"&&(e=this.getError(e));const n=oe(r);return re(n.slice(0,4))!==this.getSighash(e)&<.throwArgumentError(`data signature does not match error ${e.name}.`,"data",re(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,r){return typeof e=="string"&&(e=this.getError(e)),re(Ut([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionData(e,r){typeof e=="string"&&(e=this.getFunction(e));const n=oe(r);return re(n.slice(0,4))!==this.getSighash(e)&<.throwArgumentError(`data signature does not match function ${e.name}.`,"data",re(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,r){return typeof e=="string"&&(e=this.getFunction(e)),re(Ut([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionResult(e,r){typeof e=="string"&&(e=this.getFunction(e));let n=oe(r),i=null,s="",o=null,a=null,l=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch{}break;case 4:{const u=re(n.slice(0,4)),c=j5[u];if(c)o=this._abiCoder.decode(c.inputs,n.slice(4)),a=c.name,l=c.signature,c.reason&&(i=o[0]),a==="Error"?s=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(o[0])}`:a==="Panic"&&(s=`; VM Exception while processing transaction: reverted with panic code ${o[0]}`);else try{const h=this.getError(u);o=this._abiCoder.decode(h.inputs,n.slice(4)),a=h.name,l=h.format()}catch{}break}}return lt.throwError("call revert exception"+s,O.errors.CALL_EXCEPTION,{method:e.format(),data:re(r),errorArgs:o,errorName:a,errorSignature:l,reason:i})}encodeFunctionResult(e,r){return typeof e=="string"&&(e=this.getFunction(e)),re(this._abiCoder.encode(e.outputs,r||[]))}encodeFilterTopics(e,r){typeof e=="string"&&(e=this.getEvent(e)),r.length>e.inputs.length&<.throwError("too many arguments for "+e.format(),O.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:r});let n=[];e.anonymous||n.push(this.getEventTopic(e));const i=(s,o)=>s.type==="string"?bs(o):s.type==="bytes"?st(re(o)):(s.type==="bool"&&typeof o=="boolean"&&(o=o?"0x01":"0x00"),s.type.match(/^u?int/)&&(o=G.from(o).toHexString()),s.type==="address"&&this._abiCoder.encode(["address"],[o]),mt(re(o),32));for(r.forEach((s,o)=>{let a=e.inputs[o];if(!a.indexed){s!=null&<.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?lt.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?n.push(s.map(l=>i(a,l))):n.push(i(a,s))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,r){typeof e=="string"&&(e=this.getEvent(e));const n=[],i=[],s=[];return e.anonymous||n.push(this.getEventTopic(e)),r.length!==e.inputs.length&<.throwArgumentError("event arguments/values mismatch","values",r),e.inputs.forEach((o,a)=>{const l=r[a];if(o.indexed)if(o.type==="string")n.push(bs(l));else if(o.type==="bytes")n.push(st(l));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(this._abiCoder.encode([o.type],[l]))}else i.push(o),s.push(l)}),{data:this._abiCoder.encode(i,s),topics:n}}decodeEventLog(e,r,n){if(typeof e=="string"&&(e=this.getEvent(e)),n!=null&&!e.anonymous){let m=this.getEventTopic(e);(!pe(n[0],32)||n[0].toLowerCase()!==m)&<.throwError("fragment/topic mismatch",O.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:m,value:n[0]}),n=n.slice(1)}let i=[],s=[],o=[];e.inputs.forEach((m,g)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(i.push(kt.fromObject({type:"bytes32",name:m.name})),o.push(!0)):(i.push(m),o.push(!1)):(s.push(m),o.push(!1))});let a=n!=null?this._abiCoder.decode(i,Ut(n)):null,l=this._abiCoder.decode(s,r,!0),u=[],c=0,h=0;e.inputs.forEach((m,g)=>{if(m.indexed)if(a==null)u[g]=new Ph({_isIndexed:!0,hash:null});else if(o[g])u[g]=new Ph({_isIndexed:!0,hash:a[h++]});else try{u[g]=a[h++]}catch(y){u[g]=y}else try{u[g]=l[c++]}catch(y){u[g]=y}if(m.name&&u[m.name]==null){const y=u[g];y instanceof Error?Object.defineProperty(u,m.name,{enumerable:!0,get:()=>{throw Pm(`property ${JSON.stringify(m.name)}`,y)}}):u[m.name]=y}});for(let m=0;m{throw Pm(`index ${m}`,g)}})}return Object.freeze(u)}parseTransaction(e){let r=this.getFunction(e.data.substring(0,10).toLowerCase());return r?new T5({args:this._abiCoder.decode(r.inputs,"0x"+e.data.substring(10)),functionFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r),value:G.from(e.value||"0")}):null}parseLog(e){let r=this.getEvent(e.topics[0]);return!r||r.anonymous?null:new O5({eventFragment:r,name:r.name,signature:r.format(),topic:this.getEventTopic(r),args:this.decodeEventLog(r,e.data,e.topics)})}parseError(e){const r=re(e);let n=this.getError(r.substring(0,10).toLowerCase());return n?new L5({args:this._abiCoder.decode(n.inputs,"0x"+r.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!!(e&&e._isInterface)}}const B5="contracts/5.7.0";var Qi=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};const vt=new O(B5);function hu(t,e){return Qi(this,void 0,void 0,function*(){const r=yield e;typeof r!="string"&&vt.throwArgumentError("invalid address or ENS name","name",r);try{return gt(r)}catch{}t||vt.throwError("a provider or signer is needed to resolve ENS names",O.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const n=yield t.resolveName(r);return n==null&&vt.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n})}function Il(t,e,r){return Qi(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((n,i)=>Il(t,Array.isArray(e)?e[i]:e[n.name],n))):r.type==="address"?yield hu(t,e):r.type==="tuple"?yield Il(t,e,r.components):r.baseType==="array"?Array.isArray(e)?yield Promise.all(e.map(n=>Il(t,n,r.arrayChildren))):Promise.reject(vt.makeError("invalid value for array",O.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e})}function tc(t,e,r){return Qi(this,void 0,void 0,function*(){let n={};r.length===e.inputs.length+1&&typeof r[r.length-1]=="object"&&(n=ot(r.pop())),vt.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=wt({override:hu(t.signer,n.from),signer:t.signer.getAddress()}).then(u=>Qi(this,void 0,void 0,function*(){return gt(u.signer)!==u.override&&vt.throwError("Contract with a Signer cannot override from",O.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),u.override})):n.from=t.signer.getAddress():n.from&&(n.from=hu(t.provider,n.from));const i=yield wt({args:Il(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:wt(n)||{}}),s=t.interface.encodeFunctionData(e,i.args),o={data:s,to:i.address},a=i.overrides;if(a.nonce!=null&&(o.nonce=G.from(a.nonce).toNumber()),a.gasLimit!=null&&(o.gasLimit=G.from(a.gasLimit)),a.gasPrice!=null&&(o.gasPrice=G.from(a.gasPrice)),a.maxFeePerGas!=null&&(o.maxFeePerGas=G.from(a.maxFeePerGas)),a.maxPriorityFeePerGas!=null&&(o.maxPriorityFeePerGas=G.from(a.maxPriorityFeePerGas)),a.from!=null&&(o.from=a.from),a.type!=null&&(o.type=a.type),a.accessList!=null&&(o.accessList=es(a.accessList)),o.gasLimit==null&&e.gas!=null){let u=21e3;const c=oe(s);for(let h=0;hn[u]!=null);return l.length&&vt.throwError(`cannot override ${l.map(u=>JSON.stringify(u)).join(",")}`,O.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:l}),o})}function D5(t,e){return function(...r){return tc(t,e,r)}}function F5(t,e){const r=t.signer||t.provider;return function(...n){return Qi(this,void 0,void 0,function*(){r||vt.throwError("estimate require a provider or signer",O.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield tc(t,e,n);return yield r.estimateGas(i)})}}function U5(t,e){const r=e.wait.bind(e);e.wait=n=>r(n).then(i=>(i.events=i.logs.map(s=>{let o=sr(s),a=null;try{a=t.interface.parseLog(s)}catch{}return a&&(o.args=a.args,o.decode=(l,u)=>t.interface.decodeEventLog(a.eventFragment,l,u),o.event=a.name,o.eventSignature=a.signature),o.removeListener=()=>t.provider,o.getBlock=()=>t.provider.getBlock(i.blockHash),o.getTransaction=()=>t.provider.getTransaction(i.transactionHash),o.getTransactionReceipt=()=>Promise.resolve(i),o}),i))}function ew(t,e,r){const n=t.signer||t.provider;return function(...i){return Qi(this,void 0,void 0,function*(){let s;if(i.length===e.inputs.length+1&&typeof i[i.length-1]=="object"){const l=ot(i.pop());l.blockTag!=null&&(s=yield l.blockTag),delete l.blockTag,i.push(l)}t.deployTransaction!=null&&(yield t._deployed(s));const o=yield tc(t,e,i),a=yield n.call(o,s);try{let l=t.interface.decodeFunctionResult(e,a);return r&&e.outputs.length===1&&(l=l[0]),l}catch(l){throw l.code===O.errors.CALL_EXCEPTION&&(l.address=t.address,l.args=i,l.transaction=o),l}})}}function z5(t,e){return function(...r){return Qi(this,void 0,void 0,function*(){t.signer||vt.throwError("sending a transaction requires a signer",O.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),t.deployTransaction!=null&&(yield t._deployed());const n=yield tc(t,e,r),i=yield t.signer.sendTransaction(n);return U5(t,i),i})}}function Cm(t,e,r){return e.constant?ew(t,e,r):z5(t,e)}function tw(t){return t.address&&(t.topics==null||t.topics.length===0)?"*":(t.address||"*")+"@"+(t.topics?t.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):"")}class ma{constructor(e,r){z(this,"tag",e),z(this,"filter",r),this._listeners=[]}addListener(e,r){this._listeners.push({listener:e,once:r})}removeListener(e){let r=!1;this._listeners=this._listeners.filter(n=>r||n.listener!==e?!0:(r=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const r=this.listenerCount();return this._listeners=this._listeners.filter(n=>{const i=e.slice();return setTimeout(()=>{n.listener.apply(this,i)},0),!n.once}),r}prepareEvent(e){}getEmit(e){return[e]}}class $5 extends ma{constructor(){super("error",null)}}class Im extends ma{constructor(e,r,n,i){const s={address:e};let o=r.getEventTopic(n);i?(o!==i[0]&&vt.throwArgumentError("topic mismatch","topics",i),s.topics=i.slice()):s.topics=[o],super(tw(s),s),z(this,"address",e),z(this,"interface",r),z(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(r,n)=>this.interface.decodeEventLog(this.fragment,r,n);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(r){e.args=null,e.decodeError=r}}getEmit(e){const r=w5(e.args);if(r.length)throw r[0].error;const n=(e.args||[]).slice();return n.push(e),n}}class Rm extends ma{constructor(e,r){super("*",{address:e}),z(this,"address",e),z(this,"interface",r)}prepareEvent(e){super.prepareEvent(e);try{const r=this.interface.parseLog(e);e.event=r.name,e.eventSignature=r.signature,e.decode=(n,i)=>this.interface.decodeEventLog(r.eventFragment,n,i),e.args=r.args}catch{}}}class H5{constructor(e,r,n){z(this,"interface",dr(new.target,"getInterface")(r)),n==null?(z(this,"provider",null),z(this,"signer",null)):Ra.isSigner(n)?(z(this,"provider",n.provider||null),z(this,"signer",n)):Zs.isProvider(n)?(z(this,"provider",n),z(this,"signer",null)):vt.throwArgumentError("invalid signer or provider","signerOrProvider",n),z(this,"callStatic",{}),z(this,"estimateGas",{}),z(this,"functions",{}),z(this,"populateTransaction",{}),z(this,"filters",{});{const o={};Object.keys(this.interface.events).forEach(a=>{const l=this.interface.events[a];z(this.filters,a,(...u)=>({address:this.address,topics:this.interface.encodeFilterTopics(l,u)})),o[l.name]||(o[l.name]=[]),o[l.name].push(a)}),Object.keys(o).forEach(a=>{const l=o[a];l.length===1?z(this.filters,a,this.filters[l[0]]):vt.warn(`Duplicate definition of ${a} (${l.join(", ")})`)})}if(z(this,"_runningEvents",{}),z(this,"_wrappedEmits",{}),e==null&&vt.throwArgumentError("invalid contract address or ENS name","addressOrName",e),z(this,"address",e),this.provider)z(this,"resolvedAddress",hu(this.provider,e));else try{z(this,"resolvedAddress",Promise.resolve(gt(e)))}catch{vt.throwError("provider is required to use ENS name as contract address",O.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(o=>{});const i={},s={};Object.keys(this.interface.functions).forEach(o=>{const a=this.interface.functions[o];if(s[o]){vt.warn(`Duplicate ABI entry for ${JSON.stringify(o)}`);return}s[o]=!0;{const l=a.name;i[`%${l}`]||(i[`%${l}`]=[]),i[`%${l}`].push(o)}this[o]==null&&z(this,o,Cm(this,a,!0)),this.functions[o]==null&&z(this.functions,o,Cm(this,a,!1)),this.callStatic[o]==null&&z(this.callStatic,o,ew(this,a,!0)),this.populateTransaction[o]==null&&z(this.populateTransaction,o,D5(this,a)),this.estimateGas[o]==null&&z(this.estimateGas,o,F5(this,a))}),Object.keys(i).forEach(o=>{const a=i[o];if(a.length>1)return;o=o.substring(1);const l=a[0];try{this[o]==null&&z(this,o,this[l])}catch{}this.functions[o]==null&&z(this.functions,o,this.functions[l]),this.callStatic[o]==null&&z(this.callStatic,o,this.callStatic[l]),this.populateTransaction[o]==null&&z(this.populateTransaction,o,this.populateTransaction[l]),this.estimateGas[o]==null&&z(this.estimateGas,o,this.estimateGas[l])})}static getContractAddress(e){return Fd(e)}static getInterface(e){return Ch.isInterface(e)?e:new Ch(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(r=>(r==="0x"&&vt.throwError("contract not deployed",O.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||vt.throwError("sending a transactions require a signer",O.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const r=ot(e||{});return["from","to"].forEach(function(n){r[n]!=null&&vt.throwError("cannot override "+n,O.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(r))}connect(e){typeof e=="string"&&(e=new Gd(e,this.provider));const r=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&z(r,"deployTransaction",this.deployTransaction),r}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return Ph.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if(typeof e=="string"){if(e==="error")return this._normalizeRunningEvent(new $5);if(e==="event")return this._normalizeRunningEvent(new ma("event",null));if(e==="*")return this._normalizeRunningEvent(new Rm(this.address,this.interface));const r=this.interface.getEvent(e);return this._normalizeRunningEvent(new Im(this.address,this.interface,r))}if(e.topics&&e.topics.length>0){try{const n=e.topics[0];if(typeof n!="string")throw new Error("invalid topic");const i=this.interface.getEvent(n);return this._normalizeRunningEvent(new Im(this.address,this.interface,i,e.topics))}catch{}const r={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new ma(tw(r),r))}return this._normalizeRunningEvent(new Rm(this.address,this.interface))}_checkRunningEvents(e){if(e.listenerCount()===0){delete this._runningEvents[e.tag];const r=this._wrappedEmits[e.tag];r&&e.filter&&(this.provider.off(e.filter,r),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,r,n){const i=sr(r);return i.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},i.getBlock=()=>this.provider.getBlock(r.blockHash),i.getTransaction=()=>this.provider.getTransaction(r.transactionHash),i.getTransactionReceipt=()=>this.provider.getTransactionReceipt(r.transactionHash),e.prepareEvent(i),i}_addEventListener(e,r,n){if(this.provider||vt.throwError("events require a provider or a signer with a provider",O.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(r,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const i=s=>{let o=this._wrapEvent(e,s,r);if(o.decodeError==null)try{const a=e.getEmit(o);this.emit(e.filter,...a)}catch(a){o.decodeError=a.error}e.filter!=null&&this.emit("event",o),o.decodeError!=null&&this.emit("error",o.decodeError,o)};this._wrappedEmits[e.tag]=i,e.filter!=null&&this.provider.on(e.filter,i)}}queryFilter(e,r,n){const i=this._getRunningEvent(e),s=ot(i.filter);return typeof r=="string"&&pe(r,32)?(n!=null&&vt.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),s.blockHash=r):(s.fromBlock=r??0,s.toBlock=n??"latest"),this.provider.getLogs(s).then(o=>o.map(a=>this._wrapEvent(i,a,null)))}on(e,r){return this._addEventListener(this._getRunningEvent(e),r,!1),this}once(e,r){return this._addEventListener(this._getRunningEvent(e),r,!0),this}emit(e,...r){if(!this.provider)return!1;const n=this._getRunningEvent(e),i=n.run(r)>0;return this._checkRunningEvents(n),i}listenerCount(e){return this.provider?e==null?Object.keys(this._runningEvents).reduce((r,n)=>r+this._runningEvents[n].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(e==null){const r=[];for(let n in this._runningEvents)this._runningEvents[n].listeners().forEach(i=>{r.push(i)});return r}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(e==null){for(const n in this._runningEvents){const i=this._runningEvents[n];i.removeAllListeners(),this._checkRunningEvents(i)}return this}const r=this._getRunningEvent(e);return r.removeAllListeners(),this._checkRunningEvents(r),this}off(e,r){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(r),this._checkRunningEvents(n),this}removeListener(e,r){return this.off(e,r)}}class V5 extends H5{}const q5="solidity/5.7.0",G5=new RegExp("^bytes([0-9]+)$"),W5=new RegExp("^(u?int)([0-9]*)$"),K5=new RegExp("^(.*)\\[([0-9]*)\\]$"),Q5="0000000000000000000000000000000000000000000000000000000000000000",as=new O(q5);function rw(t,e,r){switch(t){case"address":return r?Al(e,32):oe(e);case"string":return gr(e);case"bytes":return oe(e);case"bool":return e=e?"0x01":"0x00",r?Al(e,32):oe(e)}let n=t.match(W5);if(n){let i=parseInt(n[2]||"256");return(n[2]&&String(i)!==n[2]||i%8!==0||i===0||i>256)&&as.throwArgumentError("invalid number type","type",t),r&&(i=256),e=G.from(e).toTwos(i),Al(e,i/8)}if(n=t.match(G5),n){const i=parseInt(n[1]);return(String(i)!==n[1]||i===0||i>32)&&as.throwArgumentError("invalid bytes type","type",t),oe(e).byteLength!==i&&as.throwArgumentError(`invalid value for ${t}`,"value",e),r?oe((e+Q5).substring(0,66)):e}if(n=t.match(K5),n&&Array.isArray(e)){const i=n[1];parseInt(n[2]||String(e.length))!=e.length&&as.throwArgumentError(`invalid array length for ${t}`,"value",e);const o=[];return e.forEach(function(a){o.push(rw(i,a,!0))}),Ut(o)}return as.throwArgumentError("invalid type","type",t)}function nw(t,e){t.length!=e.length&&as.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);const r=[];return t.forEach(function(n,i){r.push(rw(n,e[i]))}),re(Ut(r))}function J5(t,e){return st(nw(t,e))}const hf=[{type:"function",name:"UPGRADE_INTERFACE_VERSION",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"approve",inputs:[{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"apps",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"balanceOf",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"contractURI",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"getApproved",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"getInitializedVersion",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"getPackageId",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"getPackageInfo",inputs:[{name:"package",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"tuple",internalType:"struct IKinodeAppStore.PackageInfo",components:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}]}],stateMutability:"view"},{type:"function",name:"getPackageInfo",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"tuple",internalType:"struct IKinodeAppStore.PackageInfo",components:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherKnsNodeId",type:"bytes32",internalType:"bytes32"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}]}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_knsResolver",type:"address",internalType:"contract KNSRegistryResolver"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isApprovedForAll",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"knsResolver",inputs:[],outputs:[{name:"",type:"address",internalType:"contract KNSRegistryResolver"}],stateMutability:"view"},{type:"function",name:"name",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ownerOf",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"proxiableUUID",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"registerApp",inputs:[{name:"packageName",type:"string",internalType:"string"},{name:"publisherName",type:"bytes",internalType:"bytes"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"safeTransferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"safeTransferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setApprovalForAll",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"approved",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"symbol",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"tokenURI",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"transferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unlistPacakge",inputs:[{name:"package",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateContractURI",inputs:[{name:"uri",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateMetadata",inputs:[{name:"package",type:"uint256",internalType:"uint256"},{name:"metadataUrl",type:"string",internalType:"string"},{name:"metadataHash",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"upgradeToAndCall",inputs:[{name:"newImplementation",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"event",name:"AppMetadataUpdated",inputs:[{name:"package",type:"uint256",indexed:!0,internalType:"uint256"},{name:"metadataUrl",type:"string",indexed:!1,internalType:"string"},{name:"metadataHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"AppRegistered",inputs:[{name:"package",type:"uint256",indexed:!0,internalType:"uint256"},{name:"packageName",type:"string",indexed:!1,internalType:"string"},{name:"publisherName",type:"bytes",indexed:!1,internalType:"bytes"},{name:"metadataUrl",type:"string",indexed:!1,internalType:"string"},{name:"metadataHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"Approval",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"approved",type:"address",indexed:!0,internalType:"address"},{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ApprovalForAll",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"approved",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Transfer",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Upgraded",inputs:[{name:"implementation",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"error",name:"AddressEmptyCode",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967InvalidImplementation",inputs:[{name:"implementation",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967NonPayable",inputs:[]},{type:"error",name:"ERC721IncorrectOwner",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InsufficientApproval",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC721InvalidApprover",inputs:[{name:"approver",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidOperator",inputs:[{name:"operator",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidReceiver",inputs:[{name:"receiver",type:"address",internalType:"address"}]},{type:"error",name:"ERC721InvalidSender",inputs:[{name:"sender",type:"address",internalType:"address"}]},{type:"error",name:"ERC721NonexistentToken",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FailedInnerCall",inputs:[]},{type:"error",name:"InvalidInitialization",inputs:[]},{type:"error",name:"NotInitializing",inputs:[]},{type:"error",name:"OwnableInvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"OwnableUnauthorizedAccount",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"UUPSUnauthorizedCallContext",inputs:[]},{type:"error",name:"UUPSUnsupportedProxiableUUID",inputs:[{name:"slot",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"Unauthorized",inputs:[]}];class iw{static createInterface(){return new Ch(hf)}static connect(e,r){return new V5(e,hf,r)}}r0(iw,"abi",hf);var sw={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Om=qr.createContext&&qr.createContext(sw),Y5=["attr","size","title"];function X5(t,e){if(t==null)return{};var r=Z5(t,e),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Z5(t,e){if(t==null)return{};var r={},n=Object.keys(t),i,s;for(s=0;s=0)&&(r[i]=t[i]);return r}function du(){return du=Object.assign?Object.assign.bind():function(t){for(var e=1;eqr.createElement(e.tag,pu({key:r},e.attr),ow(e.child)))}function xn(t){return e=>qr.createElement(nk,du({attr:pu({},t.attr)},e),ow(t.child))}function nk(t){var e=r=>{var{attr:n,size:i,title:s}=t,o=X5(t,Y5),a=i||r.size||"1em",l;return r.className&&(l=r.className),t.className&&(l=(l?l+" ":"")+t.className),qr.createElement("svg",du({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,n,o,{className:l,style:pu(pu({color:t.color||r.color},r.style),t.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),s&&qr.createElement("title",null,s),t.children)};return Om!==void 0?qr.createElement(Om.Consumer,null,r=>e(r)):e(sw)}function ik(t){return xn({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(t)}function sk(t){return xn({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(t)}function ok(t){return xn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"},child:[]}]})(t)}function ak(t){return xn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}var lk={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Lm=t=>{let e;const r=new Set,n=(l,u)=>{const c=typeof l=="function"?l(e):l;if(!Object.is(c,e)){const h=e;e=u??(typeof c!="object"||c===null)?c:Object.assign({},e,c),r.forEach(m=>m(e,h))}},i=()=>e,a={setState:n,getState:i,subscribe:l=>(r.add(l),()=>r.delete(l)),destroy:()=>{(lk?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}};return e=t(n,i,a),a},uk=t=>t?Lm(t):Lm;var aw={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:ck}=qr,{useSyncExternalStoreWithSelector:fk}=Gu;let jm=!1;function hk(t,e=t.getState,r){(aw?"production":void 0)!=="production"&&r&&!jm&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),jm=!0);const n=fk(t.subscribe,t.getState,t.getServerState||t.getState,e,r);return ck(n),n}const Bm=t=>{(aw?"production":void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof t=="function"?uk(t):t,r=(n,i)=>hk(e,n,i);return Object.assign(r,e),r},dk=t=>t?Bm(t):Bm;var pk={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};function lw(t,e){let r;try{r=t()}catch{return}return{getItem:i=>{var s;const o=l=>l===null?null:JSON.parse(l,e==null?void 0:e.reviver),a=(s=r.getItem(i))!=null?s:null;return a instanceof Promise?a.then(o):o(a)},setItem:(i,s)=>r.setItem(i,JSON.stringify(s,e==null?void 0:e.replacer)),removeItem:i=>r.removeItem(i)}}const ga=t=>e=>{try{const r=t(e);return r instanceof Promise?r:{then(n){return ga(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return ga(n)(r)}}}},mk=(t,e)=>(r,n,i)=>{let s={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:k=>k,version:0,merge:(k,x)=>({...x,...k}),...e},o=!1;const a=new Set,l=new Set;let u;try{u=s.getStorage()}catch{}if(!u)return t((...k)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...k)},n,i);const c=ga(s.serialize),h=()=>{const k=s.partialize({...n()});let x;const w=c({state:k,version:s.version}).then(A=>u.setItem(s.name,A)).catch(A=>{x=A});if(x)throw x;return w},m=i.setState;i.setState=(k,x)=>{m(k,x),h()};const g=t((...k)=>{r(...k),h()},n,i);let y;const b=()=>{var k;if(!u)return;o=!1,a.forEach(w=>w(n()));const x=((k=s.onRehydrateStorage)==null?void 0:k.call(s,n()))||void 0;return ga(u.getItem.bind(u))(s.name).then(w=>{if(w)return s.deserialize(w)}).then(w=>{if(w)if(typeof w.version=="number"&&w.version!==s.version){if(s.migrate)return s.migrate(w.state,w.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return w.state}).then(w=>{var A;return y=s.merge(w,(A=n())!=null?A:g),r(y,!0),h()}).then(()=>{x==null||x(y,void 0),o=!0,l.forEach(w=>w(y))}).catch(w=>{x==null||x(void 0,w)})};return i.persist={setOptions:k=>{s={...s,...k},k.getStorage&&(u=k.getStorage())},clearStorage:()=>{u==null||u.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>b(),hasHydrated:()=>o,onHydrate:k=>(a.add(k),()=>{a.delete(k)}),onFinishHydration:k=>(l.add(k),()=>{l.delete(k)})},b(),y||g},gk=(t,e)=>(r,n,i)=>{let s={storage:lw(()=>localStorage),partialize:b=>b,version:0,merge:(b,k)=>({...k,...b}),...e},o=!1;const a=new Set,l=new Set;let u=s.storage;if(!u)return t((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...b)},n,i);const c=()=>{const b=s.partialize({...n()});return u.setItem(s.name,{state:b,version:s.version})},h=i.setState;i.setState=(b,k)=>{h(b,k),c()};const m=t((...b)=>{r(...b),c()},n,i);let g;const y=()=>{var b,k;if(!u)return;o=!1,a.forEach(w=>{var A;return w((A=n())!=null?A:m)});const x=((k=s.onRehydrateStorage)==null?void 0:k.call(s,(b=n())!=null?b:m))||void 0;return ga(u.getItem.bind(u))(s.name).then(w=>{if(w)if(typeof w.version=="number"&&w.version!==s.version){if(s.migrate)return s.migrate(w.state,w.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return w.state}).then(w=>{var A;return g=s.merge(w,(A=n())!=null?A:m),r(g,!0),c()}).then(()=>{x==null||x(g,void 0),g=n(),o=!0,l.forEach(w=>w(g))}).catch(w=>{x==null||x(void 0,w)})};return i.persist={setOptions:b=>{s={...s,...b},b.storage&&(u=b.storage)},clearStorage:()=>{u==null||u.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>y(),hasHydrated:()=>o,onHydrate:b=>(a.add(b),()=>{a.delete(b)}),onFinishHydration:b=>(l.add(b),()=>{l.delete(b)})},s.skipHydration||y(),g||m},vk=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((pk?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),mk(t,e)):gk(t,e),yk=vk;var Dr=(t=>(t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t))(Dr||{});const be=t=>`${t.package}:${t.publisher}`,ns=t=>{var e;return((e=t.metadata)==null?void 0:e.name)||be(t)},df=t=>{var e,r;return t.publisher==="sys"?"system":(e=t.state)!=null&&e.our_version&&!((r=t.state)!=null&&r.capsApproved)?"downloaded":t.metadata?"installed":"local"},ar="/main:app_store:sys",ll=(t,e)=>t.package===e.package&&t.publisher===e.publisher,io=dk()(yk((t,e)=>({myApps:{downloaded:[],installed:[],local:[],system:[]},listedApps:[],searchResults:[],query:"",getMyApps:async()=>{const i=(await(await fetch(`${ar}/apps`)).json()).reduce((s,o)=>{const a=df(o);return s[a].push(o),s},{downloaded:[],installed:[],local:[],system:[]});return t(()=>({myApps:i})),i},getListedApps:async()=>{const n=await(await fetch(`${ar}/apps/listed`)).json();return t({listedApps:n}),n},getMyApp:async r=>{const i=await(await fetch(`${ar}/apps/${be(r)}`)).json(),s=df(i),o=e().myApps;o[s]=o[s].map(l=>ll(l,i)?i:l);const a=[...e().listedApps].map(l=>ll(l,i)?i:l);return t({myApps:o,listedApps:a}),i},installApp:async r=>{if((await fetch(`${ar}/apps/${be(r)}/caps`,{method:"POST"})).status!==Dr.OK)throw new Error(`Failed to approve caps for app: ${be(r)}`);if((await fetch(`${ar}/apps/${be(r)}`,{method:"POST"})).status!==Dr.CREATED)throw new Error(`Failed to install app: ${be(r)}`)},updateApp:async r=>{if((await fetch(`${ar}/apps/${be(r)}`,{method:"PUT"})).status!==Dr.NO_CONTENT)throw new Error(`Failed to update app: ${be(r)}`)},uninstallApp:async r=>{if(!confirm(`Are you sure you want to remove ${be(r)}?`))return;if((await fetch(`${ar}/apps/${be(r)}`,{method:"DELETE"})).status!==Dr.NO_CONTENT)throw new Error(`Failed to remove app: ${be(r)}`);const i={...e().myApps},s=df(r);i[s]=i[s].filter(a=>!ll(a,r));const o=e().listedApps.map(a=>ll(a,r)?{...a,state:void 0,installed:!1}:a);t({myApps:i,listedApps:o})},getListedApp:async r=>{const n=await fetch(`${ar}/apps/listed/${r}`);if(n.status!==Dr.OK)throw new Error(`Failed to get app: ${r}`);return await n.json()},downloadApp:async(r,n)=>{if((await fetch(`${ar}/apps/listed/${be(r)}`,{method:"POST",body:JSON.stringify({download_from:n})})).status!==Dr.CREATED)throw new Error(`Failed to get app: ${be(r)}`)},getCaps:async r=>{const n=await fetch(`${ar}/apps/${be(r)}/caps`);if(n.status!==Dr.OK)throw new Error(`Failed to get app: ${be(r)}`);return(await n.json())[0]},approveCaps:async r=>{if((await fetch(`${ar}/apps/${be(r)}/caps`,{method:"POST"})).status!==Dr.OK)throw new Error(`Failed to get app: ${be(r)}`)},setMirroring:async(r,n)=>{if((await fetch(`${ar}/apps/${be(r)}/mirror`,{method:n?"PUT":"DELETE"})).status!==Dr.OK)throw new Error(`Failed to start mirror: ${be(r)}`);e().getMyApp(r)},setAutoUpdate:async(r,n)=>{if((await fetch(`${ar}/apps/${be(r)}/auto-update`,{method:n?"PUT":"DELETE"})).status!==Dr.OK)throw new Error(`Failed to change auto update: ${be(r)}`);e().getMyApp(r)},get:e,set:t}),{name:"app_store",storage:lw(()=>sessionStorage)}));var uw={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(t){(function(){var e={}.hasOwnProperty;function r(){for(var s="",o=0;on(`/app-details/${be(t)}`),children:[M.jsx("img",{src:((i=t.metadata)==null?void 0:i.image)||"https://png.pngtree.com/png-vector/20190215/ourmid/pngtree-vector-question-mark-icon-png-image_515448.jpg",alt:"app icon",className:xi("mr-2",{"h-32 rounded-md":e==="large","h-12 rounded":e!=="large"})}),M.jsxs("div",{className:"flex flex-col w-full",children:[M.jsx("div",{className:xi("whitespace-nowrap overflow-hidden text-ellipsis",{"text-3xl":e==="large"}),children:((s=t.metadata)==null?void 0:s.name)||be(t)}),((o=t.metadata)==null?void 0:o.description)&&e!=="large"&&M.jsx("div",{className:"whitespace-nowrap overflow-hidden text-ellipsis",children:(l=(a=t.metadata)==null?void 0:a.description)==null?void 0:l.slice(0,100)})]})]})}function xk(t){return xn({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"},child:[]}]})(t)}function bk(t){return xn({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"},child:[]}]})(t)}function Ek(t){return xn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"},child:[]}]})(t)}function Ak(t){return xn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"},child:[]}]})(t)}function _k(t){return xn({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"},child:[]}]})(t)}function Yd(t){return xn({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"},child:[]}]})(t)}const Sk=({show:t,hide:e,hideClose:r=!1,title:n,...i})=>{const s=o=>{o.stopPropagation()};return t?M.jsx("div",{className:xi("bg-black/25 fixed top-0 bottom-0 left-0 right-0 flex flex-col c z-30 min-h-[10em] min-w-[30em]",{show:t}),onClick:e,children:M.jsxs("div",{...i,className:`flex flex-col relative bg-black/90 rounded-lg py-6 px-12 ${i.className||""}`,onClick:s,children:[!!n&&M.jsx("h4",{className:"mt-0 mb-2",children:n}),!r&&M.jsx("button",{className:"icon absolute top-1 right-1",onClick:e,children:M.jsx(Yd,{})}),M.jsx("div",{className:"flex flex-col items-center w-full",onClick:s,children:i.children})]})}):null};function Ih({msg:t}){return M.jsxs("div",{id:"loading",className:"flex flex-col text-center",children:[M.jsx("h4",{children:t}),M.jsxs("div",{id:"loader",children:[" ",M.jsx("div",{})," ",M.jsx("div",{})," ",M.jsx("div",{})," ",M.jsx("div",{})," "]})]})}function fw({app:t,...e}){var Z,se,Ne,I,f,p,E;const{updateApp:r,downloadApp:n,installApp:i,getCaps:s,getMyApp:o}=io(),[a,l]=L.useState(!1),[u,c]=L.useState(((Ne=(se=(Z=t.metadata)==null?void 0:Z.properties)==null?void 0:se.mirrors)==null?void 0:Ne[0])||"Other"),[h,m]=L.useState(""),[g,y]=L.useState([]),[b,k]=L.useState(""),{clean:x,installed:w,downloaded:A,updatable:T}=L.useMemo(()=>{var d,P,Y,v;const _=(Object.entries(((P=(d=t==null?void 0:t.metadata)==null?void 0:d.properties)==null?void 0:P.code_hashes)||{}).find(([B])=>{var F,U;return B===((U=(F=t.metadata)==null?void 0:F.properties)==null?void 0:U.current_version)})||[])[1],C=t.installed,R=!!t.state,N=!!((Y=t.state)!=null&&Y.our_version&&_)&&((v=t.state)==null?void 0:v.our_version)!==_&&t.publisher!==window.our.node;return{clean:!C&&!R&&!N,installed:C,downloaded:R,updatable:N}},[t]);L.useEffect(()=>{var S,_,C;c(((C=(_=(S=t.metadata)==null?void 0:S.properties)==null?void 0:_.mirrors)==null?void 0:C[0])||"Other")},[(f=(I=t.metadata)==null?void 0:I.properties)==null?void 0:f.mirrors]);const j=L.useCallback(async()=>{w&&!T?window.alert("App is installed"):(A&&s(t).then(S=>{y(S.request_capabilities)}),l(!0))},[t,w,A,T,l,s]),D=L.useCallback(async S=>{S.preventDefault(),S.stopPropagation();const _=u==="Other"?h:u;if(!_){window.alert("Please select a mirror");return}try{k(`Downloading ${ns(t)}...`),await n(t,_);const C=setInterval(()=>{o(t).then(()=>{k(""),l(!1),clearInterval(C)}).catch(console.log)},2e3)}catch(C){console.error(C),window.alert(`Failed to download app from ${_}, please try a different mirror.`),k("")}},[u,h,t,n,o]),$=L.useCallback(async()=>{try{k(`Installing ${ns(t)}...`),await i(t);const S=setInterval(()=>{o(t).then(_=>{_.installed&&(k(""),l(!1),clearInterval(S))}).catch(console.log)},2e3)}catch(S){console.error(S),window.alert("Failed to install, please try again."),k("")}},[t,i,o]),H=L.useCallback(async()=>{try{k(`Updating ${ns(t)}...`),await r(t);const S=setInterval(()=>{o(t).then(_=>{_.installed&&(k(""),l(!1),clearInterval(S))}).catch(console.log)},2e3)}catch(S){console.error(S),window.alert("Failed to update, please try again."),k("")}},[t,r,o]),J=ns(t);return M.jsxs(M.Fragment,{children:[M.jsx("button",{...e,type:"button",className:xi("text-sm min-w-[100px] px-2 py-1 self-start",e.className),onClick:j,children:w&&T?"Update":w?"Installed":A?"Install":"Download"}),M.jsx(Sk,{show:a,hide:()=>l(!1),children:b?M.jsx(Ih,{msg:b}):x?M.jsxs("form",{className:"flex flex-col items-center gap-2",onSubmit:D,children:[M.jsxs("h4",{children:["Download '",J,"'"]}),M.jsx("h5",{style:{margin:0},children:"Select Mirror"}),M.jsx("select",{value:u,onChange:S=>c(S.target.value),children:(((E=(p=t.metadata)==null?void 0:p.properties)==null?void 0:E.mirrors)||[]).concat(["Other"]).map(S=>M.jsx("option",{value:S,children:S},S))}),u==="Other"&&M.jsx("input",{type:"text",value:h,onChange:S=>m(S.target.value),placeholder:"Mirror, i.e. 'template.os'",className:"p-1 max-w-[240px] w-full",required:!0,autoFocus:!0}),M.jsx("button",{type:"submit",children:"Download"})]}):A?M.jsxs(M.Fragment,{children:[M.jsx("h4",{children:"Approve App Permissions"}),M.jsxs("h5",{className:"m-0",children:[ns(t)," needs the following permissions:"]}),M.jsx("ul",{className:"flex flex-col items-start",children:g.map(S=>M.jsx("li",{children:S},S))}),M.jsx("button",{type:"button",onClick:$,children:"Approve & Install"})]}):M.jsxs(M.Fragment,{children:[M.jsx("h4",{children:"Approve App Permissions"}),M.jsxs("h5",{className:"m-0",children:[ns(t)," needs the following permissions:"]}),M.jsx("br",{}),M.jsx("ul",{className:"flex flex-col items-start",children:g.map(S=>M.jsx("li",{children:S},S))}),M.jsx("button",{type:"button",onClick:H,children:"Approve & Update"})]})})]})}const hw=t=>!!t&&t[0]==="o",Dm=sa.unstable_batchedUpdates||(t=>t()),is=(t,e,r=1e-4)=>Math.abs(t-e)t===!0||!!(t&&t[e]),pn=(t,e)=>typeof t=="function"?t(e):t,dw="_szhsinMenu",kk=t=>t[dw],Nk=(t,e)=>Object.defineProperty(e,dw,{value:t}),Xd=(t,e)=>(e&&Object.keys(e).forEach(r=>{const n=t[r],i=e[r];typeof i=="function"&&n?t[r]=(...s)=>{i(...s),n(...s)}:t[r]=i}),t),Mk=t=>{if(typeof t!="string")return{top:0,right:0,bottom:0,left:0};const e=t.trim().split(/\s+/,4).map(parseFloat),r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?r:e[1];return{top:r,right:n,bottom:isNaN(e[2])?r:e[2],left:isNaN(e[3])?n:e[3]}},pf=t=>{for(;t;){if(t=t.parentNode,!t||t===document.body||!t.parentNode)return;const{overflow:e,overflowX:r,overflowY:n}=getComputedStyle(t);if(/auto|scroll|overlay|hidden/.test(e+n+r))return t}};function Pk(t,e){return{"aria-disabled":t||void 0,tabIndex:e?0:-1}}function Fm(t,e){for(let r=0;rL.useMemo(()=>{const i=e?`${t}__${e}`:t;let s=i;r&&Object.keys(r).forEach(a=>{const l=r[a];l&&(s+=` ${i}--${l===!0?a:`${a}-${l}`}`)});let o=typeof n=="function"?n(r):n;return typeof o=="string"&&(o=o.trim(),o&&(s+=` ${o}`)),s},[t,e,r,n]),Ck="szh-menu-container",mf="szh-menu",Ik="szh-menu-button",Rk="arrow",Ok=L.createContext(),Tk=L.createContext({}),Um=L.createContext({}),Lk=L.createContext({}),pw=L.createContext({}),Cn=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),It=Object.freeze({RESET:0,SET:1,UNSET:2,INCREASE:3,DECREASE:4,FIRST:5,LAST:6,SET_INDEX:7}),ya=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),Fo=Object.freeze({FIRST:"first",LAST:"last"}),jk=Object.freeze({entering:"opening",entered:"open",exiting:"closing",exited:"closed"}),gf="absolute",Bk="menuitem",zm={"aria-hidden":!0,role:Bk},Dk=Nk("MenuButton",L.forwardRef(function({className:e,isOpen:r,disabled:n,children:i,...s},o){const a=L.useMemo(()=>({open:r}),[r]);return M.jsx("button",{"aria-haspopup":!0,"aria-expanded":r,"aria-disabled":n||void 0,type:"button",disabled:n,...s,ref:o,className:mu({block:Ik,modifiers:a,className:e}),children:i})})),Fk=({className:t,containerRef:e,containerProps:r,children:n,isOpen:i,theming:s,transition:o,onClose:a})=>{const l=va(o,"item"),u=({key:h})=>{switch(h){case Cn.ESC:pn(a,{key:h,reason:ya.CANCEL});break}},c=h=>{i&&!h.currentTarget.contains(h.relatedTarget)&&pn(a,{reason:ya.BLUR})};return M.jsx("div",{...Xd({onKeyDown:u,onBlur:c},r),className:mu({block:Ck,modifiers:L.useMemo(()=>({theme:s,itemTransition:l}),[s,l]),className:t}),style:{position:"absolute",...r==null?void 0:r.style},ref:e,children:n})},Uk=()=>{let t,e=0;return{toggle:r=>{r?e++:e--,e=Math.max(e,0)},on:(r,n,i)=>{e?t||(t=setTimeout(()=>{t=0,n()},r)):i==null||i()},off:()=>{t&&(clearTimeout(t),t=0)}}},zk=(t,e)=>{const[r,n]=L.useState(),s=L.useRef({items:[],hoverIndex:-1,sorted:!1}).current,o=L.useCallback((l,u)=>{const{items:c}=s;if(!l)s.items=[];else if(u)c.push(l);else{const h=c.indexOf(l);h>-1&&(c.splice(h,1),l.contains(document.activeElement)&&(e.current.focus(),n()))}s.hoverIndex=-1,s.sorted=!1},[s,e]),a=L.useCallback((l,u,c)=>{const{items:h,hoverIndex:m}=s,g=()=>{if(s.sorted)return;const k=t.current.querySelectorAll(".szh-menu__item");h.sort((x,w)=>Fm(k,x)-Fm(k,w)),s.sorted=!0};let y=-1,b;switch(l){case It.RESET:break;case It.SET:b=u;break;case It.UNSET:b=k=>k===u?void 0:k;break;case It.FIRST:g(),y=0,b=h[y];break;case It.LAST:g(),y=h.length-1,b=h[y];break;case It.SET_INDEX:g(),y=c,b=h[y];break;case It.INCREASE:g(),y=m,y<0&&(y=h.indexOf(u)),y++,y>=h.length&&(y=0),b=h[y];break;case It.DECREASE:g(),y=m,y<0&&(y=h.indexOf(u)),y--,y<0&&(y=h.length-1),b=h[y];break}b||(y=-1),n(b),s.hoverIndex=y},[t,s]);return{hoverItem:r,dispatch:a,updateItems:o}},$k=(t,e,r,n)=>{const i=e.current.getBoundingClientRect(),s=t.current.getBoundingClientRect(),o=r===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:r.getBoundingClientRect(),a=Mk(n),l=y=>y+s.left-o.left-a.left,u=y=>y+s.left+i.width-o.right+a.right,c=y=>y+s.top-o.top-a.top,h=y=>y+s.top+i.height-o.bottom+a.bottom;return{menuRect:i,containerRect:s,getLeftOverflow:l,getRightOverflow:u,getTopOverflow:c,getBottomOverflow:h,confineHorizontally:y=>{let b=l(y);if(b<0)y-=b;else{const k=u(y);k>0&&(y-=k,b=l(y),b<0&&(y-=b))}return y},confineVertically:y=>{let b=c(y);if(b<0)y-=b;else{const k=h(y);k>0&&(y-=k,b=c(y),b<0&&(y-=b))}return y}}},Hk=({arrowRef:t,menuY:e,anchorRect:r,containerRect:n,menuRect:i})=>{let s=r.top-n.top-e+r.height/2;const o=t.current.offsetHeight*1.25;return s=Math.max(o,s),s=Math.min(s,i.height-o),s},Vk=({anchorRect:t,containerRect:e,menuRect:r,placeLeftorRightY:n,placeLeftX:i,placeRightX:s,getLeftOverflow:o,getRightOverflow:a,confineHorizontally:l,confineVertically:u,arrowRef:c,arrow:h,direction:m,position:g})=>{let y=m,b=n;g!=="initial"&&(b=u(b),g==="anchor"&&(b=Math.min(b,t.bottom-e.top),b=Math.max(b,t.top-e.top-r.height)));let k,x,w;return y==="left"?(k=i,g!=="initial"&&(x=o(k),x<0&&(w=a(s),(w<=0||-x>w)&&(k=s,y="right")))):(k=s,g!=="initial"&&(w=a(k),w>0&&(x=o(i),(x>=0||-x{let s=r.left-n.left-e+r.width/2;const o=t.current.offsetWidth*1.25;return s=Math.max(o,s),s=Math.min(s,i.width-o),s},Gk=({anchorRect:t,containerRect:e,menuRect:r,placeToporBottomX:n,placeTopY:i,placeBottomY:s,getTopOverflow:o,getBottomOverflow:a,confineHorizontally:l,confineVertically:u,arrowRef:c,arrow:h,direction:m,position:g})=>{let y=m==="top"?"top":"bottom",b=n;g!=="initial"&&(b=l(b),g==="anchor"&&(b=Math.min(b,t.right-e.left),b=Math.max(b,t.left-e.left-r.width)));let k,x,w;return y==="top"?(k=i,g!=="initial"&&(x=o(k),x<0&&(w=a(s),(w<=0||-x>w)&&(k=s,y="bottom")))):(k=s,g!=="initial"&&(w=a(k),w>0&&(x=o(i),(x>=0||-x{const{menuRect:u,containerRect:c}=l,h=r==="left"||r==="right";let m=h?n:i,g=h?i:n;if(t){const j=a.current;h?m+=j.offsetWidth:g+=j.offsetHeight}const y=o.left-c.left-u.width-m,b=o.right-c.left+m,k=o.top-c.top-u.height-g,x=o.bottom-c.top+g;let w,A;e==="end"?(w=o.right-c.left-u.width,A=o.bottom-c.top-u.height):e==="center"?(w=o.left-c.left-(u.width-o.width)/2,A=o.top-c.top-(u.height-o.height)/2):(w=o.left-c.left,A=o.top-c.top),w+=m,A+=g;const T={...l,anchorRect:o,placeLeftX:y,placeRightX:b,placeLeftorRightY:A,placeTopY:k,placeBottomY:x,placeToporBottomX:w,arrowRef:a,arrow:t,direction:r,position:s};switch(r){case"left":case"right":return Vk(T);case"top":case"bottom":default:return Gk(T)}},vf=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?L.useLayoutEffect:L.useEffect;function $m(t,e){typeof t=="function"?t(e):t.current=e}const mw=(t,e)=>L.useMemo(()=>t?e?r=>{$m(t,r),$m(e,r)}:t:e,[t,e]),Hm=-9999,Kk=({ariaLabel:t,menuClassName:e,menuStyle:r,arrow:n,arrowProps:i={},anchorPoint:s,anchorRef:o,containerRef:a,containerProps:l,focusProps:u,externalRef:c,parentScrollingRef:h,align:m="start",direction:g="bottom",position:y="auto",overflow:b="visible",setDownOverflow:k,repositionFlag:x,captureFocus:w=!0,state:A,endTransition:T,isDisabled:j,menuItemFocus:D,gap:$=0,shift:H=0,children:J,onClose:Z,...se})=>{const[Ne,I]=L.useState({x:Hm,y:Hm}),[f,p]=L.useState({}),[E,S]=L.useState(),[_,C]=L.useState(g),[R]=L.useState(Uk),[N,d]=L.useReducer(ne=>ne+1,1),{transition:P,boundingBoxRef:Y,boundingBoxPadding:v,rootMenuRef:B,rootAnchorRef:F,scrollNodesRef:U,reposition:q,viewScroll:ie,submenuCloseDelay:Q}=L.useContext(pw),{submenuCtx:W,reposSubmenu:Ye=x}=L.useContext(Um),K=L.useRef(null),ae=L.useRef(),Jr=L.useRef(),Te=L.useRef(!1),Me=L.useRef({width:0,height:0}),Yr=L.useRef(()=>{}),{hoverItem:Pe,dispatch:ce,updateItems:xr}=zk(K,ae),fe=hw(A),Le=va(P,"open"),Xr=va(P,"close"),me=U.current,$e=ne=>{switch(ne.key){case Cn.HOME:ce(It.FIRST);break;case Cn.END:ce(It.LAST);break;case Cn.UP:ce(It.DECREASE,Pe);break;case Cn.DOWN:ce(It.INCREASE,Pe);break;case Cn.SPACE:ne.target&&ne.target.className.indexOf(mf)!==-1&&ne.preventDefault();return;default:return}ne.preventDefault(),ne.stopPropagation()},bn=()=>{A==="closing"&&S(),pn(T)},He=ne=>{ne.stopPropagation(),R.on(Q,()=>{ce(It.RESET),ae.current.focus()})},Ve=ne=>{ne.target===ne.currentTarget&&R.off()},Vt=L.useCallback(ne=>{var at;const ge=o?(at=o.current)==null?void 0:at.getBoundingClientRect():s?{left:s.x,right:s.x,top:s.y,bottom:s.y,width:0,height:0}:null;if(!ge)return;me.menu||(me.menu=(Y?Y.current:pf(B.current))||window);const he=$k(a,K,me.menu,v);let{arrowX:nt,arrowY:Ae,x:_e,y:Pt,computedDirection:Ie}=Wk({arrow:n,align:m,direction:g,gap:$,shift:H,position:y,anchorRect:ge,arrowRef:Jr,positionHelpers:he});const{menuRect:Fe}=he;let Qt=Fe.height;if(!ne&&b!=="visible"){const{getTopOverflow:Ke,getBottomOverflow:Qe}=he;let Jt,Re;const Ue=Me.current.height,br=Qe(Pt);if(br>0||is(br,0)&&is(Qt,Ue))Jt=Qt-br,Re=br;else{const ke=Ke(Pt);(ke<0||is(ke,0)&&is(Qt,Ue))&&(Jt=Qt+ke,Re=0-ke,Jt>=0&&(Pt-=ke))}Jt>=0?(Qt=Jt,S({height:Jt,overflowAmt:Re})):S()}n&&p({x:nt,y:Ae}),I({x:_e,y:Pt}),C(Ie),Me.current={width:Fe.width,height:Qt}},[n,m,v,g,$,H,y,b,s,o,a,Y,B,me]);vf(()=>{fe&&(Vt(),Te.current&&d()),Te.current=fe,Yr.current=Vt},[fe,Vt,Ye]),vf(()=>{E&&!k&&(K.current.scrollTop=0)},[E,k]),vf(()=>xr,[xr]),L.useEffect(()=>{let{menu:ne}=me;if(!fe||!ne)return;if(ne=ne.addEventListener?ne:window,!me.anchors){me.anchors=[];let nt=pf(F&&F.current);for(;nt&&nt!==ne;)me.anchors.push(nt),nt=pf(nt)}let at=ie;if(me.anchors.length&&at==="initial"&&(at="auto"),at==="initial")return;const ge=()=>{at==="auto"?Dm(()=>Vt(!0)):pn(Z,{reason:ya.SCROLL})},he=me.anchors.concat(ie!=="initial"?ne:[]);return he.forEach(nt=>nt.addEventListener("scroll",ge)),()=>he.forEach(nt=>nt.removeEventListener("scroll",ge))},[F,me,fe,Z,ie,Vt]);const je=!!E&&E.overflowAmt>0;L.useEffect(()=>{if(je||!fe||!h)return;const ne=()=>Dm(Vt),at=h.current;return at.addEventListener("scroll",ne),()=>at.removeEventListener("scroll",ne)},[fe,je,h,Vt]),L.useEffect(()=>{if(typeof ResizeObserver!="function"||q==="initial")return;const ne=new ResizeObserver(([ge])=>{const{borderBoxSize:he,target:nt}=ge;let Ae,_e;if(he){const{inlineSize:Pt,blockSize:Ie}=he[0]||he;Ae=Pt,_e=Ie}else{const Pt=nt.getBoundingClientRect();Ae=Pt.width,_e=Pt.height}Ae===0||_e===0||is(Ae,Me.current.width,1)&&is(_e,Me.current.height,1)||sa.flushSync(()=>{Yr.current(),d()})}),at=K.current;return ne.observe(at,{box:"border-box"}),()=>ne.unobserve(at)},[q]),L.useEffect(()=>{if(!fe){ce(It.RESET),Xr||S();return}const{position:ne,alwaysUpdate:at}=D||{},ge=()=>{ne===Fo.FIRST?ce(It.FIRST):ne===Fo.LAST?ce(It.LAST):ne>=-1&&ce(It.SET_INDEX,void 0,ne)};if(at)ge();else if(w){const he=setTimeout(()=>{const nt=K.current;nt&&!nt.contains(document.activeElement)&&(ae.current.focus(),ge())},Le?170:100);return()=>clearTimeout(he)}},[fe,Le,Xr,w,D,ce]);const qe=L.useMemo(()=>({isParentOpen:fe,submenuCtx:R,dispatch:ce,updateItems:xr}),[fe,R,ce,xr]);let Or,Ce;E&&(k?Ce=E.overflowAmt:Or=E.height);const Ge=L.useMemo(()=>({reposSubmenu:N,submenuCtx:R,overflow:b,overflowAmt:Ce,parentMenuRef:K,parentDir:_}),[N,R,b,Ce,_]),En=Or>=0?{maxHeight:Or,overflow:b}:void 0,Be=L.useMemo(()=>({state:A,dir:_}),[A,_]),We=L.useMemo(()=>({dir:_}),[_]),An=mu({block:mf,element:Rk,modifiers:We,className:i.className}),De=M.jsxs("ul",{role:"menu","aria-label":t,...Pk(j),...Xd({onPointerEnter:W==null?void 0:W.off,onPointerMove:He,onPointerLeave:Ve,onKeyDown:$e,onAnimationEnd:bn},se),ref:mw(c,K),className:mu({block:mf,modifiers:Be,className:e}),style:{...r,...En,margin:0,display:A==="closed"?"none":void 0,position:gf,left:Ne.x,top:Ne.y},children:[M.jsx("li",{tabIndex:-1,style:{position:gf,left:0,top:0,display:"block",outline:"none"},ref:ae,...zm,...u}),n&&M.jsx("li",{...zm,...i,className:An,style:{display:"block",position:gf,left:f.x,top:f.y,...i.style},ref:Jr}),M.jsx(Um.Provider,{value:Ge,children:M.jsx(Tk.Provider,{value:qe,children:M.jsx(Ok.Provider,{value:Pe,children:pn(J,Be)})})})]});return l?M.jsx(Fk,{...l,isOpen:fe,children:De}):De},Qk=L.forwardRef(function({"aria-label":e,className:r,containerProps:n,initialMounted:i,unmountOnClose:s,transition:o,transitionTimeout:a,boundingBoxRef:l,boundingBoxPadding:u,reposition:c="auto",submenuOpenDelay:h=300,submenuCloseDelay:m=150,viewScroll:g="initial",portal:y,theming:b,onItemClick:k,...x},w){const A=L.useRef(null),T=L.useRef({}),{anchorRef:j,state:D,onClose:$}=x,H=L.useMemo(()=>({initialMounted:i,unmountOnClose:s,transition:o,transitionTimeout:a,boundingBoxRef:l,boundingBoxPadding:u,rootMenuRef:A,rootAnchorRef:j,scrollNodesRef:T,reposition:c,viewScroll:g,submenuOpenDelay:h,submenuCloseDelay:m}),[i,s,o,a,j,l,u,c,g,h,m]),J=L.useMemo(()=>({handleClick(se,Ne){se.stopPropagation||pn(k,se);let I=se.keepOpen;I===void 0&&(I=Ne&&se.key===Cn.SPACE),I||pn($,{value:se.value,key:se.key,reason:ya.CLICK})},handleClose(se){pn($,{key:se,reason:ya.CLICK})}}),[k,$]);if(!D)return null;const Z=M.jsx(pw.Provider,{value:H,children:M.jsx(Lk.Provider,{value:J,children:M.jsx(Kk,{...x,ariaLabel:e||"Menu",externalRef:w,containerRef:A,containerProps:{className:r,containerRef:A,containerProps:n,theming:b,transition:o,onClose:$}})})});return y===!0&&typeof document<"u"?sa.createPortal(Z,document.body):y?y.target?sa.createPortal(Z,y.target):y.stablePosition?null:Z:Z}),Rh=0,Oh=1,gu=2,vu=3,yu=4,Jk=5,gw=6,Yk=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],vw=t=>({_s:t,status:Yk[t],isEnter:tyu}),Th=t=>t?gw:Jk,Xk=(t,e)=>{switch(t){case Oh:case Rh:return gu;case yu:case vu:return Th(e)}},Zk=t=>typeof t=="object"?[t.enter,t.exit]:[t,t],e4=(t,e)=>setTimeout(()=>{isNaN(document.body.offsetTop)||t(e+1)},0),Vm=(t,e,r,n,i)=>{clearTimeout(n.current);const s=vw(t);e(s),r.current=s,i&&i({current:s})},t4=({enter:t=!0,exit:e=!0,preEnter:r,preExit:n,timeout:i,initialEntered:s,mountOnEnter:o,unmountOnExit:a,onStateChange:l}={})=>{const[u,c]=L.useState(()=>vw(s?gu:Th(o))),h=L.useRef(u),m=L.useRef(),[g,y]=Zk(i),b=L.useCallback(()=>{const x=Xk(h.current._s,a);x&&Vm(x,c,h,m,l)},[l,a]),k=L.useCallback(x=>{const w=T=>{switch(Vm(T,c,h,m,l),T){case Oh:g>=0&&(m.current=setTimeout(b,g));break;case yu:y>=0&&(m.current=setTimeout(b,y));break;case Rh:case vu:m.current=e4(w,T);break}},A=h.current.isEnter;typeof x!="boolean"&&(x=!A),x?!A&&w(t?r?Rh:Oh:gu):A&&w(e?n?vu:yu:Th(a))},[b,l,t,e,r,n,g,y,a]);return L.useEffect(()=>()=>clearTimeout(m.current),[]),[u,k,b]},r4=({initialOpen:t,initialMounted:e,unmountOnClose:r,transition:n,transitionTimeout:i=500}={})=>{const[{status:s},o,a]=t4({initialEntered:t,mountOnEnter:!e,unmountOnExit:r,timeout:i,enter:va(n,"open"),exit:va(n,"close")});return[{state:jk[s],endTransition:a},o]},n4=t=>{const[e,r]=r4(t),[n,i]=L.useState(),s=(o,a)=>{i({position:o,alwaysUpdate:a}),r(!0)};return[{menuItemFocus:n,...e},r,s]},i4=(t,e)=>{const[r]=L.useState({});return{onMouseDown:()=>{r.v=t&&t!=="closed"},onClick:n=>r.v?r.v=!1:e(!0,n)}},s4=(t,e)=>{const r=L.useRef(e);L.useEffect(()=>{r.current!==e&&pn(t,{open:e}),r.current=e},[t,e])},o4=L.forwardRef(function({"aria-label":e,captureFocus:r,initialOpen:n,menuButton:i,instanceRef:s,onMenuChange:o,...a},l){const[u,c,h]=n4(a),{state:m}=u,g=hw(m),y=L.useRef(null),b=i4(m,(j,D)=>h(D.detail?void 0:Fo.FIRST)),k=L.useCallback(j=>{c(!1),j.key&&y.current.focus()},[c]),x=j=>{switch(j.key){case Cn.UP:h(Fo.LAST);break;case Cn.DOWN:h(Fo.FIRST);break;default:return}j.preventDefault()},w=pn(i,{open:g});if(!w||!w.type)throw new Error("Menu requires a menuButton prop.");const A={ref:mw(w.ref,y),...Xd({onKeyDown:x,...b},w.props)};kk(w.type)==="MenuButton"&&(A.isOpen=g);const T=L.cloneElement(w,A);return s4(o,g),L.useImperativeHandle(s,()=>({openMenu:h,closeMenu:()=>c(!1)})),M.jsxs(L.Fragment,{children:[T,M.jsx(Qk,{...a,...u,"aria-label":e||(typeof w.props.children=="string"?w.props.children:"Menu"),anchorRef:y,ref:l,onClose:k})]})});function qm({...t}){return M.jsx(o4,{...t,unmountOnClose:!0,className:xi("relative",t.className),menuButton:M.jsx(Dk,{className:"small",children:M.jsx(ok,{className:"-mb-1"})}),children:t.children})}function a4({app:t,className:e}){var a,l,u,c,h;const{uninstallApp:r,setMirroring:n,setAutoUpdate:i}=io(),s=ka();return!t.state?t.metadata?M.jsx(qm,{className:e,children:M.jsxs("div",{className:"flex flex-col bg-black/50 p-2 rounded-lg",children:[((a=t.metadata)==null?void 0:a.description)&&M.jsx("button",{className:"my-1 whitespace-nowrap clear",onClick:()=>s(`/app-details/${be(t)}`),children:"View Details"}),((l=t.metadata)==null?void 0:l.external_url)&&M.jsx("a",{target:"_blank",href:(u=t.metadata)==null?void 0:u.external_url,className:"mb-1 whitespace-nowrap button clear",children:"View Site"})]})}):M.jsx(M.Fragment,{}):M.jsx(qm,{className:e,children:M.jsxs("div",{className:"flex flex-col bg-black/50 p-2 rounded-lg",children:[M.jsx("button",{className:"my-1 whitespace-nowrap clear",onClick:()=>s(`/app-details/${be(t)}`),children:"View Details"}),t.installed&&M.jsxs(M.Fragment,{children:[M.jsx("button",{className:"mb-1 whitespace-nowrap clear",onClick:()=>r(t),children:"Uninstall"}),M.jsxs("button",{className:"mb-1 whitespace-nowrap clear",onClick:()=>{var m;return n(t,!((m=t.state)!=null&&m.mirroring))},children:[(c=t.state)!=null&&c.mirroring?"Stop":"Start"," Mirroring"]}),M.jsxs("button",{className:"mb-1 whitespace-nowrap clear",onClick:()=>{var m;return i(t,!((m=t.state)!=null&&m.auto_update))},children:[(h=t.state)!=null&&h.auto_update?"Disable":"Enable"," Auto Update"]})]})]})})}function No({app:t,...e}){var r;return L.createElement("div",{...e,key:be(t),className:"flex justify-between w-full rounded hover:bg-white/10 card"},M.jsx(cw,{app:t,size:"small"}),M.jsxs("div",{className:"flex mr-1 items-start",children:[!((r=t.state)!=null&&r.caps_approved)&&M.jsx(fw,{app:t,className:"mr-2"}),M.jsx(a4,{app:t})]}))}const Lh="/my-apps";function rc({value:t="",onChange:e=()=>null,onBack:r,hideSearch:n=!1}){const i=ka(),s=Fu(),o=qr.useRef(null),a=s.key!=="default",l=s.pathname===Lh;return M.jsxs("div",{className:"flex justify-between",children:[s.pathname!=="/"?M.jsx("button",{className:"flex flex-col c mr-1 icon",onClick:()=>{r?r():i(a?-1:"/")},children:M.jsx(xk,{})}):M.jsx("button",{className:"flex flex-col c mr-1 alt",onClick:()=>i("/publish"),children:M.jsx(_k,{})}),!n&&M.jsxs("div",{className:"flex mx-2 flex-1 rounded-md",children:[M.jsx("button",{className:"icon",type:"button",onClick:()=>{var u;return(u=o.current)==null?void 0:u.focus()},children:M.jsx(Ak,{})}),M.jsx("input",{type:"text",ref:o,onChange:u=>e(u.target.value),value:t,placeholder:"Search for apps...",className:"w-full ml-2"}),t.length>0&&M.jsx("button",{className:"icon ml-2",onClick:()=>e(""),children:M.jsx(Yd,{})})]}),M.jsx("div",{className:"flex",children:M.jsxs("button",{className:xi("flex ml-1 alt"),onClick:()=>i(l?-1:Lh),children:[M.jsx(Ek,{className:"mr-1"}),"My Apps"]})})]})}function l4(){const{listedApps:t,getListedApps:e}=io(),[r,n]=L.useState("Recently published"),[i,s]=L.useState(""),[o,a]=L.useState(t),[l,u]=L.useState(1),c=L.useMemo(()=>Array.from({length:Math.ceil(o.length/10)},(g,y)=>y+1),[o]);L.useEffect(()=>{const g=(l-1)*10,y=g+10;a(t.slice(g,y))},[t]),L.useEffect(()=>{e().then(g=>{a(Object.values(g))}).catch(g=>console.error(g))},[]);const h=L.useCallback(async g=>{},[]),m=L.useCallback(g=>{s(g);const y=t.filter(b=>{var k,x,w,A;return b.package.toLowerCase().includes(g.toLowerCase())||((x=(k=b.metadata)==null?void 0:k.description)==null?void 0:x.toLowerCase().includes(g.toLowerCase()))||((A=(w=b.metadata)==null?void 0:w.description)==null?void 0:A.toLowerCase().includes(g.toLowerCase()))},[t]);a(y)},[t]);return M.jsxs("div",{className:"max-w-[900px] w-full",children:[M.jsx(rc,{value:i,onChange:m}),M.jsxs("div",{className:"flex justify-between items-center my-2 mx-0",children:[M.jsx("h4",{children:"New"}),M.jsxs("select",{value:r,onChange:g=>{n(g.target.value),h(g.target.value)},children:[M.jsx("option",{children:"Recently published"}),M.jsx("option",{children:"Most popular"}),M.jsx("option",{children:"Best rating"}),M.jsx("option",{children:"Recently updated"})]})]}),M.jsxs("div",{className:"flex flex-col flex-1 overflow-y-auto gap-2 max-h-[80vh]",children:[o.map(g=>{var y;return M.jsx(No,{app:g},be(g)+(((y=g.state)==null?void 0:y.our_version)||""))}),c.length>1&&M.jsxs("div",{className:"flex self-center",children:[l!==c[0]&&M.jsx(ik,{onClick:()=>u(l-1)}),c.map(g=>M.jsx("div",{className:xi("my-1 mx-2",{"font-bold":g===l}),onClick:()=>u(g),children:g},`page-${g}`)),l!==c[c.length-1]&&M.jsx(sk,{onClick:()=>u(l+1)})]})]})]})}function u4(){const{myApps:t,getMyApps:e}=io(),r=ka(),[n,i]=L.useState(""),[s,o]=L.useState(t);L.useEffect(()=>{e().then(o).catch(l=>console.error(l))},[]);const a=L.useCallback(l=>{i(l);const u=Object.keys(t).reduce((c,h)=>(c[h]=t[h].filter(m=>{var g,y,b,k;return m.package.toLowerCase().includes(l.toLowerCase())||((y=(g=m.metadata)==null?void 0:g.description)==null?void 0:y.toLowerCase().includes(l.toLowerCase()))||((k=(b=m.metadata)==null?void 0:b.description)==null?void 0:k.toLowerCase().includes(l.toLowerCase()))}),c),{downloaded:[],installed:[],local:[],system:[]});o(u)},[t]);return L.useEffect(()=>{n?a(n):o(t)},[t]),M.jsxs("div",{className:"flex flex-col w-full max-w-[900px]",children:[M.jsx(rc,{value:n,onChange:a}),M.jsxs("div",{className:"flex justify-between items-center mt-2",children:[M.jsx("h4",{className:"mb-2",children:"My Packages"}),M.jsxs("button",{onClick:()=>r("/publish"),children:[M.jsx(ak,{className:"mr-2"}),"Publish Package"]})]}),M.jsxs("div",{className:"flex flex-col card gap-2 mt-2",children:[M.jsx("h4",{children:"Downloaded"}),(s.downloaded||[]).map(l=>M.jsx(No,{app:l},be(l))),M.jsx("h4",{children:"Installed"}),(s.installed||[]).map(l=>M.jsx(No,{app:l},be(l))),M.jsx("h4",{children:"Local"}),(s.local||[]).map(l=>M.jsx(No,{app:l},be(l))),M.jsx("h4",{children:"System"}),(s.system||[]).map(l=>M.jsx(No,{app:l},be(l)))]})]})}function c4(){var h,m,g,y,b,k,x,w;const{myApps:t,listedApps:e,getListedApp:r}=io(),n=ka(),i=jb(),[s,o]=L.useState(void 0);L.useEffect(()=>{const A=t.local.find(T=>be(T)===i.id);if(A)return o(A);if(i.id){const T=e.find(j=>be(j)===i.id);T?o(T):r(i.id).then(j=>o(j)).catch(console.error)}},[i.id]);const a=L.useCallback(()=>{n("/publish",{state:{app:s}})},[s,n]),l=L.useMemo(()=>{var A,T;return((T=(A=s==null?void 0:s.metadata)==null?void 0:A.properties)==null?void 0:T.current_version)||"Unknown"},[s]),u=Object.entries(((m=(h=s==null?void 0:s.metadata)==null?void 0:h.properties)==null?void 0:m.code_hashes)||{}),c=((g=s==null?void 0:s.state)==null?void 0:g.our_version)||(u[(u.length||1)-1]||["",""])[1];return M.jsxs("div",{className:"flex flex-col w-full max-w-[900px]",children:[M.jsx(rc,{value:"",onChange:()=>null,hideSearch:!0}),M.jsx("div",{className:"card mt1",children:s?M.jsxs(M.Fragment,{children:[M.jsxs("div",{className:"flex justify-between",children:[M.jsx(cw,{app:s,size:"large"}),M.jsx(fw,{app:s,className:"mr-1"})]}),M.jsxs("div",{className:"flex flex-col mt-2",children:[M.jsxs("div",{className:"flex mt-1 items-start",children:[M.jsx("div",{className:"w-1/4",children:"Description"}),M.jsx("div",{className:"mb-1 w-3/4",children:(((y=s.metadata)==null?void 0:y.description)||"No description given").slice(0,2e3)})]}),M.jsxs("div",{className:"flex mt-1 items-start",children:[M.jsx("div",{className:"w-1/4",children:"Publisher"}),M.jsx("div",{className:"mb-1 w-3/4",children:s.publisher})]}),M.jsxs("div",{className:"flex mt-1 items-start",children:[M.jsx("div",{className:"w-1/4",children:"Version"}),M.jsx("div",{className:"mb-1 w-3/4",children:l})]}),M.jsxs("div",{className:"flex mt-1 items-start",children:[M.jsx("div",{className:"w-1/4",children:"Mirrors"}),M.jsx("div",{className:"w-3/4 flex flex-col",children:(((k=(b=s.metadata)==null?void 0:b.properties)==null?void 0:k.mirrors)||[]).map((A,T)=>M.jsx("div",{className:"mb-1",children:A},T+A))})]}),M.jsxs("div",{className:"flex mt-1 items-start",children:[M.jsx("div",{className:"w-1/4",children:"Hash"}),M.jsx("div",{className:"w-3/4 break-all",children:c})]})]}),M.jsx("div",{className:"app-screenshots flex mt-2 overflow-x-auto max-w-full",children:(((w=(x=s.metadata)==null?void 0:x.properties)==null?void 0:w.screenshots)||[]).map((A,T)=>M.jsx("img",{src:A,className:"mr-2 max-h-20 max-w-full rounded border border-black"},T+A))}),s.installed&&M.jsx("button",{type:"button",onClick:a,children:"Publish"})]}):M.jsxs(M.Fragment,{children:[M.jsx("h4",{children:"App details not found for "}),M.jsx("h4",{children:i.id})]})})]})}var jh=(t=>(t[t.SEPOLIA=11155111]="SEPOLIA",t[t.OPTIMISM=10]="OPTIMISM",t[t.OPTIMISM_GOERLI=420]="OPTIMISM_GOERLI",t[t.LOCAL=1337]="LOCAL",t))(jh||{});const Gm="0xaa36a7",Uo="0xa",f4={10:"0x52185B6a6017E6f079B994452F234f7C2533787B"},h4="4902",Wm={[Gm]:{chainId:Gm,chainName:"Sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:["https://rpc.sepolia.org"],blockExplorerUrls:["https://sepolia.etherscan.io"]},[Uo]:{chainId:Uo,chainName:"Optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.optimism.io"],blockExplorerUrls:["https://optimistic.etherscan.io"]}},d4=t=>{switch(t){case"1":case"0x1":return"Ethereum";case"10":case"a":case"0xa":return"Optimism";case"42161":return"Arbitrum";case"11155111":case"aa36a7":case"0xaa36a7":return"Sepolia";default:return"Unknown"}},yf=async t=>{var r,n,i;let e=await((r=window.ethereum)==null?void 0:r.request({method:"net_version"}).catch(()=>"1"));if(e="0x"+(typeof e=="string"?e.replace(/^0x/,""):e.toString(16)),!Wm[t]){console.error(`Invalid chain ID: ${t}`);return}if(t!==e)try{await((n=window.ethereum)==null?void 0:n.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]}))}catch(s){if(String(s).includes(h4))await((i=window.ethereum)==null?void 0:i.request({method:"wallet_addEthereumChain",params:[Wm[t]]}));else throw window.alert(`You must enable the ${d4(t)} network in your wallet.`),new Error(`User cancelled connection to ${t}`)}};var wa={},nc={};Object.defineProperty(nc,"__esModule",{value:!0});nc.Connector=void 0;class p4{constructor(e,r){this.actions=e,this.onError=r}resetState(){this.actions.resetState()}}nc.Connector=p4;var wf,Km;function m4(){if(Km)return wf;Km=1;function t({mustBeMetaMask:e=!1,silent:r=!1,timeout:n=3e3}={}){s();let i=!1;return new Promise(o=>{window.ethereum?a():(window.addEventListener("ethereum#initialized",a,{once:!0}),setTimeout(()=>{a()},n));function a(){if(i)return;i=!0,window.removeEventListener("ethereum#initialized",a);const{ethereum:l}=window;l&&(!e||l.isMetaMask)?o(l):(!r&&console.error("@metamask/detect-provider:",e&&l?"Non-MetaMask window.ethereum detected.":"Unable to detect window.ethereum."),o(null))}});function s(){if(typeof e!="boolean")throw new Error("@metamask/detect-provider: Expected option 'mustBeMetaMask' to be a boolean.");if(typeof r!="boolean")throw new Error("@metamask/detect-provider: Expected option 'silent' to be a boolean.");if(typeof n!="number")throw new Error("@metamask/detect-provider: Expected option 'timeout' to be a number.")}}return wf=t,wf}var g4=ze&&ze.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),v4=ze&&ze.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),y4=ze&&ze.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&g4(e,t,r);return v4(e,t),e},ss=ze&&ze.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(c){try{u(n.next(c))}catch(h){o(h)}}function l(c){try{u(n.throw(c))}catch(h){o(h)}}function u(c){c.done?s(c.value):i(c.value).then(a,l)}u((n=n.apply(t,e||[])).next())})};Object.defineProperty(wa,"__esModule",{value:!0});var yw=wa.MetaMask=wa.NoMetaMaskError=void 0;const w4=nc;class xa extends Error{constructor(){super("MetaMask not installed"),this.name=xa.name,Object.setPrototypeOf(this,xa.prototype)}}wa.NoMetaMaskError=xa;function ul(t){return Number.parseInt(t,16)}class x4 extends w4.Connector{constructor({actions:e,options:r,onError:n}){super(e,n),this.options=r}isomorphicInitialize(){return ss(this,void 0,void 0,function*(){if(!this.eagerConnection)return this.eagerConnection=Promise.resolve().then(()=>y4(m4())).then(e=>ss(this,void 0,void 0,function*(){var r,n;const i=yield e.default(this.options);i&&(this.provider=i,!((r=this.provider.providers)===null||r===void 0)&&r.length&&(this.provider=(n=this.provider.providers.find(s=>s.isMetaMask))!==null&&n!==void 0?n:this.provider.providers[0]),this.provider.on("connect",({chainId:s})=>{this.actions.update({chainId:ul(s)})}),this.provider.on("disconnect",s=>{var o;if(s.code===1013){console.debug('MetaMask logged connection error 1013: "Try again later"');return}this.actions.resetState(),(o=this.onError)===null||o===void 0||o.call(this,s)}),this.provider.on("chainChanged",s=>{this.actions.update({chainId:ul(s)})}),this.provider.on("accountsChanged",s=>{s.length===0?this.actions.resetState():this.actions.update({accounts:s})}))}))})}connectEagerly(){return ss(this,void 0,void 0,function*(){const e=this.actions.startActivation();try{if(yield this.isomorphicInitialize(),!this.provider)return e();const r=yield this.provider.request({method:"eth_accounts"});if(!r.length)throw new Error("No accounts returned");const n=yield this.provider.request({method:"eth_chainId"});this.actions.update({chainId:ul(n),accounts:r})}catch(r){console.debug("Could not connect eagerly",r),this.actions.resetState()}})}activate(e){var r,n;return ss(this,void 0,void 0,function*(){let i;return!((n=(r=this.provider)===null||r===void 0?void 0:r.isConnected)===null||n===void 0)&&n.call(r)||(i=this.actions.startActivation()),this.isomorphicInitialize().then(()=>ss(this,void 0,void 0,function*(){if(!this.provider)throw new xa;const s=yield this.provider.request({method:"eth_requestAccounts"}),o=yield this.provider.request({method:"eth_chainId"}),a=ul(o),l=typeof e=="number"?e:e==null?void 0:e.chainId;if(!l||a===l)return this.actions.update({chainId:a,accounts:s});const u=`0x${l.toString(16)}`;return this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:u}]}).catch(c=>{var h,m;if((((m=(h=c.data)===null||h===void 0?void 0:h.originalError)===null||m===void 0?void 0:m.code)||c.code)===4902&&typeof e!="number"){if(!this.provider)throw new Error("No provider");return this.provider.request({method:"wallet_addEthereumChain",params:[Object.assign(Object.assign({},e),{chainId:u})]})}throw c}).then(()=>this.activate(l))})).catch(s=>{throw i==null||i(),s})})}watchAsset({address:e,symbol:r,decimals:n,image:i}){return ss(this,void 0,void 0,function*(){if(!this.provider)throw new Error("No provider");return this.provider.request({method:"wallet_watchAsset",params:{type:"ERC20",options:{address:e,symbol:r,decimals:n,image:i}}}).then(s=>{if(!s)throw new Error("Rejected");return!0})})}}yw=wa.MetaMask=x4;const[ww,Zd]=Uu.initializeConnector(t=>new yw({actions:t}));function Qm(t){const e=t.split("."),r=new Uint8Array(t.length+e.length);let n=0;for(const i of e){const s=i.length;r[n]=s,n++;for(let o=0;oi.toString(16).padStart(2,"0")).join("")}`}const Jm=/^\d+\.\d+\.\d+$/,b4=({app:t,packageName:e,publisherId:r,goBack:n})=>{var h,m,g,y,b,k,x,w;const[i,s]=L.useState({name:((h=t==null?void 0:t.metadata)==null?void 0:h.name)||"",description:((m=t==null?void 0:t.metadata)==null?void 0:m.description)||"",image:((g=t==null?void 0:t.metadata)==null?void 0:g.image)||"",external_url:((y=t==null?void 0:t.metadata)==null?void 0:y.external_url)||"",animation_url:((b=t==null?void 0:t.metadata)==null?void 0:b.animation_url)||"",package_name:e,current_version:"",publisher:r,mirrors:[r]}),[o,a]=L.useState(Object.entries(((x=(k=t==null?void 0:t.metadata)==null?void 0:k.properties)==null?void 0:x.code_hashes)||{}).concat([["",((w=t==null?void 0:t.state)==null?void 0:w.our_version)||""]])),l=(A,T)=>{s({...i,[A]:T})};L.useEffect(()=>{l("package_name",e)},[e]),L.useEffect(()=>{l("publisher",r)},[r]);const u=L.useCallback(()=>{const A=o.reduce((H,[J,Z])=>(H[J]=Z,H),{});if(Jm.test(i.current_version))if(A[i.current_version]){if(!Object.keys(A).reduce((H,J)=>H&&Jm.test(J),!0)){window.alert("Code hashes must be a JSON object with valid version keys");return}}else{window.alert(`Code hashes must include current version (${i.current_version})`);return}else{window.alert("Current version must be in the format x.y.z");return}const T=JSON.stringify({name:i.name,description:i.description,image:i.image,external_url:i.external_url,animation_url:i.animation_url,properties:{package_name:i.package_name,current_version:i.current_version,publisher:i.publisher,mirrors:i.mirrors,code_hashes:A}}),j=new Blob([T],{type:"application/json"}),D=URL.createObjectURL(j),$=document.createElement("a");$.href=D,$.download=i.package_name+"_"+i.publisher+"_metadata.json",$.click(),URL.revokeObjectURL(D)},[i,o]),c=()=>{s({name:"",description:"",image:"",external_url:"",animation_url:"",package_name:"",current_version:"",publisher:"",mirrors:[]}),a([])};return M.jsxs("form",{className:"flex flex-col card mt-2 gap-2",children:[M.jsx("h4",{children:"Fill out metadata"}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Name"}),M.jsx("input",{type:"text",placeholder:"Name",value:i.name,onChange:A=>l("name",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Description"}),M.jsx("input",{type:"text",placeholder:"Description",value:i.description,onChange:A=>l("description",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Image URL"}),M.jsx("input",{type:"text",placeholder:"Image URL",value:i.image,onChange:A=>l("image",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"External URL"}),M.jsx("input",{type:"text",placeholder:"External URL",value:i.external_url,onChange:A=>l("external_url",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Animation URL"}),M.jsx("input",{type:"text",placeholder:"Animation URL",value:i.animation_url,onChange:A=>l("animation_url",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Package Name"}),M.jsx("input",{type:"text",placeholder:"Package Name",value:i.package_name,onChange:A=>l("package_name",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Current Version"}),M.jsx("input",{type:"text",placeholder:"Current Version",value:i.current_version,onChange:A=>l("current_version",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Publisher"}),M.jsx("input",{type:"text",placeholder:"Publisher",value:i.publisher,onChange:A=>l("publisher",A.target.value)})]}),M.jsxs("div",{className:"flex flex-col w-3/4",children:[M.jsx("label",{className:"metadata-label",children:"Mirrors (separated by commas)"}),M.jsx("input",{type:"text",placeholder:"Mirrors (separated by commas)",value:i.mirrors.join(","),onChange:A=>l("mirrors",A.target.value.split(",").map(T=>T.trim()))})]}),M.jsxs("div",{className:"flex flex-col w-3/4 gap-2",children:[M.jsxs("div",{className:"flex gap-2 mt-0 justify-between w-full",children:[M.jsx("h5",{className:"m-0",children:"Code Hashes"}),M.jsx("button",{type:"button",onClick:()=>a([...o,["",""]]),className:"clear",children:"Add code hash"})]}),o.map(([A,T],j,D)=>M.jsxs("div",{className:"flex gap-2 mt-0 w-full",children:[M.jsx("input",{type:"text",placeholder:"Version",value:A,onChange:$=>a(H=>{const J=[...H];return J[j][0]=$.target.value,J}),className:"flex-1"}),M.jsx("input",{type:"text",placeholder:"Hash",value:T,onChange:$=>a(H=>{const J=[...H];return J[j][1]=$.target.value,J}),className:"flex-5"}),D.length>1&&M.jsx("button",{type:"button",onClick:()=>a($=>$.filter((H,J)=>J!==j)),className:"icon",children:M.jsx(Yd,{})})]},j+"_code_hash"))]}),M.jsxs("div",{className:"flex gap-2 my-4",children:[M.jsx("button",{type:"button",onClick:u,className:"alt",children:"Download JSON"}),M.jsx("button",{type:"button",onClick:c,className:"clear",children:"Clear Form"}),M.jsx("button",{type:"button",onClick:n,children:"Done"})]})]})};function E4({readOnly:t=!1,checked:e,setChecked:r}){return M.jsxs("div",{className:"relative",children:[M.jsx("input",{type:"checkbox",id:"checked",name:"checked",checked:e,onChange:n=>r&&r(n.target.checked),autoFocus:!0,readOnly:t}),e&&M.jsx(bk,{className:"absolute left-1 top-1 cursor-pointer",onClick:()=>r&&r(!1)})]})}var Wn=function(t){t==null&&(t=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,t.constructor==Array?this.init_by_array(t,t.length):this.init_seed(t)};Wn.prototype.init_seed=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((t&4294901760)>>>16)*1812433253<<16)+(t&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};Wn.prototype.init_by_array=function(t,e){var r,n,i;for(this.init_seed(19650218),r=1,n=0,i=this.N>e?this.N:e;i;i--){var s=this.mt[r-1]^this.mt[r-1]>>>30;this.mt[r]=(this.mt[r]^(((s&4294901760)>>>16)*1664525<<16)+(s&65535)*1664525)+t[n]+n,this.mt[r]>>>=0,r++,n++,r>=this.N&&(this.mt[0]=this.mt[this.N-1],r=1),n>=e&&(n=0)}for(i=this.N-1;i;i--){var s=this.mt[r-1]^this.mt[r-1]>>>30;this.mt[r]=(this.mt[r]^(((s&4294901760)>>>16)*1566083941<<16)+(s&65535)*1566083941)-r,this.mt[r]>>>=0,r++,r>=this.N&&(this.mt[0]=this.mt[this.N-1],r=1)}this.mt[0]=2147483648};Wn.prototype.random_int=function(){var t,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_seed(5489),r=0;r>>1^e[t&1];for(;r>>1^e[t&1];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^e[t&1],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0};Wn.prototype.random_int31=function(){return this.random_int()>>>1};Wn.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};Wn.prototype.random=function(){return this.random_int()*(1/4294967296)};Wn.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};Wn.prototype.random_long=function(){var t=this.random_int()>>>5,e=this.random_int()>>>6;return(t*67108864+e)*(1/9007199254740992)};var A4=Wn;function _4(t,e){var r=document.createElement("div");return r.style.borderRadius="50px",r.style.overflow="hidden",r.style.padding="0px",r.style.margin="0px",r.style.width=""+t+"px",r.style.height=""+t+"px",r.style.display="inline-block",r.style.background=e,{container:r}}var S4=_4,xw={exports:{}};(function(t){var e=function(){function r(l,u,c,h){typeof u=="object"&&(c=u.depth,h=u.prototype,u.filter,u=u.circular);var m=[],g=[],y=typeof Buffer<"u";typeof u>"u"&&(u=!0),typeof c>"u"&&(c=1/0);function b(k,x){if(k===null)return null;if(x==0)return k;var w,A;if(typeof k!="object")return k;if(r.__isArray(k))w=[];else if(r.__isRegExp(k))w=new RegExp(k.source,a(k)),k.lastIndex&&(w.lastIndex=k.lastIndex);else if(r.__isDate(k))w=new Date(k.getTime());else{if(y&&Buffer.isBuffer(k))return Buffer.allocUnsafe?w=Buffer.allocUnsafe(k.length):w=new Buffer(k.length),k.copy(w),w;typeof h>"u"?(A=Object.getPrototypeOf(k),w=Object.create(A)):(w=Object.create(h),A=h)}if(u){var T=m.indexOf(k);if(T!=-1)return g[T];m.push(k),g.push(w)}for(var j in k){var D;A&&(D=Object.getOwnPropertyDescriptor(A,j)),!(D&&D.set==null)&&(w[j]=b(k[j],x-1))}return w}return b(l,c)}r.clonePrototype=function(u){if(u===null)return null;var c=function(){};return c.prototype=u,new c};function n(l){return Object.prototype.toString.call(l)}r.__objToStr=n;function i(l){return typeof l=="object"&&n(l)==="[object Date]"}r.__isDate=i;function s(l){return typeof l=="object"&&n(l)==="[object Array]"}r.__isArray=s;function o(l){return typeof l=="object"&&n(l)==="[object RegExp]"}r.__isRegExp=o;function a(l){var u="";return l.global&&(u+="g"),l.ignoreCase&&(u+="i"),l.multiline&&(u+="m"),u}return r.__getRegExpFlags=a,r}();t.exports&&(t.exports=e)})(xw);var k4=xw.exports,bw={exports:{}},Ew={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Fi=Ew,Aw={};for(var xf in Fi)Fi.hasOwnProperty(xf)&&(Aw[Fi[xf]]=xf);var te=bw.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Xt in te)if(te.hasOwnProperty(Xt)){if(!("channels"in te[Xt]))throw new Error("missing channels property: "+Xt);if(!("labels"in te[Xt]))throw new Error("missing channel labels property: "+Xt);if(te[Xt].labels.length!==te[Xt].channels)throw new Error("channel and label counts mismatch: "+Xt);var N4=te[Xt].channels,M4=te[Xt].labels;delete te[Xt].channels,delete te[Xt].labels,Object.defineProperty(te[Xt],"channels",{value:N4}),Object.defineProperty(te[Xt],"labels",{value:M4})}te.rgb.hsl=function(t){var e=t[0]/255,r=t[1]/255,n=t[2]/255,i=Math.min(e,r,n),s=Math.max(e,r,n),o=s-i,a,l,u;return s===i?a=0:e===s?a=(r-n)/o:r===s?a=2+(n-e)/o:n===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360),u=(i+s)/2,s===i?l=0:u<=.5?l=o/(s+i):l=o/(2-s-i),[a,l*100,u*100]};te.rgb.hsv=function(t){var e,r,n,i,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,u=Math.max(o,a,l),c=u-Math.min(o,a,l),h=function(m){return(u-m)/6/c+1/2};return c===0?i=s=0:(s=c/u,e=h(o),r=h(a),n=h(l),o===u?i=n-r:a===u?i=1/3+e-n:l===u&&(i=2/3+r-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,u*100]};te.rgb.hwb=function(t){var e=t[0],r=t[1],n=t[2],i=te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,n));return n=1-1/255*Math.max(e,Math.max(r,n)),[i,s*100,n*100]};te.rgb.cmyk=function(t){var e=t[0]/255,r=t[1]/255,n=t[2]/255,i,s,o,a;return a=Math.min(1-e,1-r,1-n),i=(1-e-a)/(1-a)||0,s=(1-r-a)/(1-a)||0,o=(1-n-a)/(1-a)||0,[i*100,s*100,o*100,a*100]};function P4(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)+Math.pow(t[2]-e[2],2)}te.rgb.keyword=function(t){var e=Aw[t];if(e)return e;var r=1/0,n;for(var i in Fi)if(Fi.hasOwnProperty(i)){var s=Fi[i],o=P4(t,s);o.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=e*.4124+r*.3576+n*.1805,s=e*.2126+r*.7152+n*.0722,o=e*.0193+r*.1192+n*.9505;return[i*100,s*100,o*100]};te.rgb.lab=function(t){var e=te.rgb.xyz(t),r=e[0],n=e[1],i=e[2],s,o,a;return r/=95.047,n/=100,i/=108.883,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,s=116*n-16,o=500*(r-n),a=200*(n-i),[s,o,a]};te.hsl.rgb=function(t){var e=t[0]/360,r=t[1]/100,n=t[2]/100,i,s,o,a,l;if(r===0)return l=n*255,[l,l,l];n<.5?s=n*(1+r):s=n+r-n*r,i=2*n-s,a=[0,0,0];for(var u=0;u<3;u++)o=e+1/3*-(u-1),o<0&&o++,o>1&&o--,6*o<1?l=i+(s-i)*6*o:2*o<1?l=s:3*o<2?l=i+(s-i)*(2/3-o)*6:l=i,a[u]=l*255;return a};te.hsl.hsv=function(t){var e=t[0],r=t[1]/100,n=t[2]/100,i=r,s=Math.max(n,.01),o,a;return n*=2,r*=n<=1?n:2-n,i*=s<=1?s:2-s,a=(n+r)/2,o=n===0?2*i/(s+i):2*r/(n+r),[e,o*100,a*100]};te.hsv.rgb=function(t){var e=t[0]/60,r=t[1]/100,n=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*n*(1-r),a=255*n*(1-r*s),l=255*n*(1-r*(1-s));switch(n*=255,i){case 0:return[n,l,o];case 1:return[a,n,o];case 2:return[o,n,l];case 3:return[o,a,n];case 4:return[l,o,n];case 5:return[n,o,a]}};te.hsv.hsl=function(t){var e=t[0],r=t[1]/100,n=t[2]/100,i=Math.max(n,.01),s,o,a;return a=(2-r)*n,s=(2-r)*i,o=r*i,o/=s<=1?s:2-s,o=o||0,a/=2,[e,o*100,a*100]};te.hwb.rgb=function(t){var e=t[0]/360,r=t[1]/100,n=t[2]/100,i=r+n,s,o,a,l;i>1&&(r/=i,n/=i),s=Math.floor(6*e),o=1-n,a=6*e-s,s&1&&(a=1-a),l=r+a*(o-r);var u,c,h;switch(s){default:case 6:case 0:u=o,c=l,h=r;break;case 1:u=l,c=o,h=r;break;case 2:u=r,c=o,h=l;break;case 3:u=r,c=l,h=o;break;case 4:u=l,c=r,h=o;break;case 5:u=o,c=r,h=l;break}return[u*255,c*255,h*255]};te.cmyk.rgb=function(t){var e=t[0]/100,r=t[1]/100,n=t[2]/100,i=t[3]/100,s,o,a;return s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,r*(1-i)+i),a=1-Math.min(1,n*(1-i)+i),[s*255,o*255,a*255]};te.xyz.rgb=function(t){var e=t[0]/100,r=t[1]/100,n=t[2]/100,i,s,o;return i=e*3.2406+r*-1.5372+n*-.4986,s=e*-.9689+r*1.8758+n*.0415,o=e*.0557+r*-.204+n*1.057,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92,s=s>.0031308?1.055*Math.pow(s,1/2.4)-.055:s*12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};te.xyz.lab=function(t){var e=t[0],r=t[1],n=t[2],i,s,o;return e/=95.047,r/=100,n/=108.883,e=e>.008856?Math.pow(e,1/3):7.787*e+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=116*r-16,s=500*(e-r),o=200*(r-n),[i,s,o]};te.lab.xyz=function(t){var e=t[0],r=t[1],n=t[2],i,s,o;s=(e+16)/116,i=r/500+s,o=s-n/200;var a=Math.pow(s,3),l=Math.pow(i,3),u=Math.pow(o,3);return s=a>.008856?a:(s-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=u>.008856?u:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};te.lab.lch=function(t){var e=t[0],r=t[1],n=t[2],i,s,o;return i=Math.atan2(n,r),s=i*360/2/Math.PI,s<0&&(s+=360),o=Math.sqrt(r*r+n*n),[e,o,s]};te.lch.lab=function(t){var e=t[0],r=t[1],n=t[2],i,s,o;return o=n/360*2*Math.PI,i=r*Math.cos(o),s=r*Math.sin(o),[e,i,s]};te.rgb.ansi16=function(t){var e=t[0],r=t[1],n=t[2],i=1 in arguments?arguments[1]:te.rgb.hsv(t)[2];if(i=Math.round(i/50),i===0)return 30;var s=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(e/255));return i===2&&(s+=60),s};te.hsv.ansi16=function(t){return te.rgb.ansi16(te.hsv.rgb(t),t[2])};te.rgb.ansi256=function(t){var e=t[0],r=t[1],n=t[2];if(e===r&&r===n)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;var i=16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5);return i};te.ansi16.rgb=function(t){var e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];var r=(~~(t>50)+1)*.5,n=(e&1)*r*255,i=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[n,i,s]};te.ansi256.rgb=function(t){if(t>=232){var e=(t-232)*10+8;return[e,e,e]}t-=16;var r,n=Math.floor(t/36)/5*255,i=Math.floor((r=t%36)/6)/5*255,s=r%6/5*255;return[n,i,s]};te.rgb.hex=function(t){var e=((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255),r=e.toString(16).toUpperCase();return"000000".substring(r.length)+r};te.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var r=e[0];e[0].length===3&&(r=r.split("").map(function(a){return a+a}).join(""));var n=parseInt(r,16),i=n>>16&255,s=n>>8&255,o=n&255;return[i,s,o]};te.rgb.hcg=function(t){var e=t[0]/255,r=t[1]/255,n=t[2]/255,i=Math.max(Math.max(e,r),n),s=Math.min(Math.min(e,r),n),o=i-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:i===e?l=(r-n)/o%6:i===r?l=2+(n-e)/o:l=4+(e-r)/o+4,l/=6,l%=1,[l*360,o*100,a*100]};te.hsl.hcg=function(t){var e=t[1]/100,r=t[2]/100,n=1,i=0;return r<.5?n=2*e*r:n=2*e*(1-r),n<1&&(i=(r-.5*n)/(1-n)),[t[0],n*100,i*100]};te.hsv.hcg=function(t){var e=t[1]/100,r=t[2]/100,n=e*r,i=0;return n<1&&(i=(r-n)/(1-n)),[t[0],n*100,i*100]};te.hcg.rgb=function(t){var e=t[0]/360,r=t[1]/100,n=t[2]/100;if(r===0)return[n*255,n*255,n*255];var i=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-r)*n,[(r*i[0]+l)*255,(r*i[1]+l)*255,(r*i[2]+l)*255]};te.hcg.hsv=function(t){var e=t[1]/100,r=t[2]/100,n=e+r*(1-e),i=0;return n>0&&(i=e/n),[t[0],i*100,n*100]};te.hcg.hsl=function(t){var e=t[1]/100,r=t[2]/100,n=r*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],i*100,n*100]};te.hcg.hwb=function(t){var e=t[1]/100,r=t[2]/100,n=e+r*(1-e);return[t[0],(n-e)*100,(1-n)*100]};te.hwb.hcg=function(t){var e=t[1]/100,r=t[2]/100,n=1-r,i=n-e,s=0;return i<1&&(s=(n-i)/(1-i)),[t[0],i*100,s*100]};te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};te.gray.hsl=te.gray.hsv=function(t){return[0,0,t[0]]};te.gray.hwb=function(t){return[0,100,t[0]]};te.gray.cmyk=function(t){return[0,0,0,t[0]]};te.gray.lab=function(t){return[t[0],0,0]};te.gray.hex=function(t){var e=Math.round(t[0]/100*255)&255,r=(e<<16)+(e<<8)+e,n=r.toString(16).toUpperCase();return"000000".substring(n.length)+n};te.rgb.gray=function(t){var e=(t[0]+t[1]+t[2])/3;return[e/255*100]};var _w=bw.exports,wu=_w;function C4(){for(var t={},e=Object.keys(wu),r=e.length,n=0;n1&&(r=Array.prototype.slice.call(arguments)),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function D4(t){var e=function(r){if(r==null)return r;arguments.length>1&&(r=Array.prototype.slice.call(arguments));var n=t(r);if(typeof n=="object")for(var i=n.length,s=0;sr?(e+.05)/(r+.05):(r+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb,e=(t[0]*299+t[1]*587+t[2]*114)/1e3;return e<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){return this.values.hsl[2]+=this.values.hsl[2]*t,this.setValues("hsl",this.values.hsl),this},darken:function(t){return this.values.hsl[2]-=this.values.hsl[2]*t,this.setValues("hsl",this.values.hsl),this},saturate:function(t){return this.values.hsl[1]+=this.values.hsl[1]*t,this.setValues("hsl",this.values.hsl),this},desaturate:function(t){return this.values.hsl[1]-=this.values.hsl[1]*t,this.setValues("hsl",this.values.hsl),this},whiten:function(t){return this.values.hwb[1]+=this.values.hwb[1]*t,this.setValues("hwb",this.values.hwb),this},blacken:function(t){return this.values.hwb[2]+=this.values.hwb[2]*t,this.setValues("hwb",this.values.hwb),this},greyscale:function(){var t=this.values.rgb,e=t[0]*.3+t[1]*.59+t[2]*.11;return this.setValues("rgb",[e,e,e]),this},clearer:function(t){return this.setValues("alpha",this.values.alpha-this.values.alpha*t),this},opaquer:function(t){return this.setValues("alpha",this.values.alpha+this.values.alpha*t),this},rotate:function(t){var e=this.values.hsl[0];return e=(e+t)%360,e=e<0?360+e:e,this.values.hsl[0]=e,this.setValues("hsl",this.values.hsl),this},mix:function(t,e){var r=this,n=t,i=e===void 0?.5:e,s=2*i-1,o=r.alpha()-n.alpha(),a=((s*o===-1?s:(s+o)/(1+s*o))+1)/2,l=1-a;return this.rgb(a*r.red()+l*n.red(),a*r.green()+l*n.green(),a*r.blue()+l*n.blue()).alpha(r.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t=new mn;return t.values=J4(this.values),t}};mn.prototype.getValues=function(t){for(var e={},r=0;r{const n=L.useRef(null);return L.useEffect(()=>{if(t&&n.current){const i=parseInt(t.slice(2,10),16),s=uN(e,i);n.current.innerHTML="",n.current.appendChild(s)}},[t,e]),M.jsx("div",{...r,ref:n})},{useIsActivating:cN}=Zd;function fN({provider:t,packageAbi:e}){var f;const{state:r}=Fu(),{listedApps:n}=io(),{account:i,isActive:s}=Uu.useWeb3React(),o=cN(),[a,l]=L.useState(""),[u,c]=L.useState(),[h,m]=L.useState(!1),[g,y]=L.useState(""),[b,k]=L.useState(((f=window.our)==null?void 0:f.node)||""),[x,w]=L.useState(""),[A,T]=L.useState(""),[j,D]=L.useState(!1),[$,H]=L.useState([]);L.useEffect(()=>{const p=r==null?void 0:r.app;p&&(y(p.package),k(p.publisher),D(!0))},[r]),L.useEffect(()=>{H(n.filter(p=>{var E;return((E=p.owner)==null?void 0:E.toLowerCase())===(i==null?void 0:i.toLowerCase())}))},[n,i]);const J=L.useCallback(async()=>{await ww.activate().catch(()=>{});try{yf(Uo)}catch(p){console.error(p)}},[]),Z=L.useCallback(async()=>{if(!x){T("");return}try{const E=await(await fetch(x)).text();JSON.parse(E);const S=st(gr(E));T(S)}catch{window.alert("Error calculating metadata hash. Please ensure the URL is valid and the metadata is in JSON format.")}},[x]),se=L.useCallback(async p=>{var S;p.preventDefault(),p.stopPropagation();let E=A;try{if(!E){const R=await fetch(x);await R.json();const N=await R.text();E=st(gr(N))}l("Please confirm the transaction in your wallet");const _=Qm(b);await yf(Uo);const C=await(j?e==null?void 0:e.updateMetadata(G.from(J5(["string","bytes"],[g,_])),x,E):e==null?void 0:e.registerApp(g,_,x,E));await new Promise(R=>setTimeout(R,2e3)),l("Publishing package..."),await(C==null?void 0:C.wait()),c({packageName:g,publisherId:b}),y(""),k(((S=window.our)==null?void 0:S.node)||b),w(""),T(""),D(!1)}catch(_){console.error(_),window.alert("Error publishing package. Please ensure the package name and publisher ID are valid, and the metadata is in JSON format.")}finally{l("")}},[g,j,b,x,A,e,c,y,k,w,T,D]),Ne=L.useCallback(async(p,E)=>{try{await yf(Uo);const S=await(e==null?void 0:e.unlistPacakge(st(nw(["string","bytes"],[p,Qm(E)]))));await new Promise(_=>setTimeout(_,2e3)),l("Unlisting package..."),await(S==null?void 0:S.wait())}catch(S){console.error(S),window.alert("Error unlisting package")}finally{l("")}},[e,l]),I=L.useCallback(async()=>{j||g&&b&&n.find(p=>p.package===g&&p.publisher===b)&&D(!0)},[n,g,b,j,D]);return M.jsxs("div",{className:"max-w-[900px] w-full",children:[M.jsx(rc,{hideSearch:!0,onBack:h?()=>m(!1):void 0}),M.jsxs("div",{className:"flex justify-between items-center my-2",children:[M.jsx("h4",{children:"Publish Package"}),!!i&&M.jsxs("div",{className:"card flex items-center",children:[M.jsx("span",{children:"Publishing as:"}),M.jsx(Zm,{address:i,className:"mx-2"}),M.jsxs("span",{className:"font-mono",children:[i==null?void 0:i.slice(0,4),"...",i==null?void 0:i.slice(-4)]})]})]}),a?M.jsx("div",{className:"flex flex-col items-center",children:M.jsx(Ih,{msg:a})}):u?M.jsxs("div",{className:"flex flex-col items-center",children:[M.jsx("h4",{className:"mb-2",children:"Package Published!"}),M.jsxs("div",{className:"mb-2",children:[M.jsx("strong",{children:"Package Name:"})," ",u.packageName]}),M.jsxs("div",{className:"mb-2",children:[M.jsx("strong",{children:"Publisher ID:"})," ",u.publisherId]}),M.jsx("button",{className:"flex ml-2 mt-2",onClick:()=>c(void 0),children:"Publish Another Package"})]}):h?M.jsx(b4,{packageName:g,publisherId:b,app:r==null?void 0:r.app,goBack:()=>m(!1)}):!i||!s?M.jsxs(M.Fragment,{children:[M.jsx("h4",{style:{},children:"Please connect your wallet to publish a package"}),M.jsx("button",{className:"connect-wallet row",onClick:J,children:"Connect Wallet"})]}):o?M.jsx(Ih,{msg:"Approve connection in your wallet"}):M.jsxs("form",{className:"flex flex-col flex-1 overflow-y-auto",onSubmit:se,children:[M.jsxs("div",{className:"flex cursor-pointer p-2 -mb-2",onClick:()=>D(!j),children:[M.jsx(E4,{checked:j,readOnly:!0}),M.jsx("label",{htmlFor:"update",className:"cursor-pointer ml-4",children:"Update existing package"})]}),M.jsxs("div",{className:"flex flex-col mb-2",children:[M.jsx("label",{htmlFor:"package-name",children:"Package Name"}),M.jsx("input",{id:"package-name",type:"text",required:!0,placeholder:"my-package",value:g,onChange:p=>y(p.target.value),onBlur:I})]}),M.jsxs("div",{className:"flex flex-col mb-2",children:[M.jsx("label",{htmlFor:"publisher-id",children:"Publisher ID"}),M.jsx("input",{id:"publisher-id",type:"text",required:!0,value:b,onChange:p=>k(p.target.value),onBlur:I})]}),M.jsxs("div",{className:"flex flex-col mb-2",children:[M.jsx("label",{htmlFor:"metadata-url",children:"Metadata URL"}),M.jsx("input",{id:"metadata-url",type:"text",required:!0,value:x,onChange:p=>w(p.target.value),onBlur:Z,placeholder:"https://github/my-org/my-repo/metadata.json"}),M.jsxs("div",{className:"mt-2",children:["Metadata is a JSON file that describes your package.",M.jsx("br",{})," You can"," ",M.jsx("a",{onClick:()=>m(!0),className:"underline cursor-pointer",children:"fill out a template here"}),"."]})]}),M.jsxs("div",{className:"flex flex-col mb-2",children:[M.jsx("label",{htmlFor:"metadata-hash",children:"Metadata Hash"}),M.jsx("input",{readOnly:!0,id:"metadata-hash",type:"text",value:A,onChange:p=>T(p.target.value),placeholder:"Calculated automatically from metadata URL"})]}),M.jsx("button",{type:"submit",children:"Publish"})]}),M.jsxs("div",{className:"flex flex-col my-2 mt-4",children:[M.jsx("h4",{children:"Packages You Own"}),$.length>0?M.jsx("div",{className:"flex flex-col",children:$.map(p=>M.jsxs("div",{className:"flex items-center justify-between",children:[M.jsxs("div",{className:"flex items-center",children:[M.jsx(Zm,{address:p.publisher,className:"mr-2"}),M.jsx("span",{children:p.package})]}),M.jsx("button",{className:"flex items-center",onClick:()=>Ne(p.package,p.publisher),children:M.jsx("span",{children:"Unpublish"})})]},`${p.package}${p.publisher}`))}):M.jsx("div",{className:"flex items-center",children:M.jsx("span",{children:"No packages published"})})]})]})}var hN={VITE_SEPOLIA_RPC_URL:"https://eth-sepolia.g.alchemy.com/v2/IyK9MyYxeSXOxLbdpI44d_Ayw58WH2M7",VITE_OPTIMISM_RPC_URL:"https://mainnet.optimism.io/",BASE_URL:"/main:app_store:sys",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const dN=[[ww,Zd]],{useProvider:pN}=Zd,zo="/main:app_store:sys";window.our&&(window.our.process=zo==null?void 0:zo.replace("/",""));const mN=`${hN.VITE_NODE_URL||"http://localhost:8080"}${zo}`;function gN(){const t=pN(),[e,r]=L.useState(!0),[n,i]=L.useState(void 0);if(L.useEffect(()=>{if(!t)return;(async()=>{(await t.getNetwork()).chainId===jh.OPTIMISM&&i(iw.connect(f4[jh.OPTIMISM],t.getSigner()))})()},[t]),L.useEffect(()=>{},[]),!e)return M.jsxs("div",{className:"flex flex-col c",children:[M.jsx("h2",{style:{color:"red"},children:"Node not connected"}),M.jsxs("h4",{children:["You need to start a node at ",mN," before you can use this UI in development."]})]});const s={provider:t,packageAbi:n};return M.jsx("div",{className:"flex flex-col c h-screen w-screen",children:M.jsx(Uu.Web3ReactProvider,{connectors:dN,children:M.jsx(Zb,{basename:zo,children:M.jsxs(Yb,{children:[M.jsx(_o,{path:"/",element:M.jsx(l4,{})}),M.jsx(_o,{path:Lh,element:M.jsx(u4,{})}),M.jsx(_o,{path:"/app-details/:id",element:M.jsx(c4,{})}),M.jsx(_o,{path:"/publish",element:M.jsx(fN,{...s})})]})})})})}Ef.createRoot(document.getElementById("root")).render(M.jsx(qr.StrictMode,{children:M.jsx(gN,{})})); diff --git a/kinode/packages/app_store/pkg/ui/assets/kinode.svg b/kinode/packages/app_store/pkg/ui/assets/kinode.svg new file mode 100644 index 000000000..3582c80af --- /dev/null +++ b/kinode/packages/app_store/pkg/ui/assets/kinode.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kinode/packages/app_store/pkg/ui/assets/vite.svg b/kinode/packages/app_store/pkg/ui/assets/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/kinode/packages/app_store/pkg/ui/assets/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/kinode/packages/app_store/pkg/ui/index.html b/kinode/packages/app_store/pkg/ui/index.html index ae348735a..0c15e35df 100644 --- a/kinode/packages/app_store/pkg/ui/index.html +++ b/kinode/packages/app_store/pkg/ui/index.html @@ -15,8 +15,8 @@ - - + + diff --git a/kinode/packages/app_store/ui/buidl.sh b/kinode/packages/app_store/ui/buidl.sh new file mode 100755 index 000000000..b94069edb --- /dev/null +++ b/kinode/packages/app_store/ui/buidl.sh @@ -0,0 +1 @@ +npm run build:copy && cd ~/kinode && cargo +nightly build -p kinode && cd kinode/packages/app_store/ui \ No newline at end of file diff --git a/kinode/packages/app_store/ui/package-lock.json b/kinode/packages/app_store/ui/package-lock.json index 1a70e2112..1b5f917a3 100644 --- a/kinode/packages/app_store/ui/package-lock.json +++ b/kinode/packages/app_store/ui/package-lock.json @@ -21,12 +21,14 @@ "@web3-react/walletconnect": "^8.2.3", "@web3-react/walletconnect-connector": "^6.2.13", "@web3-react/walletconnect-v2": "^8.5.1", + "classnames": "^2.5.1", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^5.0.1", "react-router-dom": "^6.21.3", "tailwindcss": "^3.4.3", + "unocss": "^0.59.0-beta.1", "zustand": "^4.4.7" }, "devDependencies": { @@ -72,26 +74,142 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz", + "integrity": "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==", + "dependencies": { + "execa": "^5.1.1", + "find-up": "^5.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/install-pkg/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@antfu/install-pkg/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@antfu/install-pkg/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@antfu/install-pkg/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@antfu/install-pkg/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/@antfu/install-pkg/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -101,27 +219,25 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", - "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", - "dev": true, + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.6", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -140,31 +256,39 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.23.5", "@babel/helper-validator-option": "^7.23.5", @@ -180,7 +304,36 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -189,7 +342,6 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -198,7 +350,6 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, "dependencies": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" @@ -211,7 +362,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -219,11 +369,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, "dependencies": { "@babel/types": "^7.22.15" }, @@ -235,7 +395,6 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -250,20 +409,56 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { + "node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dependencies": { "@babel/types": "^7.22.5" }, @@ -275,7 +470,6 @@ "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -287,7 +481,6 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -296,7 +489,6 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -305,44 +497,41 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", - "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", - "dev": true, + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.6", - "@babel/types": "^7.23.6" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -350,6 +539,50 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", @@ -380,6 +613,41 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", + "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { "version": "7.23.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", @@ -393,33 +661,31 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", - "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", - "dev": true, + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -428,10 +694,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "dev": true, + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -476,7 +741,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "aix" @@ -492,7 +756,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -508,7 +771,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -524,7 +786,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -540,7 +801,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -556,7 +816,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -572,7 +831,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -588,7 +846,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -604,7 +861,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -620,7 +876,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -636,7 +891,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -652,7 +906,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -668,7 +921,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -684,7 +936,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -700,7 +951,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -716,7 +966,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -732,7 +981,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -748,7 +996,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -764,7 +1011,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -780,7 +1026,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -796,7 +1041,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -812,7 +1056,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -828,7 +1071,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1617,6 +1859,25 @@ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" + }, + "node_modules/@iconify/utils": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.22.tgz", + "integrity": "sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==", + "dependencies": { + "@antfu/install-pkg": "^0.1.1", + "@antfu/utils": "^0.7.5", + "@iconify/types": "^2.0.0", + "debug": "^4.3.4", + "kolorist": "^1.8.0", + "local-pkg": "^0.5.0", + "mlly": "^1.5.0" + } + }, "node_modules/@ioredis/commands": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", @@ -1712,13 +1973,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -1733,9 +1994,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } @@ -1746,9 +2007,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -2335,6 +2596,11 @@ "node": ">=14" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==" + }, "node_modules/@remix-run/router": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz", @@ -2343,6 +2609,27 @@ "node": ">=14.0.0" } }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", @@ -2350,7 +2637,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -2363,7 +2649,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -2376,7 +2661,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -2389,7 +2673,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -2402,7 +2685,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2415,7 +2697,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2428,7 +2709,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2441,7 +2721,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2454,7 +2733,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2467,7 +2745,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -2480,7 +2757,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2493,7 +2769,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2506,7 +2781,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -2872,6 +3146,11 @@ "@types/ms": "*" } }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, "node_modules/@types/http-proxy": { "version": "1.17.14", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", @@ -3035,124 +3314,449 @@ "node": "^16.0.0 || >=18.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", + "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/utils": "6.15.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", + "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", + "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", + "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", + "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.15.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@unocss/astro": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/astro/-/astro-0.59.0.tgz", + "integrity": "sha512-1M1OeYO7rthZ8z5Xokb0hE89rXk9AIvELDMRJl0TxYJ8xwK824S2LxpyK52i2g3+S2XmJaQMFoRvfLdCNK+dMw==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/reset": "0.59.0", + "@unocss/vite": "0.59.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/@unocss/cli": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/cli/-/cli-0.59.0.tgz", + "integrity": "sha512-2aWSFJ1SCxJBjRAsRog7JvVFfnB4Dps+ol0IFQw99nxaQx8YNiGKN8/bZjkajr0Leo77eAhKoxh2+LjIjrkr6Q==", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@rollup/pluginutils": "^5.1.0", + "@unocss/config": "0.59.0", + "@unocss/core": "0.59.0", + "@unocss/preset-uno": "0.59.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "fast-glob": "^3.3.2", + "magic-string": "^0.30.9", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0" + }, + "bin": { + "unocss": "bin/unocss.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/config": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/config/-/config-0.59.0.tgz", + "integrity": "sha512-uBsLXmT8Dap6YRHSdlsVLYev8L6JVK6vUFcVCe0w7B74TC+GceE13lNOG3Zhz1EVfHaOrUEcYFthDILUkjBR3Q==", + "dependencies": { + "@unocss/core": "0.59.0", + "unconfig": "^0.3.12" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/core": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/core/-/core-0.59.0.tgz", + "integrity": "sha512-9tXL6TV4FRpmFy70dHryA5NHsS7bV/x771LOPnZyiw+TRK4oGVk96IsATOflcn7L3FbXQY1mV+8Uzhkhx2PY0A==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/extractor-arbitrary-variants": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.59.0.tgz", + "integrity": "sha512-KYprrpJXgdoJZa4iVejW9uqht4W712Ra0x1gvznPW0BupIPF7vEyNAGvPTnB2y5Wb6OjNMiPbGnqL7BfBoxYSQ==", + "dependencies": { + "@unocss/core": "0.59.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/inspector": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.59.0.tgz", + "integrity": "sha512-4xmc6HuAU12ED6SuGNr8QaKOHgskKGdLhKDHCQqFgYHw8gZoiBhmLcV4jP3Ef34JeWgQYbJ1cHQcYiHFXBmppQ==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/rule-utils": "0.59.0", + "gzip-size": "^6.0.0", + "sirv": "^2.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/postcss": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.59.0.tgz", + "integrity": "sha512-1+kb6x+5cT5WiokBF8s3NgO1HxaF86vrPx3VAeOMSHTUNhzNvb72e6HBLRUp1Qu6kxbCLDixFpBtNZyH5ueoog==", + "dependencies": { + "@unocss/config": "0.59.0", + "@unocss/core": "0.59.0", + "@unocss/rule-utils": "0.59.0", + "css-tree": "^2.3.1", + "fast-glob": "^3.3.2", + "magic-string": "^0.30.9", + "postcss": "^8.4.38" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/@unocss/preset-attributify": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.59.0.tgz", + "integrity": "sha512-jh1hXJQIygvagDwRuWX5pz3a8/PJGgMimzU6v6yWByOfvGIrLoxUFdJCc9IsvP6K9GUUqSBIyJDPx9364yysgQ==", + "dependencies": { + "@unocss/core": "0.59.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-icons": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.59.0.tgz", + "integrity": "sha512-P0tH0ueZYprU1XGVAJl3nDC9uhPBJ43bnsV098uebBa8G650j7W5kslvSfV3XxG+/iujo2k2EGKxja9/uR4E0g==", + "dependencies": { + "@iconify/utils": "^2.1.22", + "@unocss/core": "0.59.0", + "ofetch": "^1.3.4" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", - "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", - "dev": true, + "node_modules/@unocss/preset-mini": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.59.0.tgz", + "integrity": "sha512-UQ4+JyHHbtpfW6XyC1bsnoJx4MMCJKo+Y1n+5fYo9WRkVzZ7IkcZBeHG2wkNWH8TLBmzjZNvyUYEAi5lntDW1A==", "dependencies": { - "@typescript-eslint/typescript-estree": "6.15.0", - "@typescript-eslint/utils": "6.15.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "@unocss/core": "0.59.0", + "@unocss/extractor-arbitrary-variants": "0.59.0", + "@unocss/rule-utils": "0.59.0" }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-tagify": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.59.0.tgz", + "integrity": "sha512-JsVGUmSusHR6BLacxuGOf0XOqtAzBaoas15RvTklmj0eOzh5ClhsqP9C7guENyCMqmCgg0xz/22u4F9hujP6kg==", + "dependencies": { + "@unocss/core": "0.59.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-typography": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.59.0.tgz", + "integrity": "sha512-HADPOJMeQM2O7eZuGBzKKMKTJw9wdWfJImftFAYC9+p42Kg8FNuLg9E10oZjejS8VDSxzcv9HKuyTXYvvDgAmg==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/preset-mini": "0.59.0" + } + }, + "node_modules/@unocss/preset-uno": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.59.0.tgz", + "integrity": "sha512-pNiyWZuByCq8hB14ITaJVtjFu02OYOce/I4dbKQ+SEWd1L3t6miplpKzsE+dptqH0iT33EWfQeXs6fkfjH+EZA==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/preset-mini": "0.59.0", + "@unocss/preset-wind": "0.59.0", + "@unocss/rule-utils": "0.59.0" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-web-fonts": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.59.0.tgz", + "integrity": "sha512-LH2BnYmxeVUqX3A4+bEX/EljV/82n5XHDwPk0VI3bJ9GWxnhTxkmagIXldmPFqVs8tIAYSDJbY31MGXR9WnqMA==", + "dependencies": { + "@unocss/core": "0.59.0", + "ofetch": "^1.3.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@typescript-eslint/types": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", - "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "node_modules/@unocss/preset-wind": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.59.0.tgz", + "integrity": "sha512-HazRIJDZ5/TZCZ3zC2KAd45UvmizPQi2uF7V3ZUqXQRGtrmZN24RsJkZNa4a3LiY2U0fEhHA7Pm6zPGx/nyeJg==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/preset-mini": "0.59.0", + "@unocss/rule-utils": "0.59.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", - "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", - "dev": true, + "node_modules/@unocss/reset": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-0.59.0.tgz", + "integrity": "sha512-9f5DYoaqzlaFz2fAzAJOXWZ41Qmgg4u9WdzMQ7SYALeEq61khScaSrf8osNTKFZuRLKPWYwX6JErzdAkfIH/6A==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/rule-utils": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-0.59.0.tgz", + "integrity": "sha512-PDGAcyBFXqB7GHhKGRfajoiepL4A9SM4pyulMMT328H0uHEbwrB+niCVE/hubP2rCOGrrq7JH0nR4ftaC6m8Ow==", "dependencies": { - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/visitor-keys": "6.15.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@unocss/core": "^0.59.0", + "magic-string": "^0.30.9" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">=14" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", - "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", - "dev": true, + "node_modules/@unocss/scope": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/scope/-/scope-0.59.0.tgz", + "integrity": "sha512-6rPic8ed4MlFz9nkPL2GxfkmTEwuu8sAxODEDRB5ws2/JzEiZHFrBd7O/p/OJHvwiizmNJ1Y6i65LAxky3RNSg==" + }, + "node_modules/@unocss/transformer-attributify-jsx": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.59.0.tgz", + "integrity": "sha512-4EoADTT/7H4Cmid11y5HZ4Bgc37qxAPcb1W0DBvXZJT1gh7N+4UFmR6s6s+N15IBUX7QKArUKh/U7ZwL9XZPMQ==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.15.0", - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/typescript-estree": "6.15.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@unocss/core": "0.59.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/transformer-attributify-jsx-babel": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx-babel/-/transformer-attributify-jsx-babel-0.59.0.tgz", + "integrity": "sha512-Q0jllcvNE5WkT3vfKlWl6ALtg6PYm3Pd8F2va4PL9x6LvI0KzPz8wA022z+UqX0lMR84bnfdGN3751zWJecLPg==", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", + "@unocss/core": "0.59.0" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", - "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", - "dev": true, + "node_modules/@unocss/transformer-compile-class": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.59.0.tgz", + "integrity": "sha512-9GXyPl/aYxCoHJbD6u6iVrCcyiy4kBUZlgoOqySUZfFCPhslPPyPUsksZSRebRuA4ys2/XSi6cRVhtAZfAdjBw==", "dependencies": { - "@typescript-eslint/types": "6.15.0", - "eslint-visitor-keys": "^3.4.1" + "@unocss/core": "0.59.0" }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/transformer-directives": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.59.0.tgz", + "integrity": "sha512-YHwUw5ByUlY8v3/85q8qdoOUnPKsiQokEM2u8BxOZ8HFoMYb5xjCNjY0I85unvRaKhh1tnrZWG+tq1510RSpHQ==", + "dependencies": { + "@unocss/core": "0.59.0", + "@unocss/rule-utils": "0.59.0", + "css-tree": "^2.3.1" + } + }, + "node_modules/@unocss/transformer-variant-group": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.59.0.tgz", + "integrity": "sha512-tjzWaMusoGy1uFEZuuzu04SOIooG2RkeX2wtlQpr2hM2Kl8ZG4QW+8nxClwLiLkarurBeFtTNXCn5jjL9MVg3g==", + "dependencies": { + "@unocss/core": "0.59.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/@unocss/vite": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/@unocss/vite/-/vite-0.59.0.tgz", + "integrity": "sha512-AfVw7PWjFb/+chqbGUjy0r/yFIWAkvPFUY5p4wXyLlPpbQjKlC/96Q771paLexvIhAvcYjUCrAgZSEMnk2JrSQ==", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@rollup/pluginutils": "^5.1.0", + "@unocss/config": "0.59.0", + "@unocss/core": "0.59.0", + "@unocss/inspector": "0.59.0", + "@unocss/scope": "0.59.0", + "@unocss/transformer-directives": "0.59.0", + "chokidar": "^3.6.0", + "fast-glob": "^3.3.2", + "magic-string": "^0.30.9" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0" + } }, "node_modules/@vitejs/plugin-react": { "version": "4.2.1", @@ -4574,7 +5178,6 @@ "version": "4.22.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4672,6 +5275,14 @@ "node": ">=6.14.2" } }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", @@ -4715,7 +5326,6 @@ "version": "1.0.30001571", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4735,7 +5345,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4746,15 +5355,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4767,6 +5370,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -4790,6 +5396,11 @@ "consola": "^3.2.3" } }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/clipboardy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", @@ -4865,6 +5476,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, "node_modules/command-line-args": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", @@ -4936,8 +5552,7 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie-es": { "version": "1.0.0", @@ -4973,6 +5588,18 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -5077,9 +5704,9 @@ } }, "node_modules/destr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", - "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" }, "node_modules/detect-browser": { "version": "5.2.0", @@ -5136,6 +5763,11 @@ "node": ">=6.0.0" } }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, "node_modules/duplexify": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", @@ -5164,8 +5796,7 @@ "node_modules/electron-to-chromium": { "version": "1.4.616", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", - "dev": true + "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -5223,7 +5854,6 @@ "version": "0.19.10", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", - "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -5261,7 +5891,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -5270,7 +5899,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -5526,6 +6154,11 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -5813,7 +6446,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -5933,7 +6565,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -6012,7 +6643,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -6061,6 +6691,20 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/h3": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz", @@ -6081,7 +6725,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -6676,7 +7319,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -6731,7 +7373,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -6807,6 +7448,11 @@ "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -6889,11 +7535,25 @@ "@types/trusted-types": "^2.0.2" } }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -6952,11 +7612,26 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "dependencies": { "yallist": "^3.0.2" } }, + "node_modules/magic-string": { + "version": "0.30.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz", + "integrity": "sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7047,9 +7722,9 @@ } }, "node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dependencies": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -7078,6 +7753,14 @@ "node": ">=4" } }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7147,9 +7830,9 @@ } }, "node_modules/node-fetch-native": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz", - "integrity": "sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/node-forge": { "version": "1.3.1", @@ -7173,8 +7856,7 @@ "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -7235,13 +7917,13 @@ } }, "node_modules/ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.4.tgz", + "integrity": "sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==", "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" + "destr": "^2.0.3", + "node-fetch-native": "^1.6.3", + "ufo": "^1.5.3" } }, "node_modules/ohash": { @@ -7297,7 +7979,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -7312,7 +7993,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -7410,6 +8090,11 @@ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -7497,9 +8182,9 @@ } }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -7517,7 +8202,7 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -8049,7 +8734,6 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", - "dev": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -8302,6 +8986,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -8320,9 +9017,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -8577,7 +9274,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -8735,7 +9431,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -8756,6 +9451,14 @@ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -8976,9 +9679,9 @@ } }, "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, "node_modules/uint8arrays": { "version": "3.1.1", @@ -8988,6 +9691,20 @@ "multiformats": "^9.4.2" } }, + "node_modules/unconfig": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-0.3.12.tgz", + "integrity": "sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==", + "dependencies": { + "@antfu/utils": "^0.7.7", + "defu": "^6.1.4", + "jiti": "^1.21.0", + "mlly": "^1.6.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/uncrypto": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", @@ -9024,6 +9741,51 @@ "node": ">= 4.0.0" } }, + "node_modules/unocss": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/unocss/-/unocss-0.59.0.tgz", + "integrity": "sha512-mCF31cfzonVtCFnkW/D99Xf031vedQ4ysyWCmwFr6kVGISc4a1OVqrmC8nv1Lp+8sPHIY9umtpNLX4Iwli/w5w==", + "dependencies": { + "@unocss/astro": "0.59.0", + "@unocss/cli": "0.59.0", + "@unocss/core": "0.59.0", + "@unocss/extractor-arbitrary-variants": "0.59.0", + "@unocss/postcss": "0.59.0", + "@unocss/preset-attributify": "0.59.0", + "@unocss/preset-icons": "0.59.0", + "@unocss/preset-mini": "0.59.0", + "@unocss/preset-tagify": "0.59.0", + "@unocss/preset-typography": "0.59.0", + "@unocss/preset-uno": "0.59.0", + "@unocss/preset-web-fonts": "0.59.0", + "@unocss/preset-wind": "0.59.0", + "@unocss/reset": "0.59.0", + "@unocss/transformer-attributify-jsx": "0.59.0", + "@unocss/transformer-attributify-jsx-babel": "0.59.0", + "@unocss/transformer-compile-class": "0.59.0", + "@unocss/transformer-directives": "0.59.0", + "@unocss/transformer-variant-group": "0.59.0", + "@unocss/vite": "0.59.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@unocss/webpack": "0.59.0", + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@unocss/webpack": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/unstorage": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", @@ -9119,7 +9881,6 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -9307,7 +10068,6 @@ "version": "5.0.12", "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", - "dev": true, "dependencies": { "esbuild": "^0.19.3", "postcss": "^8.4.32", @@ -9579,8 +10339,7 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "2.4.1", @@ -9679,7 +10438,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "engines": { "node": ">=10" }, diff --git a/kinode/packages/app_store/ui/package.json b/kinode/packages/app_store/ui/package.json index 25ff0f8f0..848170921 100644 --- a/kinode/packages/app_store/ui/package.json +++ b/kinode/packages/app_store/ui/package.json @@ -16,6 +16,7 @@ "dependencies": { "@ethersproject/hash": "^5.7.0", "@kinode/client-api": "^0.1.0", + "@metamask/jazzicon": "^2.0.0", "@szhsin/react-menu": "^4.1.0", "@web3-react/coinbase-wallet": "^8.2.3", "@web3-react/core": "^8.2.2", @@ -27,12 +28,14 @@ "@web3-react/walletconnect": "^8.2.3", "@web3-react/walletconnect-connector": "^6.2.13", "@web3-react/walletconnect-v2": "^8.5.1", + "classnames": "^2.5.1", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^5.0.1", "react-router-dom": "^6.21.3", "tailwindcss": "^3.4.3", + "unocss": "^0.59.0-beta.1", "zustand": "^4.4.7" }, "devDependencies": { diff --git a/kinode/packages/app_store/pkg/ui/assets/background-a451R5-M.jpg b/kinode/packages/app_store/ui/public/assets/background.jpg similarity index 100% rename from kinode/packages/app_store/pkg/ui/assets/background-a451R5-M.jpg rename to kinode/packages/app_store/ui/public/assets/background.jpg diff --git a/kinode/packages/app_store/ui/public/assets/fonts/BarlowCondensed-Black.ttf b/kinode/packages/app_store/ui/public/assets/fonts/BarlowCondensed-Black.ttf new file mode 100644 index 000000000..1776e63f4 Binary files /dev/null and b/kinode/packages/app_store/ui/public/assets/fonts/BarlowCondensed-Black.ttf differ diff --git a/kinode/packages/app_store/ui/public/assets/fonts/Futura-Heavy.ttf b/kinode/packages/app_store/ui/public/assets/fonts/Futura-Heavy.ttf new file mode 100644 index 000000000..97eded13a Binary files /dev/null and b/kinode/packages/app_store/ui/public/assets/fonts/Futura-Heavy.ttf differ diff --git a/kinode/packages/app_store/ui/public/assets/fonts/OpenSans-CondBold.ttf b/kinode/packages/app_store/ui/public/assets/fonts/OpenSans-CondBold.ttf new file mode 100644 index 000000000..83966f213 Binary files /dev/null and b/kinode/packages/app_store/ui/public/assets/fonts/OpenSans-CondBold.ttf differ diff --git a/kinode/packages/app_store/ui/public/assets/kinode.svg b/kinode/packages/app_store/ui/public/assets/kinode.svg new file mode 100644 index 000000000..3582c80af --- /dev/null +++ b/kinode/packages/app_store/ui/public/assets/kinode.svg @@ -0,0 +1,4 @@ + + + + diff --git a/kinode/packages/app_store/ui/public/assets/vite.svg b/kinode/packages/app_store/ui/public/assets/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/kinode/packages/app_store/ui/public/assets/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/kinode/packages/app_store/ui/src/App.css b/kinode/packages/app_store/ui/src/App.css deleted file mode 100644 index 4484f9cba..000000000 --- a/kinode/packages/app_store/ui/src/App.css +++ /dev/null @@ -1,381 +0,0 @@ -#root { - max-width: 700px; - margin: 0 auto; - padding: 2rem 0; - text-align: center; - width: 75%; - max-height: calc(100vh - 64px); - min-height: calc(100vh - 64px); -} - -/* General */ - -.row { - display: flex; - flex-direction: row; - align-items: center; -} - -.row.center { - justify-content: center; -} - -.row.between { - justify-content: space-between; -} - -.row.around { - justify-content: space-around; -} - -.col { - display: flex; - flex-direction: column; - align-items: flex-start; -} - -.col.center { - align-items: center; -} - -.card { - background-color: var(--input-background); - border-radius: 0.75em; - border: 1px solid var(--orange-medium); - padding: 1em; -} - -button.action-btn { - min-width: 100px; -} - -button.small { - padding: 0.25em 0.5em; - height: auto; -} - -/* Specific */ - -.searchbar { - height: 2.25em; - padding: .5em 1em; - border-radius: 16px; - flex: 1; - background-color: var(--input-background); - text-align: left; -} - -.searchbar>input { - border: none; - height: 1.5em; - margin-left: 0.5em; - flex: 1; -} - -button.connect-wallet { - margin: 1em auto 0; -} - -.my-pkg-btn { - margin-left: 1em; -} - -.my-pkg-btn.selected { - background-color: var(--bg-gray-medium); -} - -.app-header { - cursor: pointer; - width: calc(100% - 10.3em); - justify-content: flex-start; -} - -.app-header:hover { - text-decoration: underline; -} - -.app-header.large:hover { - text-decoration: none; - cursor: default; -} - -.app-header.small>img { - height: 3em; - margin-right: 1em; - border-radius: 0.375em; -} - -.app-header>img { - height: 3em; - margin-right: 1em; - border-radius: 0.375em; -} - -.app-header.large>img { - height: 5em; - margin-right: 1em; - border-radius: 0.5em; -} - -.app-header.large .app-name { - font-size: 1.5em; -} - -.app-entry { - width: 100%; -} - -.app-actions { - margin-right: 0.5em; -} - -.dropdown { - cursor: pointer; - position: relative; -} - -.dropdown>ul { - background-color: var(--orange-medium); - padding: 0.5em 1em; - border-radius: 0.5em; - align-items: flex-start; - text-align: left; - border: 1px solid var(--orange-medium); - display: flex; - flex-direction: column; -} - -.dropdown .dropdown-header { - align-self: flex-end; -} - -.dropdown .dropdown-list { - position: absolute; - top: 1em; - right: -0.5em; -} - -.page-selector { - margin: 0.25em 0.5em; -} - -.page-selector.selected { - font-weight: 900; -} - -.back-btn { - margin-right: 1em; - justify-content: center; - width: 2.5em; -} - -.app-details { - margin-top: 0.5em; - align-items: flex-start; -} - -.app-details .title { - width: 8em; - text-align: left; -} - -.app-details .value { - margin-bottom: 0.5em; - text-align: left; - max-width: calc(100% - 8em); -} - -.app-details .value.underline { - text-decoration: underline; -} - -.app-details .value.permission { - background-color: var(--bg-gray-medium); - border-radius: 2em; - padding: 0.25em 0.5em; - margin-bottom: 0.5em; -} - -.app-screenshots { - margin-top: 0.5em; - overflow-x: scroll; - max-width: 100%; -} - -.app-screenshots>img { - margin-right: 1em; - max-height: 10em; - max-width: 100%; - border-radius: 0.5em; - border: 1px solid var(--bg-gray-medium); -} - -.search-icon { - cursor: pointer; - color: var(--bg-gray-solid); - font-size: 1.25em; -} - -.f-width { - width: 100%; -} - -#loading h3 { - text-align: center; -} - -#loader { - display: inline-block; - position: relative; - width: 48px; - height: 48px; - margin-top: 16px; -} - -#loader div { - box-sizing: border-box; - display: block; - position: absolute; - width: 36px; - height: 36px; - margin: 6px; - border: 6px solid #fff; - border-radius: 50%; - animation: loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; - border-color: #fff transparent transparent transparent; -} - -#loader div:nth-child(1) { - animation-delay: -0.45s; -} - -#loader div:nth-child(2) { - animation-delay: -0.3s; -} - -#loader div:nth-child(3) { - animation-delay: -0.15s; -} - -@keyframes loader { - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -} - -.action-entry { - margin-bottom: 0.25em; - color: inherit; - white-space: nowrap; - cursor: pointer; - padding: 0.25em; -} - -.action-entry:hover { - transform: scale(1.05); -} - -.action-entry:first-child { - margin-top: 0.25em; -} - -.my-apps-list { - flex: 1; - height: 100%; - overflow-y: scroll; - max-height: calc(100vh - 10em); - border-radius: 0.5em; -} - -.ellipsis { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.title { - width: calc(100% - 6em); -} - -.title>div { - max-width: 100%; -} - -.modal-backdrop { - background-color: rgba(0, 0, 0, 0.3); - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - z-index: 3; - min-height: 10em; - min-width: 20em; -} - -.modal-backdrop .close { - position: absolute; - top: 0.5em; - right: 0.5em; - font-size: 18px; - font-weight: 200; - cursor: pointer; - transform: rotate(45deg); -} - -.modal { - position: relative; - background-color: var(--dark-background); - color: black; - border-radius: 8px; - padding: 24px; - line-height: 24px; - max-width: 500px; - min-width: 300px; - color: var(--text-light); -} - -.modal .modal-title { - margin-top: 0; - margin-bottom: 0.5em; -} - -.modal .modal-content { - align-items: center; - width: 100%; - gap: 1em; -} - -form.new { - gap: 1em; -} - -form.metadata { - gap: 0.5em; - align-items: center; -} - -form.metadata input { - width: 100%; -} - -form.metadata .row { - margin-top: 1em; -} - -form.metadata .col.label { - width: 80%; -} - -.page-title { - align-items: center; - margin: 1em 0; -} \ No newline at end of file diff --git a/kinode/packages/app_store/ui/src/App.tsx b/kinode/packages/app_store/ui/src/App.tsx index ce600f604..1bc2d4b81 100644 --- a/kinode/packages/app_store/ui/src/App.tsx +++ b/kinode/packages/app_store/ui/src/App.tsx @@ -12,7 +12,6 @@ import { MY_APPS_PATH } from "./constants/path"; import { ChainId, PACKAGE_STORE_ADDRESSES } from "./constants/chain"; import PublishPage from "./pages/PublishPage"; import { hooks as metaMaskHooks, metaMask } from './utils/metamask' -import "./App.css"; const connectors: [MetaMask, Web3ReactHooks][] = [ [metaMask, metaMaskHooks], @@ -21,6 +20,7 @@ const connectors: [MetaMask, Web3ReactHooks][] = [ declare global { interface ImportMeta { env: { + VITE_OPTIMISM_RPC_URL: string; VITE_SEPOLIA_RPC_URL: string; BASE_URL: string; VITE_NODE_URL?: string; @@ -39,13 +39,12 @@ const { useProvider, } = metaMaskHooks; -const RPC_URL = import.meta.env.VITE_SEPOLIA_RPC_URL; +const RPC_URL = import.meta.env.VITE_OPTIMISM_RPC_URL; const BASE_URL = import.meta.env.BASE_URL; if (window.our) window.our.process = BASE_URL?.replace("/", ""); -const PROXY_TARGET = `${ - import.meta.env.VITE_NODE_URL || "http://localhost:8080" -}${BASE_URL}`; +const PROXY_TARGET = `${import.meta.env.VITE_NODE_URL || "http://localhost:8080" + }${BASE_URL}`; // This env also has BASE_URL which should match the process + package name const WEBSOCKET_URL = import.meta.env.DEV // eslint-disable-line @@ -56,21 +55,24 @@ function App() { const provider = useProvider(); const [nodeConnected, setNodeConnected] = useState(true); // eslint-disable-line - const [packageAbi, setPackageAbi] = useState( - PackageStore__factory.connect( - PACKAGE_STORE_ADDRESSES[ChainId.SEPOLIA], - new ethers.providers.JsonRpcProvider(RPC_URL)) // TODO: get the RPC URL from the wallet - ); + const [packageAbi, setPackageAbi] = useState(undefined); + useEffect(() => { - provider?.getNetwork().then(network => { - if (network.chainId === ChainId.SEPOLIA) { + if (!provider) return; + + const updatePackageAbi = async () => { + const network = await provider.getNetwork(); + if (network.chainId === ChainId.OPTIMISM) { setPackageAbi(PackageStore__factory.connect( - PACKAGE_STORE_ADDRESSES[ChainId.SEPOLIA], - provider!.getSigner()) - ) + PACKAGE_STORE_ADDRESSES[ChainId.OPTIMISM], + provider.getSigner()) + ); } - }) + }; + + updatePackageAbi(); + }, [provider]) useEffect(() => { @@ -96,7 +98,7 @@ function App() { if (!nodeConnected) { return ( -
+

Node not connected

You need to start a node at {PROXY_TARGET} before you can use this UI @@ -109,16 +111,18 @@ function App() { const props = { provider, packageAbi }; return ( - - - - } /> - } /> - } /> - } /> - - - +
+ + + + } /> + } /> + } /> + } /> + + + +
); } diff --git a/kinode/packages/app_store/ui/src/assets/kinode.svg b/kinode/packages/app_store/ui/src/assets/kinode.svg deleted file mode 100644 index 0ce39f9c4..000000000 --- a/kinode/packages/app_store/ui/src/assets/kinode.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/kinode/packages/app_store/ui/src/assets/react.svg b/kinode/packages/app_store/ui/src/assets/react.svg deleted file mode 100644 index 6c87de9bb..000000000 --- a/kinode/packages/app_store/ui/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/kinode/packages/app_store/ui/src/assets/vite.svg b/kinode/packages/app_store/ui/src/assets/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/kinode/packages/app_store/ui/src/assets/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/kinode/packages/app_store/ui/src/components/ActionButton.tsx b/kinode/packages/app_store/ui/src/components/ActionButton.tsx index bd549b5a0..91d1f2246 100644 --- a/kinode/packages/app_store/ui/src/components/ActionButton.tsx +++ b/kinode/packages/app_store/ui/src/components/ActionButton.tsx @@ -4,6 +4,7 @@ import useAppsStore from "../store/apps-store"; import Modal from "./Modal"; import { getAppName } from "../utils/app"; import Loader from "./Loader"; +import classNames from "classnames"; interface ActionButtonProps extends React.HTMLAttributes { app: AppInfo; @@ -136,22 +137,22 @@ export default function ActionButton({ app, ...props }: ActionButtonProps) { setShowModal(false)}> {loading ? ( ) : clean ? ( -
+

Download '{appName}'

Select Mirror
{checked && ( - setChecked && setChecked(false)} className="checkmark"> - ✓ - + setChecked && setChecked(false)} + /> )}

); diff --git a/kinode/packages/app_store/ui/src/components/Dropdown.tsx b/kinode/packages/app_store/ui/src/components/Dropdown.tsx index 2ac8f8343..e9694e88c 100644 --- a/kinode/packages/app_store/ui/src/components/Dropdown.tsx +++ b/kinode/packages/app_store/ui/src/components/Dropdown.tsx @@ -1,15 +1,21 @@ import React from 'react'; import { FaEllipsisH } from 'react-icons/fa'; import { Menu, MenuButton } from '@szhsin/react-menu'; +import classNames from 'classnames'; interface DropdownProps extends React.HTMLAttributes { } export default function Dropdown({ ...props }: DropdownProps) { return ( - - - }> + + + } + > {props.children} ) diff --git a/kinode/packages/app_store/ui/src/components/Jazzicon.tsx b/kinode/packages/app_store/ui/src/components/Jazzicon.tsx new file mode 100644 index 000000000..0a79fdd47 --- /dev/null +++ b/kinode/packages/app_store/ui/src/components/Jazzicon.tsx @@ -0,0 +1,27 @@ +import React, { useEffect, useRef } from 'react'; +import jazzicon from '@metamask/jazzicon'; + +interface JazziconProps extends React.HTMLAttributes { + address: string; + diameter?: number; +} + +const Jazzicon: React.FC = ({ address, diameter = 40, ...props }) => { + const ref = useRef(null); + + useEffect(() => { + if (address && ref.current) { + const seed = parseInt(address.slice(2, 10), 16); // Derive a seed from Ethereum address + const icon = jazzicon(diameter, seed); + + // Clear the current icon + ref.current.innerHTML = ''; + // Append the new icon + ref.current.appendChild(icon); + } + }, [address, diameter]); + + return
; +}; + +export default Jazzicon; diff --git a/kinode/packages/app_store/ui/src/components/MetadataForm.tsx b/kinode/packages/app_store/ui/src/components/MetadataForm.tsx index 023ebc4d9..aab23f7b9 100644 --- a/kinode/packages/app_store/ui/src/components/MetadataForm.tsx +++ b/kinode/packages/app_store/ui/src/components/MetadataForm.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useEffect, useState } from "react"; import { AppInfo } from "../types/Apps"; +import { FaX } from "react-icons/fa6"; interface Props { app?: AppInfo; @@ -111,9 +112,9 @@ const MetadataForm = ({ app, packageName, publisherId, goBack }: Props) => { }; return ( - +

Fill out metadata

-
+
{ onChange={(e) => handleFieldChange("name", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("description", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("image", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("external_url", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("animation_url", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("package_name", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("current_version", e.target.value)} />
-
+
{ onChange={(e) => handleFieldChange("publisher", e.target.value)} />
-
+
{ />
-
Code Hashes
+
Code Hashes
@@ -227,8 +219,7 @@ const MetadataForm = ({ app, packageName, publisherId, goBack }: Props) => { {codeHashes.map(([version, hash], ind, arr) => (
{ return newHashes; }) } - style={{ flex: 1 }} + className="flex-1" /> { return newHashes; }) } - style={{ flex: 5 }} + className="flex-5" /> {arr.length > 1 && ( )}
))}
-
- - )} -
+
{props.children}
diff --git a/kinode/packages/app_store/ui/src/components/MoreActions.tsx b/kinode/packages/app_store/ui/src/components/MoreActions.tsx index 5045900fa..facabfc8a 100644 --- a/kinode/packages/app_store/ui/src/components/MoreActions.tsx +++ b/kinode/packages/app_store/ui/src/components/MoreActions.tsx @@ -1,6 +1,5 @@ import React from "react"; import { useNavigate } from "react-router-dom"; -import { MenuItem } from "@szhsin/react-menu"; import Dropdown from "./Dropdown"; import { AppInfo } from "../types/Apps"; @@ -9,74 +8,75 @@ import useAppsStore from "../store/apps-store"; interface MoreActionsProps extends React.HTMLAttributes { app: AppInfo; + className?: string; } -export default function MoreActions({ app }: MoreActionsProps) { +export default function MoreActions({ app, className }: MoreActionsProps) { const { uninstallApp, setMirroring, setAutoUpdate } = useAppsStore(); const navigate = useNavigate(); const downloaded = Boolean(app.state); if (!downloaded) { - if (!app.metadata) return
; + if (!app.metadata) return <>; return ( - - {app.metadata?.description && ( - navigate(`/app-details/${appId(app)}`)} - > - View Details - - )} - {app.metadata?.external_url && ( - + +
+ {app.metadata?.description && ( + + )} + {app.metadata?.external_url && ( View Site - - )} + )} +
); } return ( - - navigate(`/app-details/${appId(app)}`)} - > - View Details - - {app.installed && ( - <> - uninstallApp(app)}> - Uninstall - - setMirroring(app, !app.state?.mirroring)} - > - {app.state?.mirroring ? "Stop" : "Start"} Mirroring - - setAutoUpdate(app, !app.state?.auto_update)} - > - {app.state?.auto_update ? "Disable" : "Enable"} Auto Update - - - )} + +
+ + {app.installed && ( + <> + + + + + )} +
); } diff --git a/kinode/packages/app_store/ui/src/components/SearchHeader.tsx b/kinode/packages/app_store/ui/src/components/SearchHeader.tsx index b288b2129..9a3ccb7b9 100644 --- a/kinode/packages/app_store/ui/src/components/SearchHeader.tsx +++ b/kinode/packages/app_store/ui/src/components/SearchHeader.tsx @@ -3,12 +3,13 @@ import { useLocation, useNavigate } from "react-router-dom"; import { FaArrowLeft, FaDownload, - FaRegTimesCircle, - FaSearch, + FaMagnifyingGlass, FaUpload, -} from "react-icons/fa"; + FaX, +} from "react-icons/fa6"; import { MY_APPS_PATH } from "../constants/path"; +import classNames from "classnames"; interface SearchHeaderProps { value?: string; @@ -32,9 +33,9 @@ export default function SearchHeader({ const isMyAppsPage = location.pathname === MY_APPS_PATH; return ( -
+
{location.pathname !== '/' ? ( - ) : ( )} {!hideSearch && ( -
- + onChange(event.target.value)} value={value} placeholder="Search for apps..." + className="w-full ml-2" /> - {value.length > 0 && ( - onChange("")} - /> - )} + {value.length > 0 && }
)} -
+
diff --git a/kinode/packages/app_store/ui/src/components/Tooltip.tsx b/kinode/packages/app_store/ui/src/components/Tooltip.tsx new file mode 100644 index 000000000..2470a1e4c --- /dev/null +++ b/kinode/packages/app_store/ui/src/components/Tooltip.tsx @@ -0,0 +1,39 @@ +import { React, useState } from "react" +import classNames from 'classnames' +import { FaQuestion, FaX } from 'react-icons/fa6' + +interface TooltipProps { + text: string + button?: React.ReactNode + className?: string + position?: "top" | "bottom" | "left" | "right" +} + +export const Tooltip: React.FC = ({ text, button, className, position }) => { + const [showTooltip, setShowTooltip] = useState(false) + return
+
setShowTooltip(!showTooltip)}> + {button || } +
+
+ {text} +
+ +
+} diff --git a/kinode/packages/app_store/ui/src/constants/chain.ts b/kinode/packages/app_store/ui/src/constants/chain.ts index 6797ef0a3..f7856f13c 100644 --- a/kinode/packages/app_store/ui/src/constants/chain.ts +++ b/kinode/packages/app_store/ui/src/constants/chain.ts @@ -8,9 +8,11 @@ export enum ChainId { export const SEPOLIA_OPT_HEX = '0xaa36a7'; export const OPTIMISM_OPT_HEX = '0xa'; export const SEPOLIA_OPT_INT = '11155111'; +export const OPTIMISM_OPT_INT = '10'; -// Sepolia (for now) +// Optimism (for now) export const PACKAGE_STORE_ADDRESSES = { - [ChainId.SEPOLIA]: '0x18c39eB547A0060C6034f8bEaFB947D1C16eADF1', - // [ChainId.OPTIMISM]: '0x8f6e1c9C5a0fE0A7f9Cf0e9b3aF1A9c4f5c6A9e0', + [ChainId.OPTIMISM]: '0x52185B6a6017E6f079B994452F234f7C2533787B', + // [ChainId.SEPOLIA]: '0x18c39eB547A0060C6034f8bEaFB947D1C16eADF1', + }; diff --git a/kinode/packages/app_store/ui/src/index.css b/kinode/packages/app_store/ui/src/index.css index d44f10fe9..1ea698f12 100644 --- a/kinode/packages/app_store/ui/src/index.css +++ b/kinode/packages/app_store/ui/src/index.css @@ -2,45 +2,23 @@ @tailwind components; @tailwind utilities; -:root { - --text-light: #FFF5D9; - --text-dark: #22211F; - --text-orange: #FF7533; - --orange-light: #F36822; - --orange-medium: #F35422; - --orange-burnt: #E25F35; +@font-face { + font-family: 'Futura'; + src: url('/main:app_store:sys/assets/fonts/Futura-Heavy.ttf'); +} + +@font-face { + font-family: 'OpenSans'; + src: url('/main:app_store:sys/assets/fonts/OpenSans-CondBold.ttf'); +} - --medium-gray: #7E7E7E; - --gray-button: rgba(253, 245, 220, 0.25); - --dark-background: rgb(130, 59, 28); - --input-background: rgba(243, 84, 34, 0.25); - /* orange-medium */ +@font-face { + font-family: 'Barlow'; + src: url('/main:app_store:sys/assets/fonts/BarlowCondensed-Black.ttf'); } body { - margin: 0; - font-size: 16px; - color: var(--text-light); - font-weight: 400; - background: url('./assets/background.jpg') no-repeat center center fixed; - background-size: cover; - background-color: var(--dark-background); - height: 100vh; - width: 100vw; -} - -body, -h1, -h2, -h3, -h4, -h5, -h6, -p, -a, -button, -input { - font-family: 'Barlow Condensed', sans-serif; + font-family: 'Barlow', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'; } h1, @@ -49,174 +27,107 @@ h3, h4, h5, h6 { - line-height: 1.5em; - font-weight: 500; - margin: 0; + letter-spacing: -0.01em; + @apply leading-6 m-0 font-[OpenSans] +} + +h1.display { + letter-spacing: 0.25em; + text-transform: uppercase; + @apply font-[Futura] text-3xl font-normal; } h1 { - font-size: 64px; + @apply text-3xl; } h2 { - font-size: 48px; + @apply text-2xl; } h3 { - font-size: 36px; + @apply text-xl; } h4 { - font-size: 24px; -} - -h5 { - font-size: 20px; + @apply text-lg; } h6 { - font-size: 16px; -} - -.col { - display: flex; - flex-direction: column; -} - -.row { - display: flex; - flex-direction: row; - align-items: center; + @apply text-sm; } -input, -button { - all: unset; +button, +button[type="submit"], +.button { + @apply flex m-0 py-2 px-6 rounded border-orange bg-orange border-2 cursor-pointer place-items-center place-content-center text-center rounded-lg heading transition ease-in-out duration-100 hover:bg-black text-white font-[OpenSans]; } -input[type="text"], -input[type="password"], -input[type="checkbox"] { - padding: 1em; - border: 1px solid var(--orange-medium); - border-radius: 8px; - box-sizing: border-box; - font-size: 1em; - background-color: var(--input-background); - color: var(--text-light); - text-align: left; +.clear { + @apply bg-transparent border-transparent font-bold font-[Barlow] hover:bg-white/25; } -input[type="text"], -input[type="password"] { - width: 100%; +.alt { + @apply bg-white text-black border-white hover:text-white; } -input[type="checkbox"] { - padding: 0.25em 0.8em; - cursor: pointer; +.thin { + @apply px-0 border-none; } -input[type="checkbox"]:checked { - background-color: var(--orange-medium); +.icon { + @apply flex items-center place-content-center bg-transparent w-11 p-3 text-[14px] rounded-full border-white/25; } -.checkmark { - position: absolute; - left: 4px; - font-size: 24px; - top: -5px; - cursor: pointer; +.icon.alt { + @apply border-black/25 hover:border-white/25 } -::placeholder { - color: var(--text-light); +body { + @apply bg-[url('/main:app_store:sys/assets/background.jpg')] bg-cover bg-no-repeat bg-center bg-fixed text-white; } -::-webkit-input-placeholder::placeholder { - color: var(--text-light); +input { + all: unset; } -::-moz-placeholder::placeholder { - color: var(--text-light); +select, +textarea, +input[type="text"], +input[type="password"], +input[type="checkbox"] { + @apply px-4 py-2 rounded-lg bg-orange bg-opacity-25 text-white border border-orange border-2; } -::-ms-input-placeholder { - color: var(--text-light); +input[type="checkbox"] { + @apply w-2 h-2 cursor-pointer p-2; } -label { - font-size: 20px; +input[type="checkbox"]:checked { + @apply bg-orange; } -button, -[type='button'], -[type='reset'], -[type='submit'] { - padding: 0.75em 1em; - margin: 0; - font-weight: 500; - border-width: 1px; - border-style: solid; - border-color: var(--orange-medium); - /* border-image: linear-gradient(to right, var(--orange-medium), var(--orange-light)); */ - border-radius: 8px; - background: var(--orange-medium); - box-sizing: border-box; - cursor: pointer; - font-size: 1.125em; - transition: all 0.1s; - box-shadow: 0 1px 2px var(--orange-light); - color: var(--text-light); -} - -button.alt { - background-color: var(--text-light); - color: var(--text-dark); - border-color: var(--text-light); - box-shadow: 0 1px 2px var(--text-light); +select { + /* arrow image */ + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position: right 1.25rem center; + @apply appearance-none pr-16; } button:hover { - opacity: 0.9; - box-shadow: none; + @apply opacity-90 shadow-none; } button:disabled { - background-color: var(--medium-gray); - border: 1px solid var(--medium-gray); - box-shadow: 0 1px 2px var(--medium-gray); - opacity: 0.7; - cursor: not-allowed; + @apply opacity-70 cursor-not-allowed bg-gray border-gray; } -ul, -li { - all: unset; +.obox, +.card { + @apply rounded-lg p-4 bg-orange/25; } -select { - padding: 0.25em 0.5em; - font-size: 0.9rem; - border: 1px solid var(--orange-medium); - background-color: var(--input-background); - color: var(--text-light); - border-radius: 8px; - - /* Use a custom chevron image */ - background-image: url('./assets/select-chevron.svg'); - background-repeat: no-repeat; - background-position: right 8px center; - /* Adjust the horizontal position to control padding */ - background-size: 16px; - /* Adjust size of the chevron */ - padding-right: 2em; - /* Adjust the padding to make room for the chevron */ - - -webkit-appearance: none; - /* Removes default styling on WebKit browsers like Safari */ - -moz-appearance: none; - /* Removes default styling on Firefox */ - appearance: none; - /* Standard property, currently not fully supported */ +.c { + @apply place-items-center place-content-center; } \ No newline at end of file diff --git a/kinode/packages/app_store/ui/src/main.tsx b/kinode/packages/app_store/ui/src/main.tsx index 3d7150da8..3612f50ea 100644 --- a/kinode/packages/app_store/ui/src/main.tsx +++ b/kinode/packages/app_store/ui/src/main.tsx @@ -1,6 +1,8 @@ import React from 'react' import ReactDOM from 'react-dom/client' import App from './App.tsx' +import '@unocss/reset/tailwind.css' +import 'uno.css' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( diff --git a/kinode/packages/app_store/ui/src/pages/AppPage.tsx b/kinode/packages/app_store/ui/src/pages/AppPage.tsx index 2e46af04c..0629b4ffe 100644 --- a/kinode/packages/app_store/ui/src/pages/AppPage.tsx +++ b/kinode/packages/app_store/ui/src/pages/AppPage.tsx @@ -9,9 +9,9 @@ import SearchHeader from "../components/SearchHeader"; import { PageProps } from "../types/Page"; import { appId } from "../utils/app"; -interface AppPageProps extends PageProps {} +interface AppPageProps extends PageProps { } -export default function AppPage(props: AppPageProps) { +export default function AppPage() { // eslint-disable-line const { myApps, listedApps, getListedApp } = useAppsStore(); const navigate = useNavigate(); @@ -48,64 +48,64 @@ export default function AppPage(props: AppPageProps) { (versions[(versions.length || 1) - 1] || ["", ""])[1]; return ( -
+
null} hideSearch /> -
+
{app ? ( <> -
+
- +
-
-
-
Description
-
+
+
+
Description
+
{(app.metadata?.description || "No description given").slice( 0, 2000 )}
-
-
Publisher
-
{app.publisher}
+
+
Publisher
+
{app.publisher}
-
-
Version
-
{version}
+
+
Version
+
{version}
-
-
Mirrors
-
+
+
Mirrors
+
{(app.metadata?.properties?.mirrors || []).map( (mirror, index) => ( -
+
{mirror}
) )}
- {/*
-
Permissions
-
+ {/*
+
Permissions
+
{app.permissions?.map((permission, index) => ( -
{permission}
+
{permission}
))}
*/} -
-
Hash
-
+
+
Hash
+
{hash}
-
+
{(app.metadata?.properties?.screenshots || []).map( (screenshot, index) => ( - + ) )}
diff --git a/kinode/packages/app_store/ui/src/pages/MyAppsPage.tsx b/kinode/packages/app_store/ui/src/pages/MyAppsPage.tsx index b6c47c3fd..baee5d58f 100644 --- a/kinode/packages/app_store/ui/src/pages/MyAppsPage.tsx +++ b/kinode/packages/app_store/ui/src/pages/MyAppsPage.tsx @@ -9,9 +9,9 @@ import { PageProps } from "../types/Page"; import { useNavigate } from "react-router-dom"; import { appId } from "../utils/app"; -interface MyAppsPageProps extends PageProps {} +interface MyAppsPageProps extends PageProps { } -export default function MyAppsPage(props: MyAppsPageProps) { // eslint-disable-line +export default function MyAppsPage() { // eslint-disable-line const { myApps, getMyApps } = useAppsStore() const navigate = useNavigate(); @@ -53,27 +53,25 @@ export default function MyAppsPage(props: MyAppsPageProps) { // eslint-disable-l }, [myApps]); return ( -
+
-
-

My Packages

-
-
-
-

Downloaded

- {(displayedApps.downloaded || []).map((app) => )} -

Installed

- {(displayedApps.installed || []).map((app) => )} -

Local

- {(displayedApps.local || []).map((app) => )} -

System

- {(displayedApps.system || []).map((app) => )} -
+
+

Downloaded

+ {(displayedApps.downloaded || []).map((app) => )} +

Installed

+ {(displayedApps.installed || []).map((app) => )} +

Local

+ {(displayedApps.local || []).map((app) => )} +

System

+ {(displayedApps.system || []).map((app) => )}
); diff --git a/kinode/packages/app_store/ui/src/pages/PublishPage.tsx b/kinode/packages/app_store/ui/src/pages/PublishPage.tsx index ed567da92..7f4457a55 100644 --- a/kinode/packages/app_store/ui/src/pages/PublishPage.tsx +++ b/kinode/packages/app_store/ui/src/pages/PublishPage.tsx @@ -6,7 +6,7 @@ import { useWeb3React } from "@web3-react/core"; import SearchHeader from "../components/SearchHeader"; import { PageProps } from "../types/Page"; import { setChain } from "../utils/chain"; -import { SEPOLIA_OPT_HEX } from "../constants/chain"; +import { OPTIMISM_OPT_HEX } from "../constants/chain"; import { hooks, metaMask } from "../utils/metamask"; import Loader from "../components/Loader"; import { toDNSWireFormat } from "../utils/dnsWire"; @@ -14,10 +14,12 @@ import useAppsStore from "../store/apps-store"; import MetadataForm from "../components/MetadataForm"; import { AppInfo } from "../types/Apps"; import Checkbox from "../components/Checkbox"; +import Jazzicon from "../components/Jazzicon"; +import { Tooltip } from "../components/Tooltip"; const { useIsActivating } = hooks; -interface PublishPageProps extends PageProps {} +interface PublishPageProps extends PageProps { } export default function PublishPage({ provider, @@ -42,6 +44,7 @@ export default function PublishPage({ const [metadataUrl, setMetadataUrl] = useState(""); const [metadataHash, setMetadataHash] = useState(""); // BytesLike const [isUpdate, setIsUpdate] = useState(false); + const [myPublishedApps, setMyPublishedApps] = useState([]); useEffect(() => { const app: AppInfo | undefined = state?.app; @@ -52,11 +55,17 @@ export default function PublishPage({ } }, [state]) + useEffect(() => { + setMyPublishedApps( + listedApps.filter((app) => app.owner?.toLowerCase() === account?.toLowerCase()) + ); + }, [listedApps, account]) + const connectWallet = useCallback(async () => { - await metaMask.activate().catch(() => {}); + await metaMask.activate().catch(() => { }); try { - setChain(SEPOLIA_OPT_HEX); + setChain(OPTIMISM_OPT_HEX); } catch (error) { console.error(error); } @@ -98,32 +107,32 @@ export default function PublishPage({ setLoading("Please confirm the transaction in your wallet"); const publisherIdDnsWireFormat = toDNSWireFormat(publisherId); - await setChain(SEPOLIA_OPT_HEX); + await setChain(OPTIMISM_OPT_HEX); // TODO: have a checkbox to show if it's an update of an existing package const tx = await (isUpdate - ? packageAbi.updateMetadata( - BigNumber.from( - utils.solidityKeccak256( - ["string", "bytes"], - [packageName, publisherIdDnsWireFormat] - ) - ), - metadataUrl, - metadata - ) - : packageAbi.registerApp( - packageName, - publisherIdDnsWireFormat, - metadataUrl, - metadata - )); + ? packageAbi?.updateMetadata( + BigNumber.from( + utils.solidityKeccak256( + ["string", "bytes"], + [packageName, publisherIdDnsWireFormat] + ) + ), + metadataUrl, + metadata + ) + : packageAbi?.registerApp( + packageName, + publisherIdDnsWireFormat, + metadataUrl, + metadata + )); await new Promise((resolve) => setTimeout(resolve, 2000)); setLoading("Publishing package..."); - await tx.wait(); + await tx?.wait(); setPublishSuccess({ packageName, publisherId }); setPackageName(""); setPublisherId(window.our?.node || publisherId); @@ -155,6 +164,35 @@ export default function PublishPage({ ] ); + const unpublishPackage = useCallback( + async (packageName: string, publisherName: string) => { + try { + await setChain(OPTIMISM_OPT_HEX); + + const tx = await + packageAbi?.unlistPacakge( + utils.keccak256(utils.solidityPack( + ["string", "bytes"], + [packageName, toDNSWireFormat(publisherName)] + )) + ); + + await new Promise((resolve) => setTimeout(resolve, 2000)); + + setLoading("Unlisting package..."); + await tx?.wait(); + } catch (error) { + console.error(error); + window.alert( + "Error unlisting package" + ); + } finally { + setLoading(""); + } + }, + [packageAbi, setLoading] + ); + const checkIfUpdate = useCallback(async () => { if (isUpdate) return; @@ -170,42 +208,39 @@ export default function PublishPage({ }, [listedApps, packageName, publisherId, isUpdate, setIsUpdate]); return ( -
+
setShowMetadataForm(false) : undefined} /> -
+

Publish Package

- {Boolean(account) && ( -
- {" "} - Connected as{" "} - {account?.slice(0, 6) + "..." + account?.slice(account.length - 6)} -
- )} + {Boolean(account) &&
+ Publishing as: + + {account?.slice(0, 4)}...{account?.slice(-4)} +
}
{loading ? ( -
+
) : publishSuccess ? ( -
-

Package Published!

-
+
+

Package Published!

+
Package Name: {publishSuccess.packageName}
-
+
Publisher ID: {publishSuccess.publisherId}
) : showMetadataForm ? ( - setShowMetadataForm(false)} /> + setShowMetadataForm(false)} /> ) : !account || !isActive ? ( <>

Please connect your wallet to publish a package

@@ -217,28 +252,23 @@ export default function PublishPage({ ) : (
setIsUpdate(!isUpdate)} > - -
-
+
-
+
-
+
-
- Metadata is a JSON file that describes your package. -
You can{" "} - setShowMetadataForm(true)} style={{ cursor: "pointer", textDecoration: "underline" }}> - fill out a template here - - . -
+
+ Metadata is a JSON file that describes your package. +
You can{" "} + setShowMetadataForm(true)} + className="underline cursor-pointer" + > + fill out a template here + + . +
-
+
- )} + +
+

Packages You Own

+ {myPublishedApps.length > 0 ? ( +
+ {myPublishedApps.map((app) => ( +
+
+ + {app.package} +
+ {/* */} + + {/* */} +
+ ))} +
+ ) : ( +
+ No packages published +
+ )} +
); } diff --git a/kinode/packages/app_store/ui/src/pages/StorePage.tsx b/kinode/packages/app_store/ui/src/pages/StorePage.tsx index 121a1913a..5c61b1ce8 100644 --- a/kinode/packages/app_store/ui/src/pages/StorePage.tsx +++ b/kinode/packages/app_store/ui/src/pages/StorePage.tsx @@ -7,10 +7,11 @@ import AppEntry from "../components/AppEntry"; import SearchHeader from "../components/SearchHeader"; import { PageProps } from "../types/Page"; import { appId } from "../utils/app"; +import classNames from 'classnames'; interface StorePageProps extends PageProps { } -export default function StorePage(props: StorePageProps) { +export default function StorePage() { // eslint-disable-line const { listedApps, getListedApps } = useAppsStore(); @@ -108,33 +109,9 @@ export default function StorePage(props: StorePageProps) { ); return ( -
- {/*
- ID: {window.our?.node} -
*/} +
- {/*

Featured

-
- {featuredApps.map((app, i) => ( -
- -
- {app.metadata?.description || "No description provided."} -
- -
- ))} -
*/} -
+

New

-
+
{displayedApps.map((app) => ( ))} {pages.length > 1 && ( -
+
{page !== pages[0] && ( setPage(page - 1)} /> )} {pages.map((p) => (
setPage(p)} > {p} diff --git a/kinode/packages/app_store/ui/src/types/Page.ts b/kinode/packages/app_store/ui/src/types/Page.ts index 85ddf0e66..e4b9f09f2 100644 --- a/kinode/packages/app_store/ui/src/types/Page.ts +++ b/kinode/packages/app_store/ui/src/types/Page.ts @@ -3,5 +3,5 @@ import { PackageStore } from "../abis/types"; export interface PageProps { provider?: ethers.providers.Web3Provider; - packageAbi: PackageStore + packageAbi?: PackageStore } diff --git a/kinode/packages/app_store/ui/src/utils/chain.ts b/kinode/packages/app_store/ui/src/utils/chain.ts index ecd443b30..025f45a8b 100644 --- a/kinode/packages/app_store/ui/src/utils/chain.ts +++ b/kinode/packages/app_store/ui/src/utils/chain.ts @@ -40,21 +40,21 @@ export const CHAIN_DETAILS: { [key: string]: Chain } = { export const getNetworkName = (networkId: string) => { switch (networkId) { - case '1': - case '0x1': - return 'Ethereum'; // Ethereum Mainnet - case '10': - case 'a': - case '0xa': - return 'Optimism'; // Optimism - case '42161': - return 'Arbitrum'; // Arbitrum One - case '11155111': - case 'aa36a7': - case '0xaa36a7': - return 'Sepolia'; // Sepolia Testnet - default: - return 'Unknown'; + case '1': + case '0x1': + return 'Ethereum'; // Ethereum Mainnet + case '10': + case 'a': + case '0xa': + return 'Optimism'; // Optimism + case '42161': + return 'Arbitrum'; // Arbitrum One + case '11155111': + case 'aa36a7': + case '0xaa36a7': + return 'Sepolia'; // Sepolia Testnet + default: + return 'Unknown'; } }; diff --git a/kinode/packages/app_store/ui/vite.config.ts b/kinode/packages/app_store/ui/vite.config.ts index 3be4f8125..f8c8742c8 100644 --- a/kinode/packages/app_store/ui/vite.config.ts +++ b/kinode/packages/app_store/ui/vite.config.ts @@ -1,5 +1,10 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' +import UnoCSS from 'unocss/vite' +import { transformerDirectives } from 'unocss' +import presetIcons from '@unocss/preset-icons' +import presetUno from '@unocss/preset-uno' +import presetWind from '@unocss/preset-wind' /* If you are developing a UI outside of a Kinode project, @@ -14,7 +19,6 @@ This must match the process name from pkg/manifest.json + pkg/metadata.json The format is "/" + "process_name:package_name:publisher_node" */ const BASE_URL = `/main:app_store:sys`; -// const BASE_URL = `/${manifest[0].process_name}:${metadata.package}:${metadata.publisher}`; // This is the proxy URL, it must match the node you are developing against const PROXY_URL = (process.env.VITE_NODE_URL || 'http://127.0.0.1:8080').replace('localhost', '127.0.0.1'); @@ -22,7 +26,39 @@ const PROXY_URL = (process.env.VITE_NODE_URL || 'http://127.0.0.1:8080').replace console.log('process.env.VITE_NODE_URL', process.env.VITE_NODE_URL, PROXY_URL); export default defineConfig({ - plugins: [react()], + plugins: [ + UnoCSS({ + presets: [presetUno(), presetWind(), presetIcons()], + shortcuts: [ + { + 'flex-center': 'flex justify-center items-center', + 'flex-col-center': 'flex flex-col justify-center items-center', + }, + ], + rules: [ + ], + theme: { + colors: { + 'white': '#FFF5D9', + 'black': '#22211F', + 'orange': '#F35422', + 'transparent': 'transparent', + 'gray': '#7E7E7E', + }, + font: { + 'sans': ['Barlow', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'], + 'serif': ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times', 'serif'], + 'mono': ['ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', '"Liberation Mono"', '"Courier New"', 'monospace'], + 'heading': ['OpenSans', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'], + 'display': ['Futura', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'], + }, + }, + transformers: [ + transformerDirectives() + ], + }), + react(), + ], base: BASE_URL, build: { rollupOptions: { @@ -42,7 +78,7 @@ export default defineConfig({ rewrite: (path) => path.replace(BASE_URL, ''), }, // This route will match all other HTTP requests to the backend - [`^${BASE_URL}/(?!(@vite/client|src/.*|node_modules/.*|@react-refresh|$))`]: { + [`^${BASE_URL}/(?!(@vite/client|src/.*|node_modules/.*|@react-refresh|__uno.css|$))`]: { target: PROXY_URL, changeOrigin: true, }, diff --git a/kinode/packages/app_store/ui/yarn.lock b/kinode/packages/app_store/ui/yarn.lock index ff80c5fcc..614db2a81 100644 --- a/kinode/packages/app_store/ui/yarn.lock +++ b/kinode/packages/app_store/ui/yarn.lock @@ -17,58 +17,78 @@ resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.3.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== +"@antfu/install-pkg@^0.1.1": + version "0.1.1" + resolved "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz" + integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ== dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" + execa "^5.1.1" + find-up "^5.0.0" + +"@antfu/utils@^0.7.5", "@antfu/utils@^0.7.7": + version "0.7.7" + resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz" + integrity sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg== + +"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.23.5": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz" - integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== +"@babel/core@^7.23.5", "@babel/core@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz" + integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.4" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.6" - "@babel/parser" "^7.23.6" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.6" - "@babel/types" "^7.23.6" + "@babel/helpers" "^7.24.4" + "@babel/parser" "^7.24.4" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== +"@babel/generator@^7.24.1", "@babel/generator@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz" + integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" + "@babel/types" "^7.24.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" @@ -80,6 +100,21 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-create-class-features-plugin@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz" + integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" @@ -100,6 +135,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + "@babel/helper-module-imports@^7.22.15": version "7.22.15" resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" @@ -118,10 +160,26 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" -"@babel/helper-plugin-utils@^7.22.5": +"@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-simple-access@^7.22.5": version "7.22.5" @@ -130,6 +188,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" @@ -152,28 +217,52 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== -"@babel/helpers@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz" - integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== +"@babel/helpers@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz" + integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.6" - "@babel/types" "^7.23.6" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== +"@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz" - integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" + integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== + +"@babel/plugin-syntax-jsx@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" "@babel/plugin-transform-react-jsx-self@^7.23.3": version "7.23.3" @@ -189,75 +278,176 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz" + integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-typescript" "^7.24.1" -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== +"@babel/preset-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" -"@babel/traverse@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz" - integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== +"@babel/template@^7.22.15", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== dependencies: "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz" + integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== + dependencies: + "@babel/code-frame" "^7.24.1" + "@babel/generator" "^7.24.1" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" + "@babel/parser" "^7.24.1" + "@babel/types" "^7.24.0" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz" - integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== dependencies: "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@coinbase/wallet-sdk@^3.0.4": - version "3.7.2" - resolved "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.7.2.tgz" - integrity sha512-lIGvXMsgpsQWci/XOMQIJ2nIZ8JUy/L+bvC0wkRaYarr0YylwpXrJ2gRM3hCXPS477pkyO7N/kSiAoRgEXUdJQ== - dependencies: - "@metamask/safe-event-emitter" "2.0.0" - "@solana/web3.js" "^1.70.1" - bind-decorator "^1.0.11" - bn.js "^5.1.1" - buffer "^6.0.3" - clsx "^1.1.0" - eth-block-tracker "6.1.0" - eth-json-rpc-filters "5.1.0" - eth-rpc-errors "4.0.2" - json-rpc-engine "6.1.0" - keccak "^3.0.1" - preact "^10.5.9" - qs "^6.10.3" - rxjs "^6.6.3" - sha.js "^2.4.11" - stream-browserify "^3.0.0" - util "^0.12.4" +"@esbuild/aix-ppc64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz#fb3922a0183d27446de00cf60d4f7baaadf98d84" + integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q== + +"@esbuild/android-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz#ef31015416dd79398082409b77aaaa2ade4d531a" + integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q== + +"@esbuild/android-arm@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz#1c23c7e75473aae9fb323be5d9db225142f47f52" + integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w== + +"@esbuild/android-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz#df6a4e6d6eb8da5595cfce16d4e3f6bc24464707" + integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw== + +"@esbuild/darwin-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz#8462a55db07c1b2fad61c8244ce04469ef1043be" + integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA== + +"@esbuild/darwin-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz#d1de20bfd41bb75b955ba86a6b1004539e8218c1" + integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA== + +"@esbuild/freebsd-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz#16904879e34c53a2e039d1284695d2db3e664d57" + integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg== + +"@esbuild/freebsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz#8ad9e5ca9786ca3f1ef1411bfd10b08dcd9d4cef" + integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag== + +"@esbuild/linux-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz#d82cf2c590faece82d28bbf1cfbe36f22ae25bd2" + integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ== + +"@esbuild/linux-arm@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz#477b8e7c7bcd34369717b04dd9ee6972c84f4029" + integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg== + +"@esbuild/linux-ia32@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz#d55ff822cf5b0252a57112f86857ff23be6cab0e" + integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg== + +"@esbuild/linux-loong64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz#a9ad057d7e48d6c9f62ff50f6f208e331c4543c7" + integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA== + +"@esbuild/linux-mips64el@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz#b011a96924773d60ebab396fbd7a08de66668179" + integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A== + +"@esbuild/linux-ppc64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz#5d8b59929c029811e473f2544790ea11d588d4dd" + integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ== + +"@esbuild/linux-riscv64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz#292b06978375b271bd8bc0a554e0822957508d22" + integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA== + +"@esbuild/linux-s390x@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz#d30af63530f8d4fa96930374c9dd0d62bf59e069" + integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA== "@esbuild/linux-x64@0.19.10": version "0.19.10" resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz" integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA== +"@esbuild/netbsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz#fd473a5ae261b43eab6dad4dbd5a3155906e6c91" + integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q== + +"@esbuild/openbsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz#96eb8992e526717b5272321eaad3e21f3a608e46" + integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg== + +"@esbuild/sunos-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz#c16ee1c167f903eaaa6acf7372bee42d5a89c9bc" + integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA== + +"@esbuild/win32-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz#7e417d1971dbc7e469b4eceb6a5d1d667b5e3dcc" + integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw== + +"@esbuild/win32-ia32@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz#2b52dfec6cd061ecb36171c13bae554888b439e5" + integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ== + +"@esbuild/win32-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz#bd123a74f243d2f3a1f046447bb9b363ee25d072" + integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -290,7 +480,7 @@ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== -"@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.7.0", "@ethersproject/abi@5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -305,7 +495,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@^5.7.0", "@ethersproject/abstract-provider@5.7.0": +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -318,7 +508,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@^5.7.0", "@ethersproject/abstract-signer@5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -329,7 +519,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@^5", "@ethersproject/address@^5.7.0", "@ethersproject/address@5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -340,14 +530,14 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@^5.7.0", "@ethersproject/base64@5.7.0": +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@^5.7.0", "@ethersproject/basex@5.7.0": +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== @@ -355,7 +545,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@^5.7.0", "@ethersproject/bignumber@5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -364,14 +554,14 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@^5.7.0", "@ethersproject/constants@5.7.0": +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== @@ -394,7 +584,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@^5.7.0", "@ethersproject/hash@5.7.0": +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -409,7 +599,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@^5.7.0", "@ethersproject/hdnode@5.7.0": +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== @@ -427,7 +617,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@^5.7.0", "@ethersproject/json-wallets@5.7.0": +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== @@ -446,7 +636,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -454,19 +644,19 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@^5.7.0", "@ethersproject/logger@5.7.0": +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@^5.7.0", "@ethersproject/networks@5.7.1": +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@^5.7.0", "@ethersproject/pbkdf2@5.7.0": +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== @@ -474,14 +664,14 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@^5.7.0", "@ethersproject/properties@5.7.0": +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@^5", "@ethersproject/providers@^5.0.0", "@ethersproject/providers@5.7.2": +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5": version "5.7.2" resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== @@ -507,7 +697,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/random@^5.7.0", "@ethersproject/random@5.7.0": +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== @@ -515,7 +705,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@5.7.0": +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -523,7 +713,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@^5.7.0", "@ethersproject/sha2@5.7.0": +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -532,7 +722,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@5.7.0": +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -556,7 +746,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@^5.7.0", "@ethersproject/strings@5.7.0": +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -565,7 +755,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -610,7 +800,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@^5.7.0", "@ethersproject/web@5.7.1": +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -621,7 +811,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@^5.7.0", "@ethersproject/wordlists@5.7.0": +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== @@ -651,6 +841,24 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz" integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== +"@iconify/types@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz" + integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== + +"@iconify/utils@^2.1.22": + version "2.1.22" + resolved "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.22.tgz" + integrity sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA== + dependencies: + "@antfu/install-pkg" "^0.1.1" + "@antfu/utils" "^0.7.5" + "@iconify/types" "^2.0.0" + debug "^4.3.4" + kolorist "^1.8.0" + local-pkg "^0.5.0" + mlly "^1.5.0" + "@ioredis/commands@^1.1.1": version "1.2.0" resolved "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz" @@ -668,34 +876,34 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: - "@jridgewell/set-array" "^1.0.1" + "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -751,20 +959,13 @@ resolved "https://registry.npmjs.org/@metamask/detect-provider/-/detect-provider-1.2.0.tgz" integrity sha512-ocA76vt+8D0thgXZ7LxFPyqw3H7988qblgzddTDA6B8a/yU0uKV42QR/DhA+Jh11rJjxW0jKvwb5htA6krNZDQ== -"@metamask/safe-event-emitter@^2.0.0", "@metamask/safe-event-emitter@2.0.0": +"@metamask/jazzicon@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@metamask/utils@^3.0.1": - version "3.6.0" - resolved "https://registry.npmjs.org/@metamask/utils/-/utils-3.6.0.tgz" - integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== + resolved "https://registry.yarnpkg.com/@metamask/jazzicon/-/jazzicon-2.0.0.tgz#5615528e91c0fc5c9d79202d1f0954a7922525a0" + integrity sha512-7M+WSZWKcQAo0LEhErKf1z+D3YX0tEDAcGvcKbDyvDg34uvgeKR00mFNIYwAhdAS9t8YXxhxZgsrRBBg6X8UQg== dependencies: - "@types/debug" "^4.1.7" - debug "^4.3.4" - semver "^7.3.8" - superstruct "^1.0.3" + color "^0.11.3" + mersenne-twister "^1.1.0" "@motionone/animation@^10.15.1", "@motionone/animation@^10.17.0": version "10.17.0" @@ -835,37 +1036,23 @@ "@motionone/dom" "^10.16.4" tslib "^2.3.1" -"@noble/curves@^1.2.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz" - integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== - dependencies: - "@noble/hashes" "1.3.3" - -"@noble/curves@~1.2.0": +"@noble/curves@1.2.0", "@noble/curves@~1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== dependencies: "@noble/hashes" "1.3.2" -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" +"@noble/hashes@1.3.2", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@^1.3.2", "@noble/hashes@~1.3.0", "@noble/hashes@1.3.3": +"@noble/hashes@~1.3.0": version "1.3.3" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== -"@noble/hashes@~1.3.2", "@noble/hashes@1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -874,7 +1061,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -887,6 +1074,41 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@parcel/watcher-android-arm64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz#9c93763794153e4f76920994a423b6ea3257059d" + integrity sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA== + +"@parcel/watcher-darwin-arm64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz#2c79c2abde16aa24cac67e555b60802fd13fe210" + integrity sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA== + +"@parcel/watcher-darwin-x64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz#23d82f198c5d033f047467c68d7c335f3df49b46" + integrity sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q== + +"@parcel/watcher-freebsd-x64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz#7310cc86abc27dacd57624bcdba1f0ba092e76df" + integrity sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA== + +"@parcel/watcher-linux-arm-glibc@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz#c31b76e695027eeb1078d3d6f1d641d0b900c335" + integrity sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ== + +"@parcel/watcher-linux-arm64-glibc@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz#56e09b86e9d8a4096f606be118b588da6e965080" + integrity sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg== + +"@parcel/watcher-linux-arm64-musl@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz#27ffd5ca5f510ecd638f9ad22e2e813049db54e7" + integrity sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng== + "@parcel/watcher-linux-x64-glibc@2.4.0": version "2.4.0" resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz" @@ -906,6 +1128,21 @@ micromatch "^4.0.5" napi-wasm "^1.1.0" +"@parcel/watcher-win32-arm64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz#2a172fd2fda95fe5389298ca3e70b5a96316162a" + integrity sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg== + +"@parcel/watcher-win32-ia32@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz#279225b2ebe1fadd3c5137c9b2365ad422656904" + integrity sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA== + +"@parcel/watcher-win32-x64@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz#93e0bd0ad1bda2c9a688764b9b30b71dc5b72a71" + integrity sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA== + "@parcel/watcher@^2.3.0": version "2.4.0" resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz" @@ -939,11 +1176,65 @@ resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.25" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz" + integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== + "@remix-run/router@1.14.2": version "1.14.2" resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz" integrity sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg== +"@rollup/pluginutils@^5.1.0": + version "5.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rollup/rollup-android-arm-eabi@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz#beaf518ee45a196448e294ad3f823d2d4576cf35" + integrity sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig== + +"@rollup/rollup-android-arm64@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz#6f76cfa759c2d0fdb92122ffe28217181a1664eb" + integrity sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ== + +"@rollup/rollup-darwin-arm64@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz#9aaefe33a5481d66322d1c62f368171c03eabe2b" + integrity sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA== + +"@rollup/rollup-darwin-x64@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz#707dcaadcdc6bd3fd6c69f55d9456cd4446306a3" + integrity sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og== + +"@rollup/rollup-linux-arm-gnueabihf@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz#7a4dbbd1dd98731d88a55aefcef0ec4c578fa9c7" + integrity sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q== + +"@rollup/rollup-linux-arm64-gnu@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz#967ba8e6f68a5f21bd00cd97773dcdd6107e94ed" + integrity sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q== + +"@rollup/rollup-linux-arm64-musl@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz#d3a4e1c9f21eef3b9f4e4989f334a519a1341462" + integrity sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw== + +"@rollup/rollup-linux-riscv64-gnu@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz#415c0533bb752164effd05f5613858e8f6779bc9" + integrity sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw== + "@rollup/rollup-linux-x64-gnu@4.9.1": version "4.9.1" resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz" @@ -954,6 +1245,21 @@ resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz" integrity sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw== +"@rollup/rollup-win32-arm64-msvc@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz#5bebc66e3a7f82d4b9aa9ff448e7fc13a69656e9" + integrity sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g== + +"@rollup/rollup-win32-ia32-msvc@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz#34156ebf8b4de3b20e6497260fe519a30263f8cf" + integrity sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg== + +"@rollup/rollup-win32-x64-msvc@4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz#d146db7a5949e10837b323ce933ed882ac878262" + integrity sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA== + "@safe-global/safe-apps-provider@^0.17.1": version "0.17.1" resolved "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.17.1.tgz" @@ -962,14 +1268,6 @@ "@safe-global/safe-apps-sdk" "8.0.0" events "^3.3.0" -"@safe-global/safe-apps-sdk@^8.0.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz" - integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - viem "^1.0.0" - "@safe-global/safe-apps-sdk@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz" @@ -978,6 +1276,14 @@ "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" viem "^1.0.0" +"@safe-global/safe-apps-sdk@^8.0.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz" + integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" + "@safe-global/safe-gateway-typescript-sdk@^3.5.3": version "3.14.0" resolved "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.14.0.tgz" @@ -1005,34 +1311,6 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@solana/buffer-layout@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/web3.js@^1.70.1": - version "1.89.1" - resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.89.1.tgz" - integrity sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A== - dependencies: - "@babel/runtime" "^7.23.4" - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.2" - "@solana/buffer-layout" "^4.0.1" - agentkeepalive "^4.5.0" - bigint-buffer "^1.1.5" - bn.js "^5.2.1" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.7.0" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - "@stablelib/aead@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz" @@ -1050,14 +1328,6 @@ resolved "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz" integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - "@stablelib/chacha20poly1305@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz" @@ -1070,6 +1340,14 @@ "@stablelib/poly1305" "^1.0.1" "@stablelib/wipe" "^1.0.1" +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + "@stablelib/constant-time@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz" @@ -1216,19 +1494,10 @@ dependencies: "@babel/types" "^7.20.7" -"@types/connect@^3.4.33": - version "3.4.38" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/debug@^4.1.7": - version "4.1.12" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" - integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== - dependencies: - "@types/ms" "*" +"@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/http-proxy@^1.17.8": version "1.17.14" @@ -1242,23 +1511,13 @@ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/ms@*": - version "0.7.34" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== - -"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.10.4": +"@types/node@*", "@types/node@^20.10.4": version "20.10.5" resolved "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz" integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw== dependencies: undici-types "~5.26.4" -"@types/node@^12.12.54": - version "12.20.55" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - "@types/prettier@^2.1.1": version "2.7.3" resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz" @@ -1276,7 +1535,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.2.43", "@types/react@>=16.8": +"@types/react@*", "@types/react@^18.2.43": version "18.2.45" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz" integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== @@ -1300,13 +1559,6 @@ resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz" integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - "@typescript-eslint/eslint-plugin@^6.14.0": version "6.15.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz" @@ -1324,7 +1576,7 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha", "@typescript-eslint/parser@^6.14.0": +"@typescript-eslint/parser@^6.14.0": version "6.15.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz" integrity sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA== @@ -1397,6 +1649,218 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@unocss/astro@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/astro/-/astro-0.59.0.tgz" + integrity sha512-1M1OeYO7rthZ8z5Xokb0hE89rXk9AIvELDMRJl0TxYJ8xwK824S2LxpyK52i2g3+S2XmJaQMFoRvfLdCNK+dMw== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/reset" "0.59.0" + "@unocss/vite" "0.59.0" + +"@unocss/cli@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/cli/-/cli-0.59.0.tgz" + integrity sha512-2aWSFJ1SCxJBjRAsRog7JvVFfnB4Dps+ol0IFQw99nxaQx8YNiGKN8/bZjkajr0Leo77eAhKoxh2+LjIjrkr6Q== + dependencies: + "@ampproject/remapping" "^2.3.0" + "@rollup/pluginutils" "^5.1.0" + "@unocss/config" "0.59.0" + "@unocss/core" "0.59.0" + "@unocss/preset-uno" "0.59.0" + cac "^6.7.14" + chokidar "^3.6.0" + colorette "^2.0.20" + consola "^3.2.3" + fast-glob "^3.3.2" + magic-string "^0.30.9" + pathe "^1.1.2" + perfect-debounce "^1.0.0" + +"@unocss/config@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/config/-/config-0.59.0.tgz" + integrity sha512-uBsLXmT8Dap6YRHSdlsVLYev8L6JVK6vUFcVCe0w7B74TC+GceE13lNOG3Zhz1EVfHaOrUEcYFthDILUkjBR3Q== + dependencies: + "@unocss/core" "0.59.0" + unconfig "^0.3.12" + +"@unocss/core@0.59.0", "@unocss/core@^0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/core/-/core-0.59.0.tgz" + integrity sha512-9tXL6TV4FRpmFy70dHryA5NHsS7bV/x771LOPnZyiw+TRK4oGVk96IsATOflcn7L3FbXQY1mV+8Uzhkhx2PY0A== + +"@unocss/extractor-arbitrary-variants@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.59.0.tgz" + integrity sha512-KYprrpJXgdoJZa4iVejW9uqht4W712Ra0x1gvznPW0BupIPF7vEyNAGvPTnB2y5Wb6OjNMiPbGnqL7BfBoxYSQ== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/inspector@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.59.0.tgz" + integrity sha512-4xmc6HuAU12ED6SuGNr8QaKOHgskKGdLhKDHCQqFgYHw8gZoiBhmLcV4jP3Ef34JeWgQYbJ1cHQcYiHFXBmppQ== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/rule-utils" "0.59.0" + gzip-size "^6.0.0" + sirv "^2.0.4" + +"@unocss/postcss@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.59.0.tgz" + integrity sha512-1+kb6x+5cT5WiokBF8s3NgO1HxaF86vrPx3VAeOMSHTUNhzNvb72e6HBLRUp1Qu6kxbCLDixFpBtNZyH5ueoog== + dependencies: + "@unocss/config" "0.59.0" + "@unocss/core" "0.59.0" + "@unocss/rule-utils" "0.59.0" + css-tree "^2.3.1" + fast-glob "^3.3.2" + magic-string "^0.30.9" + postcss "^8.4.38" + +"@unocss/preset-attributify@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.59.0.tgz" + integrity sha512-jh1hXJQIygvagDwRuWX5pz3a8/PJGgMimzU6v6yWByOfvGIrLoxUFdJCc9IsvP6K9GUUqSBIyJDPx9364yysgQ== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/preset-icons@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.59.0.tgz" + integrity sha512-P0tH0ueZYprU1XGVAJl3nDC9uhPBJ43bnsV098uebBa8G650j7W5kslvSfV3XxG+/iujo2k2EGKxja9/uR4E0g== + dependencies: + "@iconify/utils" "^2.1.22" + "@unocss/core" "0.59.0" + ofetch "^1.3.4" + +"@unocss/preset-mini@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.59.0.tgz" + integrity sha512-UQ4+JyHHbtpfW6XyC1bsnoJx4MMCJKo+Y1n+5fYo9WRkVzZ7IkcZBeHG2wkNWH8TLBmzjZNvyUYEAi5lntDW1A== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/extractor-arbitrary-variants" "0.59.0" + "@unocss/rule-utils" "0.59.0" + +"@unocss/preset-tagify@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.59.0.tgz" + integrity sha512-JsVGUmSusHR6BLacxuGOf0XOqtAzBaoas15RvTklmj0eOzh5ClhsqP9C7guENyCMqmCgg0xz/22u4F9hujP6kg== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/preset-typography@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.59.0.tgz" + integrity sha512-HADPOJMeQM2O7eZuGBzKKMKTJw9wdWfJImftFAYC9+p42Kg8FNuLg9E10oZjejS8VDSxzcv9HKuyTXYvvDgAmg== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/preset-mini" "0.59.0" + +"@unocss/preset-uno@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.59.0.tgz" + integrity sha512-pNiyWZuByCq8hB14ITaJVtjFu02OYOce/I4dbKQ+SEWd1L3t6miplpKzsE+dptqH0iT33EWfQeXs6fkfjH+EZA== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/preset-mini" "0.59.0" + "@unocss/preset-wind" "0.59.0" + "@unocss/rule-utils" "0.59.0" + +"@unocss/preset-web-fonts@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.59.0.tgz" + integrity sha512-LH2BnYmxeVUqX3A4+bEX/EljV/82n5XHDwPk0VI3bJ9GWxnhTxkmagIXldmPFqVs8tIAYSDJbY31MGXR9WnqMA== + dependencies: + "@unocss/core" "0.59.0" + ofetch "^1.3.4" + +"@unocss/preset-wind@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.59.0.tgz" + integrity sha512-HazRIJDZ5/TZCZ3zC2KAd45UvmizPQi2uF7V3ZUqXQRGtrmZN24RsJkZNa4a3LiY2U0fEhHA7Pm6zPGx/nyeJg== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/preset-mini" "0.59.0" + "@unocss/rule-utils" "0.59.0" + +"@unocss/reset@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/reset/-/reset-0.59.0.tgz" + integrity sha512-9f5DYoaqzlaFz2fAzAJOXWZ41Qmgg4u9WdzMQ7SYALeEq61khScaSrf8osNTKFZuRLKPWYwX6JErzdAkfIH/6A== + +"@unocss/rule-utils@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-0.59.0.tgz" + integrity sha512-PDGAcyBFXqB7GHhKGRfajoiepL4A9SM4pyulMMT328H0uHEbwrB+niCVE/hubP2rCOGrrq7JH0nR4ftaC6m8Ow== + dependencies: + "@unocss/core" "^0.59.0" + magic-string "^0.30.9" + +"@unocss/scope@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/scope/-/scope-0.59.0.tgz" + integrity sha512-6rPic8ed4MlFz9nkPL2GxfkmTEwuu8sAxODEDRB5ws2/JzEiZHFrBd7O/p/OJHvwiizmNJ1Y6i65LAxky3RNSg== + +"@unocss/transformer-attributify-jsx-babel@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/transformer-attributify-jsx-babel/-/transformer-attributify-jsx-babel-0.59.0.tgz" + integrity sha512-Q0jllcvNE5WkT3vfKlWl6ALtg6PYm3Pd8F2va4PL9x6LvI0KzPz8wA022z+UqX0lMR84bnfdGN3751zWJecLPg== + dependencies: + "@babel/core" "^7.24.4" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/preset-typescript" "^7.24.1" + "@unocss/core" "0.59.0" + +"@unocss/transformer-attributify-jsx@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.59.0.tgz" + integrity sha512-4EoADTT/7H4Cmid11y5HZ4Bgc37qxAPcb1W0DBvXZJT1gh7N+4UFmR6s6s+N15IBUX7QKArUKh/U7ZwL9XZPMQ== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/transformer-compile-class@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.59.0.tgz" + integrity sha512-9GXyPl/aYxCoHJbD6u6iVrCcyiy4kBUZlgoOqySUZfFCPhslPPyPUsksZSRebRuA4ys2/XSi6cRVhtAZfAdjBw== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/transformer-directives@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.59.0.tgz" + integrity sha512-YHwUw5ByUlY8v3/85q8qdoOUnPKsiQokEM2u8BxOZ8HFoMYb5xjCNjY0I85unvRaKhh1tnrZWG+tq1510RSpHQ== + dependencies: + "@unocss/core" "0.59.0" + "@unocss/rule-utils" "0.59.0" + css-tree "^2.3.1" + +"@unocss/transformer-variant-group@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.59.0.tgz" + integrity sha512-tjzWaMusoGy1uFEZuuzu04SOIooG2RkeX2wtlQpr2hM2Kl8ZG4QW+8nxClwLiLkarurBeFtTNXCn5jjL9MVg3g== + dependencies: + "@unocss/core" "0.59.0" + +"@unocss/vite@0.59.0": + version "0.59.0" + resolved "https://registry.npmjs.org/@unocss/vite/-/vite-0.59.0.tgz" + integrity sha512-AfVw7PWjFb/+chqbGUjy0r/yFIWAkvPFUY5p4wXyLlPpbQjKlC/96Q771paLexvIhAvcYjUCrAgZSEMnk2JrSQ== + dependencies: + "@ampproject/remapping" "^2.3.0" + "@rollup/pluginutils" "^5.1.0" + "@unocss/config" "0.59.0" + "@unocss/core" "0.59.0" + "@unocss/inspector" "0.59.0" + "@unocss/scope" "0.59.0" + "@unocss/transformer-directives" "0.59.0" + chokidar "^3.6.0" + fast-glob "^3.3.2" + magic-string "^0.30.9" + "@vitejs/plugin-react@^4.2.1": version "4.2.1" resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz" @@ -1429,15 +1893,6 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" -"@walletconnect/core@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz" - integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== - dependencies: - "@walletconnect/socket-transport" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - "@walletconnect/core@2.11.0": version "2.11.0" resolved "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.0.tgz" @@ -1461,6 +1916,15 @@ lodash.isequal "4.5.0" uint8arrays "^3.1.0" +"@walletconnect/core@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz" + integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== + dependencies: + "@walletconnect/socket-transport" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + "@walletconnect/crypto@^1.0.2": version "1.0.3" resolved "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz" @@ -1555,7 +2019,7 @@ cross-fetch "^3.1.4" tslib "1.14.1" -"@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.5", "@walletconnect/jsonrpc-provider@1.0.13": +"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.5": version "1.0.13" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz" integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== @@ -1564,7 +2028,7 @@ "@walletconnect/safe-json" "^1.0.2" tslib "1.14.1" -"@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3", "@walletconnect/jsonrpc-types@1.0.3": +"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz" integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== @@ -1572,7 +2036,7 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8", "@walletconnect/jsonrpc-utils@1.0.8": +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": version "1.0.8" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz" integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== @@ -1680,6 +2144,11 @@ tslib "1.14.1" uint8arrays "^3.0.0" +"@walletconnect/safe-json@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz" + integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== + "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": version "1.0.2" resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz" @@ -1687,11 +2156,6 @@ dependencies: tslib "1.14.1" -"@walletconnect/safe-json@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz" - integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== - "@walletconnect/sign-client@2.11.0": version "2.11.0" resolved "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.0.tgz" @@ -1735,11 +2199,6 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@^1.7.1", "@walletconnect/types@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz" - integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== - "@walletconnect/types@2.11.0": version "2.11.0" resolved "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.0.tgz" @@ -1752,6 +2211,11 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" +"@walletconnect/types@^1.7.1", "@walletconnect/types@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz" + integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== + "@walletconnect/universal-provider@2.11.0": version "2.11.0" resolved "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.0.tgz" @@ -1767,19 +2231,6 @@ "@walletconnect/utils" "2.11.0" events "^3.3.0" -"@walletconnect/utils@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz" - integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== - dependencies: - "@walletconnect/browser-utils" "^1.8.0" - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/jsonrpc-utils" "^1.0.3" - "@walletconnect/types" "^1.8.0" - bn.js "4.11.8" - js-sha3 "0.8.0" - query-string "6.13.5" - "@walletconnect/utils@2.11.0": version "2.11.0" resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.0.tgz" @@ -1800,7 +2251,20 @@ query-string "7.1.3" uint8arrays "^3.1.0" -"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@1.0.0": +"@walletconnect/utils@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz" + integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== + dependencies: + "@walletconnect/browser-utils" "^1.8.0" + "@walletconnect/encoding" "^1.0.1" + "@walletconnect/jsonrpc-utils" "^1.0.3" + "@walletconnect/types" "^1.8.0" + bn.js "4.11.8" + js-sha3 "0.8.0" + query-string "6.13.5" + +"@walletconnect/window-getters@1.0.0", "@walletconnect/window-getters@^1.0.0": version "1.0.0" resolved "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz" integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== @@ -1812,6 +2276,13 @@ dependencies: tslib "1.14.1" +"@walletconnect/window-metadata@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz" + integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== + dependencies: + "@walletconnect/window-getters" "^1.0.0" + "@walletconnect/window-metadata@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" @@ -1820,13 +2291,6 @@ "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" -"@walletconnect/window-metadata@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz" - integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== - dependencies: - "@walletconnect/window-getters" "^1.0.0" - "@web3-react/abstract-connector@^6.0.7": version "6.0.7" resolved "https://registry.npmjs.org/@web3-react/abstract-connector/-/abstract-connector-6.0.7.tgz" @@ -1947,27 +2411,20 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.11.3, acorn@^8.9.0: +acorn@^8.11.3, acorn@^8.9.0: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - aes-js@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -agentkeepalive@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" +aes-js@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== ajv@^6.12.4: version "6.12.6" @@ -2001,14 +2458,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2048,12 +2498,7 @@ array-back@^3.0.1, array-back@^3.1.0: resolved "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz" integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== -array-back@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" - integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== - -array-back@^4.0.2: +array-back@^4.0.1, array-back@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== @@ -2063,23 +2508,11 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - axios@^0.21.0: version "0.21.4" resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" @@ -2092,13 +2525,6 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2: - version "3.0.9" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" @@ -2109,54 +2535,26 @@ bech32@1.1.4: resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bind-decorator@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz" - integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== - -bindings@^1.3.0: - version "1.5.0" - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" +bn.js@4.11.8: + version "4.11.8" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -bn.js@4.11.8: - version "4.11.8" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -2184,7 +2582,7 @@ brorand@^1.1.0: resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== -browserslist@^4.22.2, "browserslist@>= 4.21.0": +browserslist@^4.22.2: version "4.22.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== @@ -2194,13 +2592,6 @@ browserslist@^4.22.2, "browserslist@>= 4.21.0": node-releases "^2.0.14" update-browserslist-db "^1.0.13" -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" @@ -2232,7 +2623,7 @@ buffer@^5.4.3: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3, buffer@~6.0.3, buffer@6.0.3: +buffer@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -2240,21 +2631,10 @@ buffer@^6.0.3, buffer@~6.0.3, buffer@6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== callsites@^3.0.0: version "3.1.0" @@ -2285,7 +2665,7 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: +chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2293,18 +2673,10 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.5.3, chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -2323,6 +2695,11 @@ citty@^0.1.5: dependencies: consola "^3.2.3" +classnames@^2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + clipboardy@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz" @@ -2350,17 +2727,17 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -clsx@^1.1.0: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== cluster-key-slot@^1.1.0: version "1.1.2" resolved "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz" integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== -color-convert@^1.9.0: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -2374,16 +2751,37 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + integrity sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA== + dependencies: + color-name "^1.0.0" + +color@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + integrity sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA== + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + command-line-args@^5.1.1: version "5.2.1" resolved "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz" @@ -2404,11 +2802,6 @@ command-line-usage@^6.1.0: table-layout "^1.0.2" typical "^5.2.0" -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - commander@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" @@ -2457,6 +2850,14 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" @@ -2494,34 +2895,20 @@ deep-is@^0.1.3: resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - defu@^6.1.3, defu@^6.1.4: version "6.1.4" resolved "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz" integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - denque@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz" integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== -destr@^2.0.1, destr@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz" - integrity sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg== +destr@^2.0.2, destr@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz" + integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== detect-browser@5.2.0: version "5.2.0" @@ -2567,6 +2954,11 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + duplexify@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz" @@ -2634,18 +3026,6 @@ end-of-stream@^1.4.1: dependencies: once "^1.4.0" -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - esbuild@^0.19.3: version "0.19.10" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz" @@ -2713,7 +3093,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.55.0, eslint@>=7: +eslint@^8.55.0: version "8.56.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -2785,48 +3165,17 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eth-block-tracker@6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz" - integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "@metamask/utils" "^3.0.1" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - -eth-json-rpc-filters@5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz" - integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz" - integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@^4.0.2, eth-rpc-errors@4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -ethers@^5.1.3, ethers@^5.7.2: +ethers@^5.7.2: version "5.7.2" resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -2862,7 +3211,7 @@ ethers@^5.1.3, ethers@^5.7.2: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -eventemitter3@^4.0.0, eventemitter3@^4.0.7, eventemitter3@4.0.7: +eventemitter3@4.0.7, eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -2872,6 +3221,21 @@ events@^3.3.0: resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + execa@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" @@ -2887,17 +3251,12 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9, fast-glob@^3.3.0: +fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -2923,16 +3282,6 @@ fast-redact@^3.0.0: resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz" integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== -fast-safe-stringify@^2.0.6: - version "2.1.1" - resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - fastq@^1.6.0: version "1.16.0" resolved "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz" @@ -2947,11 +3296,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" @@ -3013,13 +3357,6 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.0: resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - foreground-child@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" @@ -3042,6 +3379,11 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -3057,27 +3399,22 @@ get-caller-file@^2.0.1: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - get-port-please@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz" integrity sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ== +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + get-stream@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -3091,12 +3428,17 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== +glob@7.1.7: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: - is-glob "^4.0.1" + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" glob@^10.3.10: version "10.3.12" @@ -3121,18 +3463,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.7: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" @@ -3157,13 +3487,6 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" @@ -3174,6 +3497,13 @@ graphemer@^1.4.0: resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + h3@^1.10.0, h3@^1.8.2: version "1.10.1" resolved "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz" @@ -3199,31 +3529,7 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7, hash.js@1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -3277,18 +3583,16 @@ http-shutdown@^1.2.2: resolved "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz" integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + human-signals@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - idb-keyval@^6.2.1: version "6.2.1" resolved "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz" @@ -3325,7 +3629,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4, inherits@2: +inherits@2, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3350,14 +3654,6 @@ iron-webcrypto@^1.0.0: resolved "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz" integrity sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg== -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" @@ -3365,11 +3661,6 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-core-module@^2.13.0: version "2.13.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" @@ -3397,13 +3688,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" @@ -3433,19 +3717,17 @@ is-plain-obj@^3.0.0: resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-stream@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-typed-array@^1.1.3: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@^1.0.0, is-typedarray@1.0.0: +is-typedarray@1.0.0, is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== @@ -3482,11 +3764,6 @@ isomorphic-unfetch@3.1.0: node-fetch "^2.6.1" unfetch "^4.2.0" -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - isows@1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz" @@ -3501,30 +3778,12 @@ jackspeak@^2.3.6: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jayson@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz" - integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - JSONStream "^1.3.5" - uuid "^8.3.2" - ws "^7.4.5" - jiti@^1.21.0: version "1.21.0" resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== -js-sha3@^0.8.0, js-sha3@0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -3551,19 +3810,6 @@ json-buffer@3.0.1: resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-rpc-engine@^6.1.0, json-rpc-engine@6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" @@ -3574,11 +3820,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - json5@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" @@ -3596,28 +3837,6 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -keccak@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz" - integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - keyv@^4.5.3: version "4.5.4" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" @@ -3630,6 +3849,11 @@ keyvaluestorage-interface@^1.0.0: resolved "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz" integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== +kolorist@^1.8.0: + version "1.8.0" + resolved "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz" + integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== + levn@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" @@ -3701,6 +3925,14 @@ lit@2.8.0: lit-element "^3.3.0" lit-html "^2.8.0" +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -3760,12 +3992,7 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lru-cache@^10.0.2: - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^10.2.0: +lru-cache@^10.0.2, lru-cache@^10.2.0: version "10.2.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== @@ -3784,6 +4011,18 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +magic-string@^0.30.9: + version "0.30.9" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz" + integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" @@ -3794,6 +4033,11 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +mersenne-twister@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" + integrity sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA== + micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" @@ -3807,6 +4051,11 @@ mime@^3.0.0: resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" @@ -3846,10 +4095,10 @@ mkdirp@^1.0.4: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mlly@^1.2.0, mlly@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz" - integrity sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ== +mlly@^1.2.0, mlly@^1.4.2, mlly@^1.5.0, mlly@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz" + integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== dependencies: acorn "^8.11.3" pathe "^1.1.2" @@ -3873,7 +4122,12 @@ mri@^1.2.0: resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -ms@^2.0.0, ms@2.1.2: +mrmime@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz" + integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + +ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -3907,22 +4161,17 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - node-addon-api@^7.0.0: version "7.1.0" resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== -node-fetch-native@^1.4.0, node-fetch-native@^1.4.1, node-fetch-native@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz" - integrity sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw== +node-fetch-native@^1.4.1, node-fetch-native@^1.6.1, node-fetch-native@^1.6.3: + version "1.6.4" + resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz" + integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== -node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.7.0: +node-fetch@^2.6.1, node-fetch@^2.6.12: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -3934,11 +4183,6 @@ node-forge@^1.3.1: resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.8.0" - resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== - node-releases@^2.0.14: version "2.0.14" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" @@ -3949,6 +4193,13 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + npm-run-path@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz" @@ -3966,19 +4217,14 @@ object-hash@^3.0.0: resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -ofetch@^1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz" - integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg== +ofetch@^1.3.3, ofetch@^1.3.4: + version "1.3.4" + resolved "https://registry.npmjs.org/ofetch/-/ofetch-1.3.4.tgz" + integrity sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw== dependencies: - destr "^2.0.1" - node-fetch-native "^1.4.0" - ufo "^1.3.0" + destr "^2.0.3" + node-fetch-native "^1.6.3" + ufo "^1.5.3" ohash@^1.1.3: version "1.1.3" @@ -3997,6 +4243,13 @@ once@^1.3.0, once@^1.4.0: dependencies: wrappy "1" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + onetime@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" @@ -4016,14 +4269,7 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -4085,7 +4331,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -4118,6 +4364,11 @@ pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== +perfect-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz" + integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" @@ -4133,16 +4384,6 @@ pify@^2.3.0: resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - pino-abstract-transport@v0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz" @@ -4241,19 +4482,14 @@ postcss-value-parser@^4.0.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.0.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.32, postcss@>=8.0.9: - version "8.4.32" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== +postcss@^8.4.23, postcss@^8.4.32, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" picocolors "^1.0.0" - source-map-js "^1.0.2" - -preact@^10.5.9: - version "10.19.3" - resolved "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz" - integrity sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ== + source-map-js "^1.2.0" preact@10.4.1: version "10.4.1" @@ -4317,13 +4553,6 @@ qrcode@1.5.3: pngjs "^5.0.0" yargs "^15.3.1" -qs@^6.10.3: - version "6.11.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - query-string@6.13.5: version "6.13.5" resolved "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz" @@ -4365,7 +4594,7 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -react-dom@^18.2.0, react-dom@>=16.14.0, react-dom@>=16.8, react-dom@>=16.8.0: +react-dom@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -4408,7 +4637,7 @@ react-transition-state@^2.1.0: resolved "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz" integrity sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q== -react@*, "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@>=16.14.0, react@>=16.8, react@>=16.8.0: +react@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -4422,7 +4651,7 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.1.1: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -4460,11 +4689,6 @@ reduce-flatten@^2.0.0: resolved "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz" integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -4526,19 +4750,6 @@ rollup@^4.2.0: "@rollup/rollup-win32-x64-msvc" "4.9.1" fsevents "~2.3.2" -rpc-websockets@^7.5.1: - version "7.9.0" - resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.9.0.tgz" - integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== - dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" @@ -4546,14 +4757,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -4585,7 +4789,7 @@ semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.8, semver@^7.5.4: +semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -4597,25 +4801,6 @@ set-blocking@^2.0.0: resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== - dependencies: - define-data-property "^1.1.1" - function-bind "^1.1.2" - get-intrinsic "^1.2.2" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -4628,20 +4813,25 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +sirv@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz" + integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== + dependencies: + "@polka/url" "^1.0.0-next.24" + mrmime "^2.0.0" + totalist "^3.0.0" + slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -4654,10 +4844,10 @@ sonic-boom@^2.2.1: dependencies: atomic-sleep "^1.0.0" -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== split-on-first@^1.0.0: version "1.1.0" @@ -4679,14 +4869,6 @@ std-env@^3.7.0: resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - stream-shift@^1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" @@ -4697,19 +4879,12 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - string-format@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz" integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4727,15 +4902,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" @@ -4745,41 +4911,27 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^5.2.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -4787,6 +4939,11 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-final-newline@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" @@ -4810,16 +4967,6 @@ sucrase@^3.32.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -4882,11 +5029,6 @@ tailwindcss@^3.4.3: resolve "^1.22.2" sucrase "^3.32.0" -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -4913,11 +5055,6 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - tiny-invariant@^1.0.6: version "1.3.1" resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" @@ -4945,6 +5082,11 @@ toggle-selection@^1.0.6: resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" @@ -4975,16 +5117,11 @@ ts-interface-checker@^0.1.9: resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -tslib@^1.9.0, tslib@1.14.1: +tslib@1.14.1: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - tslib@^2.3.1: version "2.6.2" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" @@ -5002,7 +5139,7 @@ type-fest@^0.20.2: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typechain@^8.3.1, typechain@^8.3.2: +typechain@^8.3.1: version "8.3.2" resolved "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz" integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== @@ -5030,7 +5167,7 @@ typescript@^4.9.5: resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typescript@^5.2.2, typescript@>=3.7.0, typescript@>=4.2.0, typescript@>=4.3.0, typescript@>=5.0.4: +typescript@^5.2.2: version "5.3.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== @@ -5045,10 +5182,10 @@ typical@^5.2.0: resolved "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== -ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz" - integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== +ufo@^1.3.1, ufo@^1.3.2, ufo@^1.5.3: + version "1.5.3" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== uint8arrays@^3.0.0, uint8arrays@^3.1.0: version "3.1.1" @@ -5057,6 +5194,16 @@ uint8arrays@^3.0.0, uint8arrays@^3.1.0: dependencies: multiformats "^9.4.2" +unconfig@^0.3.12: + version "0.3.12" + resolved "https://registry.npmjs.org/unconfig/-/unconfig-0.3.12.tgz" + integrity sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw== + dependencies: + "@antfu/utils" "^0.7.7" + defu "^6.1.4" + jiti "^1.21.0" + mlly "^1.6.1" + uncrypto@^0.1.3: version "0.1.3" resolved "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz" @@ -5088,6 +5235,32 @@ universalify@^0.1.0: resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +unocss@^0.59.0-beta.1: + version "0.59.0" + resolved "https://registry.npmjs.org/unocss/-/unocss-0.59.0.tgz" + integrity sha512-mCF31cfzonVtCFnkW/D99Xf031vedQ4ysyWCmwFr6kVGISc4a1OVqrmC8nv1Lp+8sPHIY9umtpNLX4Iwli/w5w== + dependencies: + "@unocss/astro" "0.59.0" + "@unocss/cli" "0.59.0" + "@unocss/core" "0.59.0" + "@unocss/extractor-arbitrary-variants" "0.59.0" + "@unocss/postcss" "0.59.0" + "@unocss/preset-attributify" "0.59.0" + "@unocss/preset-icons" "0.59.0" + "@unocss/preset-mini" "0.59.0" + "@unocss/preset-tagify" "0.59.0" + "@unocss/preset-typography" "0.59.0" + "@unocss/preset-uno" "0.59.0" + "@unocss/preset-web-fonts" "0.59.0" + "@unocss/preset-wind" "0.59.0" + "@unocss/reset" "0.59.0" + "@unocss/transformer-attributify-jsx" "0.59.0" + "@unocss/transformer-attributify-jsx-babel" "0.59.0" + "@unocss/transformer-compile-class" "0.59.0" + "@unocss/transformer-directives" "0.59.0" + "@unocss/transformer-variant-group" "0.59.0" + "@unocss/vite" "0.59.0" + unstorage@^1.9.0: version "1.10.1" resolved "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz" @@ -5139,34 +5312,11 @@ use-sync-external-store@1.2.0: resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== -utf-8-validate@^5.0.2, utf-8-validate@>=5.0.2: - version "5.0.10" - resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.4: - version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - valtio@1.11.2: version "1.11.2" resolved "https://registry.npmjs.org/valtio/-/valtio-1.11.2.tgz" @@ -5189,7 +5339,7 @@ viem@^1.0.0: isows "1.0.3" ws "8.13.0" -"vite@^4.2.0 || ^5.0.0", vite@^5.0.8: +vite@^5.0.8: version "5.0.12" resolved "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz" integrity sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w== @@ -5218,17 +5368,6 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.11, which-typed-array@^1.1.2: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" @@ -5285,21 +5424,11 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@*, ws@^7.4.0, ws@^7.4.5, ws@7.4.6: +ws@7.4.6, ws@^7.4.0: version "7.4.6" resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@^7.5.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.5.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - ws@7.5.3: version "7.5.3" resolved "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz" @@ -5310,10 +5439,10 @@ ws@8.13.0: resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +ws@^7.5.1: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== y18n@^4.0.0: version "4.0.3" @@ -5389,16 +5518,16 @@ yocto-queue@^0.1.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zustand@^4.4.7: - version "4.4.7" - resolved "https://registry.npmjs.org/zustand/-/zustand-4.4.7.tgz" - integrity sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw== - dependencies: - use-sync-external-store "1.2.0" - zustand@4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/zustand/-/zustand-4.4.0.tgz" integrity sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ== dependencies: use-sync-external-store "1.2.0" + +zustand@^4.4.7: + version "4.4.7" + resolved "https://registry.npmjs.org/zustand/-/zustand-4.4.7.tgz" + integrity sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw== + dependencies: + use-sync-external-store "1.2.0" diff --git a/kinode/packages/app_store/uninstall/Cargo.toml b/kinode/packages/app_store/uninstall/Cargo.toml index b1352ddf3..b3a28efd8 100644 --- a/kinode/packages/app_store/uninstall/Cargo.toml +++ b/kinode/packages/app_store/uninstall/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/app_store/uninstall/src/lib.rs b/kinode/packages/app_store/uninstall/src/lib.rs index 39e212259..346e80a5c 100644 --- a/kinode/packages/app_store/uninstall/src/lib.rs +++ b/kinode/packages/app_store/uninstall/src/lib.rs @@ -1,5 +1,5 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Message, PackageId, Request, + await_next_message_body, call_init, println, Address, Message, PackageId, Request, }; mod api; @@ -8,15 +8,11 @@ use api::*; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(our: Address) { - let Ok(body) = await_next_request_body() else { + let Ok(body) = await_next_message_body() else { println!("uninstall: failed to get args!"); return; }; diff --git a/kinode/packages/chess/chess/Cargo.toml b/kinode/packages/chess/chess/Cargo.toml index 32518597b..0008ee383 100644 --- a/kinode/packages/chess/chess/Cargo.toml +++ b/kinode/packages/chess/chess/Cargo.toml @@ -10,12 +10,12 @@ simulation-mode = [] anyhow = "1.0" base64 = "0.13" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } pleco = "0.5" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" url = "*" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/chess/chess/src/lib.rs b/kinode/packages/chess/chess/src/lib.rs index a4a685a49..a38f0f780 100644 --- a/kinode/packages/chess/chess/src/lib.rs +++ b/kinode/packages/chess/chess/src/lib.rs @@ -100,14 +100,10 @@ fn send_ws_update(our: &Address, game: &Game, open_channels: &HashSet) -> a wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); // After generating bindings, use this macro to define the Component struct // and its init() function, which the kernel will look for on startup. call_init!(initialize); - fn initialize(our: Address) { // A little printout to show in terminal that the process has started. println!("started"); diff --git a/kinode/packages/homepage/homepage/Cargo.toml b/kinode/packages/homepage/homepage/Cargo.toml index 09b77b803..acadadb07 100644 --- a/kinode/packages/homepage/homepage/Cargo.toml +++ b/kinode/packages/homepage/homepage/Cargo.toml @@ -9,10 +9,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/homepage/homepage/src/lib.rs b/kinode/packages/homepage/homepage/src/lib.rs index e0aac50f3..d7810ddae 100644 --- a/kinode/packages/homepage/homepage/src/lib.rs +++ b/kinode/packages/homepage/homepage/src/lib.rs @@ -36,9 +36,6 @@ struct HomepageApp { wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); const HOME_PAGE: &str = include_str!("index.html"); @@ -50,8 +47,6 @@ const APP_TEMPLATE: &str = r#"
${label}
"#; -call_init!(init); - /// bind to root path on http_server (we have special dispensation to do so!) fn bind_index(our: &str, apps: &HashMap) { bind_http_static_path( @@ -161,6 +156,7 @@ fn bind_index(our: &str, apps: &HashMap) { // Ok(()) // } +call_init!(init); fn init(our: Address) { let mut apps: HashMap = HashMap::new(); let mut app_data: HashMap = HashMap::new(); diff --git a/kinode/packages/kns_indexer/get_block/Cargo.toml b/kinode/packages/kns_indexer/get_block/Cargo.toml index a9aca8ae2..be4a5250e 100644 --- a/kinode/packages/kns_indexer/get_block/Cargo.toml +++ b/kinode/packages/kns_indexer/get_block/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/kns_indexer/get_block/src/lib.rs b/kinode/packages/kns_indexer/get_block/src/lib.rs index 52c2eee0e..4b9e067f2 100644 --- a/kinode/packages/kns_indexer/get_block/src/lib.rs +++ b/kinode/packages/kns_indexer/get_block/src/lib.rs @@ -1,17 +1,13 @@ -use kinode_process_lib::{await_next_request_body, call_init, eth, println, Address}; +use kinode_process_lib::{await_next_message_body, call_init, eth, println, Address}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/kns_indexer/kns_indexer/Cargo.toml b/kinode/packages/kns_indexer/kns_indexer/Cargo.toml index 6ff1a0790..a90116e7c 100644 --- a/kinode/packages/kns_indexer/kns_indexer/Cargo.toml +++ b/kinode/packages/kns_indexer/kns_indexer/Cargo.toml @@ -12,11 +12,11 @@ alloy-primitives = "0.6.2" alloy-sol-types = "0.6.2" bincode = "1.3.3" hex = "0.4.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rmp-serde = "1.1.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/kns_indexer/kns_indexer/src/lib.rs b/kinode/packages/kns_indexer/kns_indexer/src/lib.rs index 312af8c0f..97c4dfa7f 100644 --- a/kinode/packages/kns_indexer/kns_indexer/src/lib.rs +++ b/kinode/packages/kns_indexer/kns_indexer/src/lib.rs @@ -1,6 +1,7 @@ use alloy_sol_types::{sol, SolEvent}; use kinode_process_lib::{ - await_message, eth, get_typed_state, println, set_state, Address, Message, Request, Response, + await_message, call_init, eth, get_typed_state, println, set_state, Address, Message, Request, + Response, }; use serde::{Deserialize, Serialize}; use std::collections::{ @@ -12,11 +13,11 @@ use std::string::FromUtf8Error; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); +// perhaps a constant in process_lib? +const KNS_OPTIMISM_ADDRESS: &'static str = "0xca5b5811c0c40aab3295f932b1b5112eb7bb4bd6"; + #[derive(Clone, Debug, Serialize, Deserialize)] struct State { chain_id: u64, @@ -114,62 +115,43 @@ fn subscribe_to_logs(eth_provider: ð::Provider, from_block: u64, filter: eth: println!("subscribed to logs successfully"); } -struct Component; -impl Guest for Component { - fn init(our: String) { - let our: Address = our.parse().unwrap(); - - // first, await a message from the kernel which will contain the - // chain ID and contract address for the KNS version we want to track. - let chain_id: u64; - let contract_address: String; - loop { - let Ok(Message::Request { source, body, .. }) = await_message() else { - continue; - }; - if source.process != "kernel:distro:sys" { - continue; - } - (chain_id, contract_address) = serde_json::from_slice(&body).unwrap(); - break; - } - println!("indexing on contract address {}", contract_address); - - // if we have state, load it in - let state: State = match get_typed_state(|bytes| Ok(bincode::deserialize::(bytes)?)) - { - Some(s) => { - // if chain id or contract address changed from a previous run, reset state - if s.chain_id != chain_id || s.contract_address != contract_address { - println!( - "resetting state because runtime contract address or chain ID changed" - ); - State { - chain_id, - contract_address, - names: HashMap::new(), - nodes: HashMap::new(), - block: 1, - } - } else { - println!("loading in {} persisted PKI entries", s.nodes.len()); - s +call_init!(init); +fn init(our: Address) { + let (chain_id, contract_address) = (10, KNS_OPTIMISM_ADDRESS.to_string()); + + println!("indexing on contract address {}", contract_address); + + // if we have state, load it in + let state: State = match get_typed_state(|bytes| Ok(bincode::deserialize::(bytes)?)) { + Some(s) => { + // if chain id or contract address changed from a previous run, reset state + if s.chain_id != chain_id || s.contract_address != contract_address { + println!("resetting state because runtime contract address or chain ID changed"); + State { + chain_id, + contract_address, + names: HashMap::new(), + nodes: HashMap::new(), + block: 1, } + } else { + println!("loading in {} persisted PKI entries", s.nodes.len()); + s } - None => State { - chain_id, - contract_address: contract_address.clone(), - names: HashMap::new(), - nodes: HashMap::new(), - block: 1, - }, - }; + } + None => State { + chain_id, + contract_address: contract_address.clone(), + names: HashMap::new(), + nodes: HashMap::new(), + block: 1, + }, + }; - match main(our, state) { - Ok(_) => {} - Err(e) => { - println!("error: {:?}", e); - } + match main(our, state) { + Ok(_) => {} + Err(e) => { + println!("error: {:?}", e); } } } diff --git a/kinode/packages/kns_indexer/state/Cargo.toml b/kinode/packages/kns_indexer/state/Cargo.toml index 153271865..7f1889dbf 100644 --- a/kinode/packages/kns_indexer/state/Cargo.toml +++ b/kinode/packages/kns_indexer/state/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/kns_indexer/state/src/lib.rs b/kinode/packages/kns_indexer/state/src/lib.rs index 1755b8198..917c3a923 100644 --- a/kinode/packages/kns_indexer/state/src/lib.rs +++ b/kinode/packages/kns_indexer/state/src/lib.rs @@ -1,13 +1,10 @@ -use kinode_process_lib::{call_init, println, Address, Message, Request}; +use kinode_process_lib::{call_init, net, println, Address, Message, Request}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); /// From main kns_indexer process @@ -20,24 +17,12 @@ struct State { names: HashMap, // human readable name to most recent on-chain routing information as json // NOTE: not every namehash will have a node registered - nodes: HashMap, + nodes: HashMap, // last block we have an update from block: u64, } -#[derive(Clone, Debug, Serialize, Deserialize, Default)] -pub struct KnsUpdate { - pub name: String, // actual username / domain name - pub owner: String, - pub node: String, // hex namehash of node - pub public_key: String, - pub ip: String, - pub port: u16, - pub routers: Vec, -} - call_init!(init); - fn init(_our: Address) { let Ok(Message::Response { body, .. }) = Request::to(("our", "kns_indexer", "kns_indexer", "sys")) diff --git a/kinode/packages/terminal/alias/Cargo.toml b/kinode/packages/terminal/alias/Cargo.toml index c8f0fa9da..ecbf584e1 100644 --- a/kinode/packages/terminal/alias/Cargo.toml +++ b/kinode/packages/terminal/alias/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/alias/src/lib.rs b/kinode/packages/terminal/alias/src/lib.rs index b0d150976..e430f74a2 100644 --- a/kinode/packages/terminal/alias/src/lib.rs +++ b/kinode/packages/terminal/alias/src/lib.rs @@ -1,14 +1,11 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, ProcessId, Request, + await_next_message_body, call_init, println, Address, ProcessId, Request, }; use serde::{Deserialize, Serialize}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); #[derive(Debug, Serialize, Deserialize)] @@ -20,9 +17,8 @@ enum TerminalAction { } call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/terminal/cat/Cargo.toml b/kinode/packages/terminal/cat/Cargo.toml index 86ae275e8..d6ba3fd42 100644 --- a/kinode/packages/terminal/cat/Cargo.toml +++ b/kinode/packages/terminal/cat/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/cat/src/lib.rs b/kinode/packages/terminal/cat/src/lib.rs index cf529e671..e30e9e9c6 100644 --- a/kinode/packages/terminal/cat/src/lib.rs +++ b/kinode/packages/terminal/cat/src/lib.rs @@ -1,19 +1,15 @@ use kinode_process_lib::{ - await_next_request_body, call_init, get_blob, println, vfs, Address, Request, + await_next_message_body, call_init, get_blob, println, vfs, Address, Request, }; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/terminal/echo/Cargo.toml b/kinode/packages/terminal/echo/Cargo.toml index 53040d8a4..9c7d91622 100644 --- a/kinode/packages/terminal/echo/Cargo.toml +++ b/kinode/packages/terminal/echo/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/echo/src/lib.rs b/kinode/packages/terminal/echo/src/lib.rs index 92609f578..dba293179 100644 --- a/kinode/packages/terminal/echo/src/lib.rs +++ b/kinode/packages/terminal/echo/src/lib.rs @@ -1,17 +1,13 @@ -use kinode_process_lib::{await_next_request_body, call_init, println, Address}; +use kinode_process_lib::{await_next_message_body, call_init, println, Address}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/terminal/hi/Cargo.toml b/kinode/packages/terminal/hi/Cargo.toml index b2b4269bd..f02f3bbc5 100644 --- a/kinode/packages/terminal/hi/Cargo.toml +++ b/kinode/packages/terminal/hi/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/hi/src/lib.rs b/kinode/packages/terminal/hi/src/lib.rs index 9b53a1331..b3e2e871b 100644 --- a/kinode/packages/terminal/hi/src/lib.rs +++ b/kinode/packages/terminal/hi/src/lib.rs @@ -1,19 +1,15 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Request, SendError, SendErrorKind, + await_next_message_body, call_init, println, Address, Request, SendError, SendErrorKind, }; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/terminal/m/Cargo.toml b/kinode/packages/terminal/m/Cargo.toml index c865e6c3a..69858ea8b 100644 --- a/kinode/packages/terminal/m/Cargo.toml +++ b/kinode/packages/terminal/m/Cargo.toml @@ -9,11 +9,11 @@ simulation-mode = [] [dependencies] anyhow = "1.0" clap = "4.4.18" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } regex = "1.10.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/m/src/lib.rs b/kinode/packages/terminal/m/src/lib.rs index c88a96227..2d538c567 100644 --- a/kinode/packages/terminal/m/src/lib.rs +++ b/kinode/packages/terminal/m/src/lib.rs @@ -1,21 +1,17 @@ use clap::{Arg, Command}; use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Request, SendErrorKind, + await_next_message_body, call_init, println, Address, Request, SendErrorKind, }; use regex::Regex; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(_our: Address) { - let Ok(body) = await_next_request_body() else { + let Ok(body) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/terminal/namehash_to_name/Cargo.toml b/kinode/packages/terminal/namehash_to_name/Cargo.toml index 2eca8a236..18c11100d 100644 --- a/kinode/packages/terminal/namehash_to_name/Cargo.toml +++ b/kinode/packages/terminal/namehash_to_name/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rmp-serde = "1.1.2" serde = { version = "1.0", features = ["derive"] } -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/namehash_to_name/src/lib.rs b/kinode/packages/terminal/namehash_to_name/src/lib.rs index 77e29bb8d..e51ac3d63 100644 --- a/kinode/packages/terminal/namehash_to_name/src/lib.rs +++ b/kinode/packages/terminal/namehash_to_name/src/lib.rs @@ -1,60 +1,15 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Message, NodeId, Request, + await_next_message_body, call_init, net, println, Address, Message, Request, }; -use serde::{Deserialize, Serialize}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); -// types copied from runtime networking core - -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct Identity { - pub name: NodeId, - pub networking_key: String, - pub ws_routing: Option<(String, u16)>, - pub allowed_routers: Vec, -} - -/// Must be parsed from message pack vector. -/// all Get actions must be sent from local process. used for debugging -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetAction { - /// get a list of peers we are connected to - GetPeers, - /// get the [`Identity`] struct for a single peer - GetPeer(String), - /// get the [`NodeId`] associated with a given namehash, if any - GetName(String), - /// get a user-readable diagnostics string containing networking inforamtion - GetDiagnostics, -} - -/// For now, only sent in response to a ConnectionRequest. -/// Must be parsed from message pack vector -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetResponse { - Accepted(NodeId), - Rejected(NodeId), - /// response to [`NetAction::GetPeers`] - Peers(Vec), - /// response to [`NetAction::GetPeer`] - Peer(Option), - /// response to [`NetAction::GetName`] - Name(Option), - /// response to [`NetAction::GetDiagnostics`]. A user-readable string. - Diagnostics(String), -} - call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; @@ -63,13 +18,13 @@ fn init(_our: Address) { return; }; let Ok(Ok(Message::Response { body, .. })) = Request::to(("our", "net", "distro", "sys")) - .body(rmp_serde::to_vec(&NetAction::GetName(namehash.clone())).unwrap()) + .body(rmp_serde::to_vec(&net::NetAction::GetName(namehash.clone())).unwrap()) .send_and_await_response(5) else { println!("failed to get name from networking module"); return; }; - let Ok(NetResponse::Name(maybe_name)) = rmp_serde::from_slice(&body) else { + let Ok(net::NetResponse::Name(maybe_name)) = rmp_serde::from_slice(&body) else { println!("got malformed response from networking module"); return; }; diff --git a/kinode/packages/terminal/net_diagnostics/Cargo.toml b/kinode/packages/terminal/net_diagnostics/Cargo.toml index 604152a5f..89df80e16 100644 --- a/kinode/packages/terminal/net_diagnostics/Cargo.toml +++ b/kinode/packages/terminal/net_diagnostics/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rmp-serde = "1.1.2" serde = { version = "1.0", features = ["derive"] } -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/net_diagnostics/src/lib.rs b/kinode/packages/terminal/net_diagnostics/src/lib.rs index 9079fd36b..754c5bdf8 100644 --- a/kinode/packages/terminal/net_diagnostics/src/lib.rs +++ b/kinode/packages/terminal/net_diagnostics/src/lib.rs @@ -1,65 +1,20 @@ -use kinode_process_lib::{call_init, println, Address, Message, NodeId, Request}; -use serde::{Deserialize, Serialize}; +use kinode_process_lib::{call_init, net, println, Address, Message, Request}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); -// types copied from runtime networking core - -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct Identity { - pub name: NodeId, - pub networking_key: String, - pub ws_routing: Option<(String, u16)>, - pub allowed_routers: Vec, -} - -/// Must be parsed from message pack vector. -/// all Get actions must be sent from local process. used for debugging -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetAction { - /// get a list of peers we are connected to - GetPeers, - /// get the [`Identity`] struct for a single peer - GetPeer(String), - /// get the [`NodeId`] associated with a given namehash, if any - GetName(String), - /// get a user-readable diagnostics string containing networking inforamtion - GetDiagnostics, -} - -/// For now, only sent in response to a ConnectionRequest. -/// Must be parsed from message pack vector -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetResponse { - Accepted(NodeId), - Rejected(NodeId), - /// response to [`NetAction::GetPeers`] - Peers(Vec), - /// response to [`NetAction::GetPeer`] - Peer(Option), - /// response to [`NetAction::GetName`] - Name(Option), - /// response to [`NetAction::GetDiagnostics`]. A user-readable string. - Diagnostics(String), -} - call_init!(init); - fn init(_our: Address) { let Ok(Ok(Message::Response { body, .. })) = Request::to(("our", "net", "distro", "sys")) - .body(rmp_serde::to_vec(&NetAction::GetDiagnostics).unwrap()) + .body(rmp_serde::to_vec(&net::NetAction::GetDiagnostics).unwrap()) .send_and_await_response(5) else { println!("failed to get diagnostics from networking module"); return; }; - let Ok(NetResponse::Diagnostics(printout)) = rmp_serde::from_slice(&body) else { + let Ok(net::NetResponse::Diagnostics(printout)) = rmp_serde::from_slice(&body) else { println!("got malformed response from networking module"); return; }; diff --git a/kinode/packages/terminal/peer/Cargo.toml b/kinode/packages/terminal/peer/Cargo.toml index cd6a9f664..790385d62 100644 --- a/kinode/packages/terminal/peer/Cargo.toml +++ b/kinode/packages/terminal/peer/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rmp-serde = "1.1.2" serde = { version = "1.0", features = ["derive"] } -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/peer/src/lib.rs b/kinode/packages/terminal/peer/src/lib.rs index 12cb74991..f1567e031 100644 --- a/kinode/packages/terminal/peer/src/lib.rs +++ b/kinode/packages/terminal/peer/src/lib.rs @@ -1,60 +1,15 @@ use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, Message, NodeId, Request, + await_next_message_body, call_init, net, println, Address, Message, Request, }; -use serde::{Deserialize, Serialize}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); -// types copied from runtime networking core - -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct Identity { - pub name: NodeId, - pub networking_key: String, - pub ws_routing: Option<(String, u16)>, - pub allowed_routers: Vec, -} - -/// Must be parsed from message pack vector. -/// all Get actions must be sent from local process. used for debugging -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetAction { - /// get a list of peers we are connected to - GetPeers, - /// get the [`Identity`] struct for a single peer - GetPeer(String), - /// get the [`NodeId`] associated with a given namehash, if any - GetName(String), - /// get a user-readable diagnostics string containing networking inforamtion - GetDiagnostics, -} - -/// For now, only sent in response to a ConnectionRequest. -/// Must be parsed from message pack vector -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetResponse { - Accepted(NodeId), - Rejected(NodeId), - /// response to [`NetAction::GetPeers`] - Peers(Vec), - /// response to [`NetAction::GetPeer`] - Peer(Option), - /// response to [`NetAction::GetName`] - Name(Option), - /// response to [`NetAction::GetDiagnostics`]. A user-readable string. - Diagnostics(String), -} - call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; @@ -63,13 +18,13 @@ fn init(_our: Address) { return; }; let Ok(Ok(Message::Response { body, .. })) = Request::to(("our", "net", "distro", "sys")) - .body(rmp_serde::to_vec(&NetAction::GetPeer(name.clone())).unwrap()) + .body(rmp_serde::to_vec(&net::NetAction::GetPeer(name.clone())).unwrap()) .send_and_await_response(5) else { println!("failed to get response from networking module"); return; }; - let Ok(NetResponse::Peer(maybe_peer_id)) = rmp_serde::from_slice(&body) else { + let Ok(net::NetResponse::Peer(maybe_peer_id)) = rmp_serde::from_slice(&body) else { println!("got malformed response from networking module"); return; }; diff --git a/kinode/packages/terminal/peers/Cargo.toml b/kinode/packages/terminal/peers/Cargo.toml index b7d7cad34..6d5ba2087 100644 --- a/kinode/packages/terminal/peers/Cargo.toml +++ b/kinode/packages/terminal/peers/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" simulation-mode = [] [dependencies] -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rmp-serde = "1.1.2" serde = { version = "1.0", features = ["derive"] } -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/peers/src/lib.rs b/kinode/packages/terminal/peers/src/lib.rs index bc324e222..a2de404fa 100644 --- a/kinode/packages/terminal/peers/src/lib.rs +++ b/kinode/packages/terminal/peers/src/lib.rs @@ -1,12 +1,9 @@ -use kinode_process_lib::{call_init, println, Address, Message, NodeId, Request}; +use kinode_process_lib::{call_init, net, println, Address, Message, NodeId, Request}; use serde::{Deserialize, Serialize}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); // types copied from runtime networking core @@ -19,47 +16,16 @@ pub struct Identity { pub allowed_routers: Vec, } -/// Must be parsed from message pack vector. -/// all Get actions must be sent from local process. used for debugging -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetAction { - /// get a list of peers we are connected to - GetPeers, - /// get the [`Identity`] struct for a single peer - GetPeer(String), - /// get the [`NodeId`] associated with a given namehash, if any - GetName(String), - /// get a user-readable diagnostics string containing networking inforamtion - GetDiagnostics, -} - -/// For now, only sent in response to a ConnectionRequest. -/// Must be parsed from message pack vector -#[derive(Clone, Debug, Serialize, Deserialize)] -pub enum NetResponse { - Accepted(NodeId), - Rejected(NodeId), - /// response to [`NetAction::GetPeers`] - Peers(Vec), - /// response to [`NetAction::GetPeer`] - Peer(Option), - /// response to [`NetAction::GetName`] - Name(Option), - /// response to [`NetAction::GetDiagnostics`]. A user-readable string. - Diagnostics(String), -} - call_init!(init); - fn init(_our: Address) { let Ok(Ok(Message::Response { body, .. })) = Request::to(("our", "net", "distro", "sys")) - .body(rmp_serde::to_vec(&NetAction::GetPeers).unwrap()) + .body(rmp_serde::to_vec(&net::NetAction::GetPeers).unwrap()) .send_and_await_response(5) else { println!("failed to get peers from networking module"); return; }; - let Ok(NetResponse::Peers(identities)) = rmp_serde::from_slice(&body) else { + let Ok(net::NetResponse::Peers(identities)) = rmp_serde::from_slice(&body) else { println!("got malformed response from networking module"); return; }; diff --git a/kinode/packages/terminal/terminal/Cargo.toml b/kinode/packages/terminal/terminal/Cargo.toml index d85e70ae0..acdc452b7 100644 --- a/kinode/packages/terminal/terminal/Cargo.toml +++ b/kinode/packages/terminal/terminal/Cargo.toml @@ -9,12 +9,12 @@ simulation-mode = [] [dependencies] anyhow = "1.0" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } rand = "0.8" regex = "1.10.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/terminal/src/lib.rs b/kinode/packages/terminal/terminal/src/lib.rs index 831eaee1e..612b6d47a 100644 --- a/kinode/packages/terminal/terminal/src/lib.rs +++ b/kinode/packages/terminal/terminal/src/lib.rs @@ -2,8 +2,8 @@ use anyhow::anyhow; use kinode_process_lib::kernel_types as kt; use kinode_process_lib::kinode::process::standard as wit; use kinode_process_lib::{ - get_blob, get_typed_state, our_capabilities, print_to_terminal, println, set_state, vfs, - Address, Capability, ProcessId, Request, + call_init, get_blob, get_typed_state, our_capabilities, print_to_terminal, println, set_state, + vfs, Address, Capability, ProcessId, Request, }; use serde::{Deserialize, Serialize}; use std::collections::{HashMap, HashSet}; @@ -11,9 +11,6 @@ use std::collections::{HashMap, HashSet}; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); #[derive(Debug, Serialize, Deserialize)] @@ -51,103 +48,96 @@ fn parse_command(state: &mut TerminalState, line: &str) -> anyhow::Result<()> { } } -struct Component; -impl Guest for Component { - fn init(our: String) { - let mut state: TerminalState = - match get_typed_state(|bytes| Ok(bincode::deserialize(bytes)?)) { - Some(s) => s, - None => TerminalState { - our: our.parse::
().unwrap(), - aliases: HashMap::from([ - ( - "alias".to_string(), - ProcessId::new(Some("alias"), "terminal", "sys"), - ), - ( - "cat".to_string(), - ProcessId::new(Some("cat"), "terminal", "sys"), - ), - ( - "echo".to_string(), - ProcessId::new(Some("echo"), "terminal", "sys"), - ), - ( - "hi".to_string(), - ProcessId::new(Some("hi"), "terminal", "sys"), - ), - ( - "m".to_string(), - ProcessId::new(Some("m"), "terminal", "sys"), - ), - ( - "namehash_to_name".to_string(), - ProcessId::new(Some("namehash_to_name"), "terminal", "sys"), - ), - ( - "net_diagnostics".to_string(), - ProcessId::new(Some("net_diagnostics"), "terminal", "sys"), - ), - ( - "peer".to_string(), - ProcessId::new(Some("peer"), "terminal", "sys"), - ), - ( - "peers".to_string(), - ProcessId::new(Some("peers"), "terminal", "sys"), - ), - ( - "top".to_string(), - ProcessId::new(Some("top"), "terminal", "sys"), - ), - ]), - }, - }; +call_init!(init); +fn init(our: Address) { + let mut state: TerminalState = match get_typed_state(|bytes| Ok(bincode::deserialize(bytes)?)) { + Some(s) => s, + None => TerminalState { + our, + aliases: HashMap::from([ + ( + "alias".to_string(), + ProcessId::new(Some("alias"), "terminal", "sys"), + ), + ( + "cat".to_string(), + ProcessId::new(Some("cat"), "terminal", "sys"), + ), + ( + "echo".to_string(), + ProcessId::new(Some("echo"), "terminal", "sys"), + ), + ( + "hi".to_string(), + ProcessId::new(Some("hi"), "terminal", "sys"), + ), + ( + "m".to_string(), + ProcessId::new(Some("m"), "terminal", "sys"), + ), + ( + "namehash_to_name".to_string(), + ProcessId::new(Some("namehash_to_name"), "terminal", "sys"), + ), + ( + "net_diagnostics".to_string(), + ProcessId::new(Some("net_diagnostics"), "terminal", "sys"), + ), + ( + "peer".to_string(), + ProcessId::new(Some("peer"), "terminal", "sys"), + ), + ( + "peers".to_string(), + ProcessId::new(Some("peers"), "terminal", "sys"), + ), + ( + "top".to_string(), + ProcessId::new(Some("top"), "terminal", "sys"), + ), + ]), + }, + }; - loop { - let (source, message) = match wit::receive() { - Ok((source, message)) => (source, message), - Err((error, _context)) => { - println!("net error: {:?}!", error.kind); - continue; - } - }; - match message { - wit::Message::Request(wit::Request { body, .. }) => { - if state.our == source { - match parse_command( - &mut state, - std::str::from_utf8(&body).unwrap_or_default(), - ) { - Ok(()) => continue, - Err(e) => println!("{e}"), - } - } else if state.our.node == source.node - && state.our.package() == source.package() + loop { + let (source, message) = match wit::receive() { + Ok((source, message)) => (source, message), + Err((error, _context)) => { + println!("net error: {:?}!", error.kind); + continue; + } + }; + match message { + wit::Message::Request(wit::Request { body, .. }) => { + if state.our == source { + match parse_command(&mut state, std::str::from_utf8(&body).unwrap_or_default()) { - let Ok(action) = serde_json::from_slice::(&body) else { - println!("failed to parse action from: {}", source); - continue; - }; - match action { - TerminalAction::EditAlias { alias, process } => { - match handle_alias_change(&mut state, alias, process) { - Ok(()) => continue, - Err(e) => println!("{e}"), - }; - } - } - } else { - println!("ignoring message from: {}", source); + Ok(()) => continue, + Err(e) => println!("{e}"), + } + } else if state.our.node == source.node && state.our.package() == source.package() { + let Ok(action) = serde_json::from_slice::(&body) else { + println!("failed to parse action from: {}", source); continue; + }; + match action { + TerminalAction::EditAlias { alias, process } => { + match handle_alias_change(&mut state, alias, process) { + Ok(()) => continue, + Err(e) => println!("{e}"), + }; + } } + } else { + println!("ignoring message from: {}", source); + continue; } - wit::Message::Response((wit::Response { body, .. }, _)) => { - if let Ok(txt) = std::str::from_utf8(&body) { - println!("{txt}"); - } else { - println!("{body:?}"); - } + } + wit::Message::Response((wit::Response { body, .. }, _)) => { + if let Ok(txt) = std::str::from_utf8(&body) { + println!("{txt}"); + } else { + println!("{body:?}"); } } } diff --git a/kinode/packages/terminal/top/Cargo.toml b/kinode/packages/terminal/top/Cargo.toml index e935df412..9ab2f6902 100644 --- a/kinode/packages/terminal/top/Cargo.toml +++ b/kinode/packages/terminal/top/Cargo.toml @@ -8,10 +8,10 @@ simulation-mode = [] [dependencies] anyhow = "1.0" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/terminal/top/src/lib.rs b/kinode/packages/terminal/top/src/lib.rs index 479d83e4e..143a43979 100644 --- a/kinode/packages/terminal/top/src/lib.rs +++ b/kinode/packages/terminal/top/src/lib.rs @@ -1,20 +1,16 @@ use kinode_process_lib::kernel_types::{KernelCommand, KernelPrint}; use kinode_process_lib::{ - await_next_request_body, call_init, println, Address, ProcessId, Request, + await_next_message_body, call_init, println, Address, ProcessId, Request, }; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); call_init!(init); - fn init(_our: Address) { - let Ok(args) = await_next_request_body() else { + let Ok(args) = await_next_message_body() else { println!("failed to get args"); return; }; diff --git a/kinode/packages/tester/test_runner/Cargo.toml b/kinode/packages/tester/test_runner/Cargo.toml index e53ea70ae..583181f6b 100644 --- a/kinode/packages/tester/test_runner/Cargo.toml +++ b/kinode/packages/tester/test_runner/Cargo.toml @@ -9,11 +9,11 @@ simulation-mode = [] [dependencies] anyhow = "1.0" bincode = "1.3.3" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/tester/test_runner/src/lib.rs b/kinode/packages/tester/test_runner/src/lib.rs index e29d502d2..636347e2c 100644 --- a/kinode/packages/tester/test_runner/src/lib.rs +++ b/kinode/packages/tester/test_runner/src/lib.rs @@ -12,9 +12,6 @@ use tester_types as tt; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); fn make_vfs_address(our: &Address) -> anyhow::Result
{ diff --git a/kinode/packages/tester/tester/Cargo.toml b/kinode/packages/tester/tester/Cargo.toml index 154c1b854..80cb37b9c 100644 --- a/kinode/packages/tester/tester/Cargo.toml +++ b/kinode/packages/tester/tester/Cargo.toml @@ -10,11 +10,11 @@ simulation-mode = [] anyhow = "1.0" bincode = "1.3.3" indexmap = "2.1" -kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.0" } +kinode_process_lib = { git = "https://github.com/kinode-dao/process_lib", tag = "v0.6.1" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "1.0" -wit-bindgen = { git = "https://github.com/bytecodealliance/wit-bindgen", rev = "21a46c7" } +wit-bindgen = "0.24.0" [lib] crate-type = ["cdylib"] diff --git a/kinode/packages/tester/tester/src/lib.rs b/kinode/packages/tester/tester/src/lib.rs index a2a7ee2a0..b502988fd 100644 --- a/kinode/packages/tester/tester/src/lib.rs +++ b/kinode/packages/tester/tester/src/lib.rs @@ -12,9 +12,6 @@ use tester_types as tt; wit_bindgen::generate!({ path: "wit", world: "process", - exports: { - world: Component, - }, }); type Messages = IndexMap; diff --git a/kinode/src/eth/default_providers_mainnet.json b/kinode/src/eth/default_providers_mainnet.json index a232bc300..736e8ce55 100644 --- a/kinode/src/eth/default_providers_mainnet.json +++ b/kinode/src/eth/default_providers_mainnet.json @@ -6,6 +6,20 @@ "RpcUrl": "wss://ethereum.publicnode.com" } }, + { + "chain_id": 31337, + "trusted": true, + "provider": { + "RpcUrl": "wss://localhost:8545" + } + }, + { + "chain_id": 10, + "trusted": false, + "provider": { + "RpcUrl": "wss://optimism-rpc.publicnode.com" + } + }, { "chain_id": 10, "trusted": false, @@ -77,5 +91,41 @@ } } } + }, + { + "chain_id": 11155111, + "trusted": false, + "provider": { + "Node": { + "use_as_provider": true, + "kns_update": { + "name": "default-router-2.os", + "owner": "", + "node": "0xd827ae579fafa604af79fbed977e8abe048497f10885c6473dfd343a3b7b4458", + "public_key": "0xcc2752e30ba865ab6baa1b819b0291b71f1136245234274b274df5950c3abcc4", + "ip": "147.135.114.167", + "port": 9001, + "routers": [] + } + } + } + }, + { + "chain_id": 11155111, + "trusted": false, + "provider": { + "Node": { + "use_as_provider": true, + "kns_update": { + "name": "default-router-1.os", + "owner": "", + "node": "0xb35eb347deb896bc3fb6132a07fca1601f83462385ed11e835c24c33ba4ef73d", + "public_key": "0xe1f7a266eafe46c79494d4dcce4222d81e5767511b295f1ed26c37221aecb80b", + "ip": "147.135.114.167", + "port": 9000, + "routers": [] + } + } + } } ] \ No newline at end of file diff --git a/kinode/src/eth/default_providers_testnet.json b/kinode/src/eth/default_providers_testnet.json deleted file mode 100644 index 9436d9eb2..000000000 --- a/kinode/src/eth/default_providers_testnet.json +++ /dev/null @@ -1,81 +0,0 @@ -[ - { - "chain_id": 1, - "trusted": false, - "provider": { - "RpcUrl": "wss://ethereum.publicnode.com" - } - }, - { - "chain_id": 11155111, - "trusted": false, - "provider": { - "Node": { - "use_as_provider": true, - "kns_update": { - "name": "default-router-1.os", - "owner": "", - "node": "0xb35eb347deb896bc3fb6132a07fca1601f83462385ed11e835c24c33ba4ef73d", - "public_key": "0xd9ccb8404e23a8db6bf709044a2882b65aae6aca3d34d5a0cedf5a12bf597867", - "ip": "147.135.114.167", - "port": 9002, - "routers": [] - } - } - } - }, - { - "chain_id": 11155111, - "trusted": false, - "provider": { - "Node": { - "use_as_provider": true, - "kns_update": { - "name": "default-router-2.os", - "owner": "", - "node": "0xd827ae579fafa604af79fbed977e8abe048497f10885c6473dfd343a3b7b4458", - "public_key": "0x612fff0a1ab72ec97f81995d52a5e7516fe31800e3d05850b5b62ed47b2620bd", - "ip": "147.135.114.167", - "port": 9003, - "routers": [] - } - } - } - }, - { - "chain_id": 11155111, - "trusted": false, - "provider": { - "Node": { - "use_as_provider": true, - "kns_update": { - "name": "default-router-3.os", - "owner": "", - "node": "0x96e36331c8f0882f2c0c46c13b15d812def04fe8606d503bc0e2be39db26486a", - "public_key": "0x310f22ebaf414241c272b42179634a8696020faaf979a9fc4c6958f44121a3bf", - "ip": "147.135.114.167", - "port": 9004, - "routers": [] - } - } - } - }, - { - "chain_id": 10, - "trusted": false, - "provider": { - "Node": { - "use_as_provider": true, - "kns_update": { - "name": "default-router-3.os", - "owner": "", - "node": "0x96e36331c8f0882f2c0c46c13b15d812def04fe8606d503bc0e2be39db26486a", - "public_key": "0x310f22ebaf414241c272b42179634a8696020faaf979a9fc4c6958f44121a3bf", - "ip": "147.135.114.167", - "port": 9004, - "routers": [] - } - } - } - } -] \ No newline at end of file diff --git a/kinode/src/http/login.html b/kinode/src/http/login.html index 42cb08afe..0dd0aeb57 100644 --- a/kinode/src/http/login.html +++ b/kinode/src/http/login.html @@ -1255,7 +1255,7 @@

- - ) - + ); } export default EnterKnsName; diff --git a/kinode/src/register-ui/src/components/Tooltip.tsx b/kinode/src/register-ui/src/components/Tooltip.tsx index 5509fcec1..641d7164d 100644 --- a/kinode/src/register-ui/src/components/Tooltip.tsx +++ b/kinode/src/register-ui/src/components/Tooltip.tsx @@ -13,7 +13,7 @@ export const Tooltip: React.FC = ({ text, button, className, posit const [showTooltip, setShowTooltip] = useState(false) return
setShowTooltip(!showTooltip)}> - {button ||
- diff --git a/kinode/src/register-ui/yarn.lock b/kinode/src/register-ui/yarn.lock index 6cd573254..8ae3a731f 100644 --- a/kinode/src/register-ui/yarn.lock +++ b/kinode/src/register-ui/yarn.lock @@ -47,7 +47,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz" integrity sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.24.3" resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz" integrity sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ== @@ -365,11 +365,6 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - "@babel/plugin-proposal-private-property-in-object@^7.21.11": version "7.21.11" resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz" @@ -380,6 +375,11 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" @@ -429,7 +429,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.24.1": +"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.24.1": version "7.24.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz" integrity sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA== @@ -876,7 +876,7 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": +"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": version "7.23.4" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== @@ -1122,7 +1122,7 @@ resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.2", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.8.4": version "7.24.1" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz" integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== @@ -1168,6 +1168,29 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@coinbase/wallet-sdk@^3.0.4": + version "3.7.2" + resolved "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.7.2.tgz" + integrity sha512-lIGvXMsgpsQWci/XOMQIJ2nIZ8JUy/L+bvC0wkRaYarr0YylwpXrJ2gRM3hCXPS477pkyO7N/kSiAoRgEXUdJQ== + dependencies: + "@metamask/safe-event-emitter" "2.0.0" + "@solana/web3.js" "^1.70.1" + bind-decorator "^1.0.11" + bn.js "^5.1.1" + buffer "^6.0.3" + clsx "^1.1.0" + eth-block-tracker "6.1.0" + eth-json-rpc-filters "5.1.0" + eth-rpc-errors "4.0.2" + json-rpc-engine "6.1.0" + keccak "^3.0.1" + preact "^10.5.9" + qs "^6.10.3" + rxjs "^6.6.3" + sha.js "^2.4.11" + stream-browserify "^3.0.0" + util "^0.12.4" + "@csstools/normalize.css@*": version "12.1.1" resolved "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz" @@ -1311,7 +1334,7 @@ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.7.0", "@ethersproject/abi@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -1326,7 +1349,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": +"@ethersproject/abstract-provider@^5.7.0", "@ethersproject/abstract-provider@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -1339,7 +1362,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@^5.7.0", "@ethersproject/abstract-signer@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -1350,7 +1373,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5", "@ethersproject/address@^5.7.0": +"@ethersproject/address@^5", "@ethersproject/address@^5.7.0", "@ethersproject/address@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -1361,14 +1384,14 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": +"@ethersproject/base64@^5.7.0", "@ethersproject/base64@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": +"@ethersproject/basex@^5.7.0", "@ethersproject/basex@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== @@ -1376,7 +1399,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@^5.7.0", "@ethersproject/bignumber@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -1385,14 +1408,14 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": +"@ethersproject/constants@^5.7.0", "@ethersproject/constants@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== @@ -1415,7 +1438,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": +"@ethersproject/hash@^5.7.0", "@ethersproject/hash@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -1430,7 +1453,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": +"@ethersproject/hdnode@^5.7.0", "@ethersproject/hdnode@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== @@ -1448,7 +1471,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": +"@ethersproject/json-wallets@^5.7.0", "@ethersproject/json-wallets@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== @@ -1467,7 +1490,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -1475,19 +1498,19 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@^5.7.0", "@ethersproject/logger@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@^5.7.0", "@ethersproject/networks@5.7.1": version "5.7.1" resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": +"@ethersproject/pbkdf2@^5.7.0", "@ethersproject/pbkdf2@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== @@ -1495,14 +1518,14 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": +"@ethersproject/properties@^5.7.0", "@ethersproject/properties@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5": +"@ethersproject/providers@^5", "@ethersproject/providers@^5.0.0", "@ethersproject/providers@5.7.2": version "5.7.2" resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== @@ -1528,7 +1551,7 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": +"@ethersproject/random@^5.7.0", "@ethersproject/random@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== @@ -1536,7 +1559,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -1544,7 +1567,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": +"@ethersproject/sha2@^5.7.0", "@ethersproject/sha2@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== @@ -1553,7 +1576,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -1577,7 +1600,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": +"@ethersproject/strings@^5.7.0", "@ethersproject/strings@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -1586,7 +1609,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -1631,7 +1654,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@^5.7.0", "@ethersproject/web@5.7.1": version "5.7.1" resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -1642,7 +1665,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": +"@ethersproject/wordlists@^5.7.0", "@ethersproject/wordlists@5.7.0": version "5.7.0" resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== @@ -1997,6 +2020,21 @@ resolved "https://registry.npmjs.org/@metamask/detect-provider/-/detect-provider-1.2.0.tgz" integrity sha512-ocA76vt+8D0thgXZ7LxFPyqw3H7988qblgzddTDA6B8a/yU0uKV42QR/DhA+Jh11rJjxW0jKvwb5htA6krNZDQ== +"@metamask/safe-event-emitter@^2.0.0", "@metamask/safe-event-emitter@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@metamask/utils@^3.0.1": + version "3.6.0" + resolved "https://registry.npmjs.org/@metamask/utils/-/utils-3.6.0.tgz" + integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== + dependencies: + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + "@motionone/animation@^10.15.1", "@motionone/animation@^10.17.0": version "10.17.0" resolved "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz" @@ -2073,23 +2111,33 @@ dependencies: eslint-scope "5.1.1" -"@noble/curves@1.2.0", "@noble/curves@~1.2.0": +"@noble/curves@^1.2.0", "@noble/curves@~1.2.0", "@noble/curves@1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== dependencies: "@noble/hashes" "1.3.2" -"@noble/hashes@1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== +"@noble/hashes@^1.3.3": + version "1.4.0" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@~1.3.0": + version "1.3.3" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== -"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": +"@noble/hashes@~1.3.2": version "1.3.3" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -2098,7 +2146,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2111,41 +2159,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-android-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" - integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== - -"@parcel/watcher-darwin-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" - integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== - -"@parcel/watcher-darwin-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" - integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== - -"@parcel/watcher-freebsd-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" - integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== - -"@parcel/watcher-linux-arm-glibc@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" - integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== - -"@parcel/watcher-linux-arm64-glibc@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" - integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== - -"@parcel/watcher-linux-arm64-musl@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" - integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== - "@parcel/watcher-linux-x64-glibc@2.4.1": version "2.4.1" resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz" @@ -2165,21 +2178,6 @@ micromatch "^4.0.5" napi-wasm "^1.1.0" -"@parcel/watcher-win32-arm64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" - integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== - -"@parcel/watcher-win32-ia32@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" - integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== - -"@parcel/watcher-win32-x64@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" - integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== - "@parcel/watcher@^2.4.1": version "2.4.1" resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz" @@ -2283,14 +2281,6 @@ "@safe-global/safe-apps-sdk" "8.0.0" events "^3.3.0" -"@safe-global/safe-apps-sdk@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz" - integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - viem "^1.0.0" - "@safe-global/safe-apps-sdk@^8.0.0": version "8.1.0" resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz" @@ -2299,6 +2289,14 @@ "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" viem "^1.0.0" +"@safe-global/safe-apps-sdk@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz" + integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" + "@safe-global/safe-gateway-typescript-sdk@^3.5.3": version "3.19.0" resolved "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.19.0.tgz" @@ -2345,6 +2343,34 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/web3.js@^1.70.1": + version "1.91.1" + resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.1.tgz" + integrity sha512-cPgjZXm688oM9cULvJ8u2VH6Qp5rvptE1N1VODVxn2mAbpZsWrvWNPjmASkMYT/HzyrtqFkPvFdSHg8Xjt7aQA== + dependencies: + "@babel/runtime" "^7.23.4" + "@noble/curves" "^1.2.0" + "@noble/hashes" "^1.3.3" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.7.0" + rpc-websockets "^7.5.1" + superstruct "^0.14.2" + "@stablelib/aead@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz" @@ -2362,6 +2388,14 @@ resolved "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz" integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + "@stablelib/chacha20poly1305@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz" @@ -2374,14 +2408,6 @@ "@stablelib/poly1305" "^1.0.1" "@stablelib/wipe" "^1.0.1" -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - "@stablelib/constant-time@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz" @@ -2610,7 +2636,7 @@ lodash "^4.17.15" ts-essentials "^7.0.1" -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9": version "7.20.5" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -2666,13 +2692,20 @@ "@types/express-serve-static-core" "*" "@types/node" "*" -"@types/connect@*": +"@types/connect@*", "@types/connect@^3.4.33": version "3.4.38" resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" +"@types/debug@^4.1.7": + version "4.1.12" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + "@types/eslint-scope@^3.7.3": version "3.7.7" resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" @@ -2782,6 +2815,11 @@ resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== +"@types/ms@*": + version "0.7.34" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + "@types/node-forge@^1.3.0": version "1.3.11" resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" @@ -2796,6 +2834,11 @@ dependencies: undici-types "~5.26.4" +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + "@types/node@^16.18.50": version "16.18.91" resolved "https://registry.npmjs.org/@types/node/-/node-16.18.91.tgz" @@ -2845,7 +2888,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.2.21": +"@types/react@*", "@types/react@^18.2.21", "@types/react@>=16.8": version "18.2.71" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.71.tgz" integrity sha512-PxEsB9OjmQeYGffoWnYAd/r5FiJuUw2niFQHPc2v2idwh8wGPkkYzOHuinNJJY6NZqfoTCiOIizDOz38gYNsyw== @@ -2917,6 +2960,13 @@ resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz" integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.5": version "8.5.10" resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz" @@ -2943,7 +2993,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.5.0": +"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.5.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== @@ -2966,7 +3016,7 @@ dependencies: "@typescript-eslint/utils" "5.62.0" -"@typescript-eslint/parser@^5.5.0": +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.5.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== @@ -3012,7 +3062,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": +"@typescript-eslint/utils@^5.58.0", "@typescript-eslint/utils@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -3060,6 +3110,15 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" +"@walletconnect/core@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz" + integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== + dependencies: + "@walletconnect/socket-transport" "^1.8.0" + "@walletconnect/types" "^1.8.0" + "@walletconnect/utils" "^1.8.0" + "@walletconnect/core@2.11.3": version "2.11.3" resolved "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.3.tgz" @@ -3083,15 +3142,6 @@ lodash.isequal "4.5.0" uint8arrays "^3.1.0" -"@walletconnect/core@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz" - integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== - dependencies: - "@walletconnect/socket-transport" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - "@walletconnect/crypto@^1.0.2": version "1.0.3" resolved "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz" @@ -3186,7 +3236,7 @@ cross-fetch "^3.1.4" tslib "1.14.1" -"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.5": +"@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.5", "@walletconnect/jsonrpc-provider@1.0.13": version "1.0.13" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz" integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== @@ -3195,7 +3245,7 @@ "@walletconnect/safe-json" "^1.0.2" tslib "1.14.1" -"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": +"@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3", "@walletconnect/jsonrpc-types@1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz" integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== @@ -3203,7 +3253,7 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": +"@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8", "@walletconnect/jsonrpc-utils@1.0.8": version "1.0.8" resolved "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz" integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== @@ -3311,11 +3361,6 @@ tslib "1.14.1" uint8arrays "^3.0.0" -"@walletconnect/safe-json@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz" - integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== - "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": version "1.0.2" resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz" @@ -3323,6 +3368,11 @@ dependencies: tslib "1.14.1" +"@walletconnect/safe-json@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz" + integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== + "@walletconnect/sign-client@2.11.3": version "2.11.3" resolved "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.3.tgz" @@ -3366,6 +3416,11 @@ dependencies: tslib "1.14.1" +"@walletconnect/types@^1.7.1", "@walletconnect/types@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz" + integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== + "@walletconnect/types@2.11.3": version "2.11.3" resolved "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.3.tgz" @@ -3378,11 +3433,6 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/types@^1.7.1", "@walletconnect/types@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz" - integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== - "@walletconnect/universal-provider@2.11.3": version "2.11.3" resolved "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.3.tgz" @@ -3398,6 +3448,19 @@ "@walletconnect/utils" "2.11.3" events "^3.3.0" +"@walletconnect/utils@^1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz" + integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== + dependencies: + "@walletconnect/browser-utils" "^1.8.0" + "@walletconnect/encoding" "^1.0.1" + "@walletconnect/jsonrpc-utils" "^1.0.3" + "@walletconnect/types" "^1.8.0" + bn.js "4.11.8" + js-sha3 "0.8.0" + query-string "6.13.5" + "@walletconnect/utils@2.11.3": version "2.11.3" resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.3.tgz" @@ -3418,29 +3481,24 @@ query-string "7.1.3" uint8arrays "^3.1.0" -"@walletconnect/utils@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz" - integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== +"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== dependencies: - "@walletconnect/browser-utils" "^1.8.0" - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/jsonrpc-utils" "^1.0.3" - "@walletconnect/types" "^1.8.0" - bn.js "4.11.8" - js-sha3 "0.8.0" - query-string "6.13.5" + tslib "1.14.1" "@walletconnect/window-getters@1.0.0": version "1.0.0" resolved "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz" integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== -"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": +"@walletconnect/window-metadata@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz" - integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== dependencies: + "@walletconnect/window-getters" "^1.0.1" tslib "1.14.1" "@walletconnect/window-metadata@1.0.0": @@ -3450,14 +3508,6 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" -"@walletconnect/window-metadata@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz" - integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== - dependencies: - "@walletconnect/window-getters" "^1.0.1" - tslib "1.14.1" - "@web3-react/abstract-connector@^6.0.7": version "6.0.7" resolved "https://registry.npmjs.org/@web3-react/abstract-connector/-/abstract-connector-6.0.7.tgz" @@ -3568,7 +3618,7 @@ "@web3-react/types" "^8.2.3" eventemitter3 "^4.0.7" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": +"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1": version "1.12.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz" integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== @@ -3669,7 +3719,7 @@ "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": +"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1": version "1.12.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz" integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== @@ -3740,16 +3790,16 @@ acorn-walk@^7.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.11.3, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + acorn@^7.1.1: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.11.3, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - address@^1.0.1, address@^1.1.2: version "1.2.2" resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" @@ -3763,16 +3813,16 @@ adjust-sourcemap-loader@^4.0.0: loader-utils "^2.0.0" regex-parser "^2.2.11" -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - aes-js@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + agent-base@6: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" @@ -3780,6 +3830,13 @@ agent-base@6: dependencies: debug "4" +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" @@ -3799,7 +3856,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3809,7 +3866,17 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.6.0, ajv@>=8: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -3846,7 +3913,14 @@ ansi-regex@^6.0.1: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -3912,7 +3986,12 @@ array-back@^3.0.1, array-back@^3.1.0: resolved "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz" integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== -array-back@^4.0.1, array-back@^4.0.2: +array-back@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-back@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== @@ -4049,6 +4128,13 @@ ast-types-flow@^0.0.8: resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz" integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + async@^3.2.3: version "3.2.5" resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" @@ -4248,6 +4334,13 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" @@ -4279,31 +4372,50 @@ big.js@^5.2.2: resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +bind-decorator@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/bind-decorator/-/bind-decorator-1.0.11.tgz" + integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== + +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@4.11.8: - version "4.11.8" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.2.1: +bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +bn.js@4.11.8: + version "4.11.8" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + body-parser@1.20.2: version "1.20.2" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" @@ -4335,6 +4447,15 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -4367,7 +4488,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4", "browserslist@>= 4.21.0", browserslist@>=4: version "4.23.0" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -4377,6 +4498,13 @@ browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^ node-releases "^2.0.14" update-browserslist-db "^1.0.13" +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" @@ -4415,7 +4543,7 @@ buffer@^5.4.3: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3: +buffer@^6.0.3, buffer@~6.0.3, buffer@6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -4423,6 +4551,13 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +bufferutil@^4.0.1: + version "4.0.8" + resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== + dependencies: + node-gyp-build "^4.3.0" + builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" @@ -4472,7 +4607,12 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0, camelcase@^6.2.1: +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +camelcase@^6.2.1: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -4497,7 +4637,7 @@ case-sensitive-paths-webpack-plugin@^2.4.0: resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== -chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.1: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4506,12 +4646,21 @@ chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" supports-color "^7.1.0" char-regex@^1.0.2: @@ -4568,7 +4717,7 @@ cjs-module-lexer@^1.0.0: classnames@^2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clean-css@^5.2.2: @@ -4619,6 +4768,11 @@ clone@^1.0.2: resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +clsx@^1.1.0: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + co@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" @@ -4652,16 +4806,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-string@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz" @@ -4715,7 +4869,7 @@ command-line-usage@^6.1.0: table-layout "^1.0.2" typical "^5.2.0" -commander@^2.20.0: +commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4990,14 +5144,6 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" @@ -5006,6 +5152,14 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + css-what@^3.2.1: version "3.4.2" resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" @@ -5145,26 +5299,33 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -debug@2.6.9, debug@^2.6.0: +debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: - ms "^2.1.1" + ms "2.0.0" decamelize@^1.2.0: version "1.2.0" @@ -5236,21 +5397,26 @@ defu@^6.1.3, defu@^6.1.4: resolved "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz" integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5354,14 +5520,6 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" @@ -5371,16 +5529,24 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" -domelementtype@1: - version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + domexception@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" @@ -5694,6 +5860,18 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + escalade@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" @@ -5874,7 +6052,7 @@ eslint-plugin-testing-library@^5.0.1: dependencies: "@typescript-eslint/utils" "^5.58.0" -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@^5.1.1, eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -5911,7 +6089,7 @@ eslint-webpack-plugin@^3.1.1: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@^8.3.0: +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.1.0, eslint@^8.3.0, "eslint@>= 6": version "8.57.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -5964,16 +6142,16 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + esquery@^1.4.2: version "1.5.0" resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" @@ -5988,7 +6166,12 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^4.2.0: version "4.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -6013,6 +6196,16 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +eth-block-tracker@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz" + integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + "@metamask/utils" "^3.0.1" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + eth-ens-namehash@^2.0.8: version "2.0.8" resolved "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz" @@ -6021,7 +6214,33 @@ eth-ens-namehash@^2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -ethers@^5.7.2: +eth-json-rpc-filters@5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz" + integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + async-mutex "^0.2.6" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@^4.0.2, eth-rpc-errors@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz" + integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== + dependencies: + fast-safe-stringify "^2.0.6" + +ethers@^5.1.3, ethers@^5.7.2: version "5.7.2" resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -6062,7 +6281,7 @@ eve-raphael@0.5.0: resolved "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz" integrity sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug== -eventemitter3@4.0.7, eventemitter3@^4.0.0, eventemitter3@^4.0.7: +eventemitter3@^4.0.0, eventemitter3@^4.0.7, eventemitter3@4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -6159,6 +6378,11 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -6190,11 +6414,16 @@ fast-redact@^3.0.0: resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz" integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== -fast-safe-stringify@^2.0.7: +fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.0.7: version "2.1.1" resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + fastq@^1.6.0: version "1.17.1" resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" @@ -6231,6 +6460,11 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filelist@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" @@ -6291,7 +6525,15 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -6427,11 +6669,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -6507,7 +6744,7 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -6521,23 +6758,18 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.7: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^10.3.10: version "10.3.10" resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" @@ -6561,6 +6793,18 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.1.7: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-modules@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" @@ -6697,7 +6941,7 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7, hash.js@1.1.7: version "1.1.7" resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -6812,6 +7056,16 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -6823,16 +7077,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -6890,12 +7134,12 @@ human-signals@^5.0.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: - safer-buffer ">= 2.1.2 < 3" + ms "^2.0.0" iconv-lite@^0.6.3: version "0.6.3" @@ -6904,6 +7148,13 @@ iconv-lite@^0.6.3: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" @@ -6943,7 +7194,7 @@ ignore@^5.2.0: resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -immer@^9.0.7: +immer@^9.0.7, immer@>=9.0: version "9.0.21" resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== @@ -6977,7 +7228,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -7020,21 +7271,29 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - ipaddr.js@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + iron-webcrypto@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.1.0.tgz" integrity sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA== +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" @@ -7140,7 +7399,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-generator-function@^1.0.10: +is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== @@ -7262,14 +7521,14 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.13: +is-typed-array@^1.1.13, is-typed-array@^1.1.3: version "1.1.13" resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: which-typed-array "^1.1.14" -is-typedarray@1.0.0, is-typedarray@^1.0.0: +is-typedarray@^1.0.0, is-typedarray@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== @@ -7345,6 +7604,11 @@ isomorphic-unfetch@3.1.0: node-fetch "^2.6.1" unfetch "^4.2.0" +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + isows@1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz" @@ -7422,6 +7686,24 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" +jayson@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz" + integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + JSONStream "^1.3.5" + uuid "^8.3.2" + ws "^7.4.5" + jazzicon@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/jazzicon/-/jazzicon-1.5.0.tgz" @@ -7694,7 +7976,7 @@ jest-resolve-dependencies@^27.5.1: jest-regex-util "^27.5.1" jest-snapshot "^27.5.1" -jest-resolve@^27.4.2, jest-resolve@^27.5.1: +jest-resolve@*, jest-resolve@^27.4.2, jest-resolve@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== @@ -7904,7 +8186,7 @@ jest-worker@^28.0.2: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.4.3: +"jest@^27.0.0 || ^28.0.0", jest@^27.4.3: version "27.5.1" resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== @@ -7918,16 +8200,16 @@ jiti@^1.19.1, jiti@^1.21.0: resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - js-sha3@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz" integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== +js-sha3@^0.8.0, js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -8001,6 +8283,19 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-rpc-engine@^6.1.0, json-rpc-engine@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" + +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" @@ -8021,6 +8316,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + json5@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" @@ -8054,6 +8354,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + jsonpath@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz" @@ -8068,6 +8373,14 @@ jsonpointer@^5.0.0: resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: version "3.3.5" resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" @@ -8078,6 +8391,15 @@ jsonpointer@^5.0.0: object.assign "^4.1.4" object.values "^1.1.6" +keccak@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keyv@^4.5.3: version "4.5.4" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" @@ -8407,7 +8729,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -8419,11 +8741,6 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, dependencies: mime-db "1.52.0" -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - mime@^2.4.6: version "2.6.0" resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" @@ -8434,6 +8751,11 @@ mime@^3.0.0: resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -8532,6 +8854,11 @@ mri@^1.2.0: resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== +ms@^2.0.0, ms@^2.1.1, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -8542,11 +8869,6 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -8607,6 +8929,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + node-addon-api@^7.0.0: version "7.1.0" resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" @@ -8617,7 +8944,7 @@ node-fetch-native@^1.6.1, node-fetch-native@^1.6.2, node-fetch-native@^1.6.3: resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz" integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== -node-fetch@^2.6.1, node-fetch@^2.6.12: +node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -8629,6 +8956,11 @@ node-forge@^1, node-forge@^1.3.1: resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.8.0" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -9035,6 +9367,16 @@ pify@^2.3.0: resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + pino-abstract-transport@v0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz" @@ -9643,6 +9985,15 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== +"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.0, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.4, postcss@^8.2, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3, postcss@^8.3.5, postcss@^8.4, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4, postcss@^8.4.6, "postcss@>= 8", postcss@>=8, postcss@>=8.0.9: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + postcss@^7.0.35: version "7.0.39" resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" @@ -9651,14 +10002,10 @@ postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" +preact@^10.5.9: + version "10.20.1" + resolved "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz" + integrity sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw== preact@10.4.1: version "10.4.1" @@ -9764,16 +10111,16 @@ psl@^1.1.33: resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - punycode@^2.1.0, punycode@^2.1.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz" + integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== + q@^1.1.2: version "1.5.1" resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" @@ -9802,7 +10149,7 @@ qrcode@1.5.3: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.11.0: +qs@^6.10.3, qs@6.11.0: version "6.11.0" resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== @@ -9933,7 +10280,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.2.0: +"react-dom@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", react-dom@^18.2.0, react-dom@>=16.8: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -9948,7 +10295,7 @@ react-error-overlay@^6.0.11: react-icons@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.0.1.tgz#1694e11bfa2a2888cab47dcc30154ce90485feee" + resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.0.1.tgz" integrity sha512-WqLZJ4bLzlhmsvme6iFdgO8gfZP17rfjYEJ2m9RsZjZ+cc4k1hTzknEz63YS1MeT50kVzoa1Nz36f4BEx+Wigw== react-is@^16.13.1: @@ -9981,7 +10328,7 @@ react-modal@^3.16.1: react-lifecycles-compat "^3.0.0" warning "^4.0.3" -react-refresh@^0.11.0: +react-refresh@^0.11.0, "react-refresh@>=0.10.0 <1.0.0": version "0.11.0" resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== @@ -10056,7 +10403,7 @@ react-scripts@5.0.1: optionalDependencies: fsevents "^2.3.2" -react@^18.2.0: +react@*, "react@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, "react@>= 16", react@>=16.8: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -10083,7 +10430,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -10306,13 +10653,26 @@ rollup-plugin-terser@^7.0.0: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup@^2.43.1: +"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^2.0.0, rollup@^2.43.1: version "2.79.1" resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" +rpc-websockets@^7.5.1: + version "7.9.0" + resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.9.0.tgz" + integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== + dependencies: + "@babel/runtime" "^7.17.2" + eventemitter3 "^4.0.7" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" @@ -10320,6 +10680,13 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + safe-array-concat@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" @@ -10330,15 +10697,20 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-json-utils@^1.1.1: version "1.1.1" @@ -10396,15 +10768,6 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" @@ -10414,7 +10777,25 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -10433,6 +10814,15 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + scrypt-js@3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" @@ -10456,7 +10846,42 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.2: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.8: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.3: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.4: version "7.6.0" resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== @@ -10556,6 +10981,14 @@ setprototypeof@1.2.0: resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -10588,7 +11021,12 @@ signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1, signal-exit@^4.1.0: +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== @@ -10651,7 +11089,7 @@ source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.2 buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1, source-map@0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -10735,21 +11173,29 @@ static-eval@2.0.2: dependencies: escodegen "^1.8.1" -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + std-env@^3.7.0: version "3.7.0" resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + stream-shift@^1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" @@ -10760,6 +11206,20 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + string-format@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz" @@ -10786,7 +11246,7 @@ string-natural-compare@^3.0.1: resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -10795,7 +11255,7 @@ string-natural-compare@^3.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^3.0.0, string-width@^3.1.0: +string-width@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -10804,6 +11264,24 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" @@ -10859,20 +11337,6 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" @@ -10882,7 +11346,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -10896,6 +11360,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -10976,6 +11447,16 @@ superagent@^5.1.0: readable-stream "^3.6.0" semver "^7.3.2" +superstruct@^0.14.2: + version "0.14.2" + resolved "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz" + integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== + +superstruct@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz" + integrity sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ== + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -11167,6 +11648,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -11198,6 +11684,11 @@ throat@^6.0.1: resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + thunky@^1.0.2: version "1.1.0" resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" @@ -11304,12 +11795,22 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@1.14.1, tslib@^1.8.1: +tslib@^1.8.1, tslib@^1.9.0, tslib@1.14.1: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.3.1: +tslib@^2.0.0: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tslib@^2.0.3: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tslib@^2.3.1: version "2.6.2" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -11321,7 +11822,7 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -type-check@^0.4.0, type-check@~0.4.0: +type-check@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== @@ -11335,6 +11836,13 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -11345,7 +11853,7 @@ type-fest@^0.16.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== -type-fest@^0.20.2: +type-fest@^0.20.2, "type-fest@>=0.17.0 <5.0.0": version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== @@ -11363,7 +11871,7 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typechain@^8.3.1: +typechain@^8.3.1, typechain@^8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz" integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== @@ -11423,14 +11931,14 @@ typed-array-length@^1.0.5: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5: +typedarray-to-buffer@^3.1.5, typedarray-to-buffer@3.1.5: version "3.1.5" resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" -typescript@^4.9.5: +"typescript@^3.2.1 || ^4", typescript@^4.9.5, "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=3.7.0, typescript@>=4.3.0, typescript@>=5.0.4: version "4.9.5" resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== @@ -11543,7 +12051,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -11616,6 +12124,13 @@ use-sync-external-store@1.2.0: resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +utf-8-validate@^5.0.2, utf-8-validate@>=5.0.2: + version "5.0.10" + resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -11631,6 +12146,17 @@ util.promisify@~1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" +util@^0.12.4: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + utila@~0.4: version "0.4.0" resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" @@ -11756,7 +12282,7 @@ webpack-dev-middleware@^5.3.4: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.6.0: +webpack-dev-server@^4.6.0, "webpack-dev-server@3.x || 4.x": version "4.15.2" resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz" integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== @@ -11821,7 +12347,7 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.64.4: +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.64.4, "webpack@>= 4", webpack@>=2, "webpack@>=4.43.0 <6.0.0": version "5.91.0" resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz" integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== @@ -11851,7 +12377,7 @@ webpack@^5.64.4: watchpack "^2.4.1" webpack-sources "^3.2.3" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -11952,7 +12478,7 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.15" resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== @@ -12159,7 +12685,7 @@ workbox-window@6.6.1: "@types/trusted-types" "^2.0.2" workbox-core "6.6.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -12186,6 +12712,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" @@ -12210,6 +12745,21 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +ws@*, ws@^7.4.0, ws@^7.4.5, ws@^7.4.6, ws@^7.5.1: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.13.0: + version "8.16.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +ws@^8.5.0: + version "8.16.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + ws@7.4.6: version "7.4.6" resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" @@ -12225,16 +12775,6 @@ ws@8.13.0: resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -ws@^7.4.0, ws@^7.4.6, ws@^7.5.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" @@ -12245,6 +12785,11 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" diff --git a/kinode/src/register.rs b/kinode/src/register.rs index 0c0f498e1..4d1ec516c 100644 --- a/kinode/src/register.rs +++ b/kinode/src/register.rs @@ -31,10 +31,10 @@ use warp::{ type RegistrationSender = mpsc::Sender<(Identity, Keyfile, Vec)>; -pub const KNS_SEPOLIA_ADDRESS: EthAddress = EthAddress::new([ - 0x38, 0x07, 0xFB, 0xD6, 0x92, 0xAa, 0x5c, 0x96, 0xF1, 0xD8, 0xD7, 0xc5, 0x9a, 0x13, 0x46, 0xa8, - 0x85, 0xF4, 0x0B, 0x1C, -]); +// pub const KNS_SEPOLIA_ADDRESS: EthAddress = EthAddress::new([ +// 0x38, 0x07, 0xFB, 0xD6, 0x92, 0xAa, 0x5c, 0x96, 0xF1, 0xD8, 0xD7, 0xc5, 0x9a, 0x13, 0x46, 0xa8, +// 0x85, 0xF4, 0x0B, 0x1C, +// ]); pub const KNS_OPTIMISM_ADDRESS: EthAddress = EthAddress::new([ 0xca, 0x5b, 0x58, 0x11, 0xc0, 0xC4, 0x0a, 0xAB, 0x32, 0x95, 0xf9, 0x32, 0xb1, 0xB5, 0x11, 0x2E, @@ -120,7 +120,6 @@ pub async fn register( ws_networking: (tokio::net::TcpListener, bool), http_port: u16, keyfile: Option>, - testnet: bool, maybe_rpc: Option, ) { // Networking info is generated and passed to the UI, but not used until confirmed @@ -147,17 +146,11 @@ pub async fn register( }); // KnsRegistrar contract address - let kns_address = if testnet { - KNS_SEPOLIA_ADDRESS - } else { - KNS_OPTIMISM_ADDRESS - }; + let kns_address = KNS_OPTIMISM_ADDRESS; // This ETH provider uses public rpc endpoints to verify registration signatures. let url = if let Some(rpc_url) = maybe_rpc { rpc_url - } else if testnet { - "wss://ethereum-sepolia-rpc.publicnode.com".to_string() } else { "wss://optimism-rpc.publicnode.com".to_string() }; @@ -203,13 +196,9 @@ pub async fn register( .or(warp::path("set-password") .and(warp::get()) .map(move || warp::reply::html(include_str!("register-ui/build/index.html")))) - .or(warp::path("current-chain").and(warp::get()).map(move || { - if testnet { - warp::reply::json(&"0xaa36a7") - } else { - warp::reply::json(&"0xa") - } - })) + .or(warp::path("current-chain") + .and(warp::get()) + .map(move || warp::reply::json(&"0xa"))) .or(warp::path("our").and(warp::get()).and(keyfile.clone()).map( move |keyfile: Option>| { if let Some(keyfile) = keyfile { @@ -265,7 +254,6 @@ pub async fn register( tx, our_temp_id, net_keypair, - testnet, kns_address, boot_provider, ) @@ -399,7 +387,6 @@ async fn handle_boot( sender: Arc, our: Arc, networking_keypair: Arc>, - testnet: bool, kns_address: EthAddress, provider: Arc>, ) -> Result { @@ -503,7 +490,7 @@ async fn handle_boot( .into_response()); }; - let chain_id: u64 = if testnet { 11155111 } else { 10 }; + let chain_id: u64 = 10; // manual json creation to preserve order.. let sig_data_json = format!( diff --git a/kinode/wasi_snapshot_preview1.wasm b/kinode/wasi_snapshot_preview1.wasm index 4ee5bc1b8..e2a3f4dc9 100644 Binary files a/kinode/wasi_snapshot_preview1.wasm and b/kinode/wasi_snapshot_preview1.wasm differ diff --git a/lib/Cargo.toml b/lib/Cargo.toml index a9b0df66f..f5408f8ae 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lib" authors = ["KinodeDAO"] -version = "0.6.2" +version = "0.6.3" edition = "2021" description = "A general-purpose sovereign cloud computing platform" homepage = "https://kinode.org" @@ -11,7 +11,10 @@ license = "Apache-2.0" [lib] [build-dependencies] +anyhow = "1.0.71" +kit = { git = "https://github.com/kinode-dao/kit", rev = "659f59e" } reqwest = { version = "0.11.22", features = ["blocking"] } +tokio = "1.28" [dependencies] alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "6f8ebb4" } @@ -23,4 +26,4 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" thiserror = "1.0" tokio = { version = "1.28", features = ["sync"] } -wasmtime = { version = "17.0.1", features = ["component-model"] } +wasmtime = { version = "19.0.1", features = ["component-model"] } diff --git a/lib/build.rs b/lib/build.rs index ff2d7beee..c06a8f774 100644 --- a/lib/build.rs +++ b/lib/build.rs @@ -1,23 +1,21 @@ -use std::{fs, io::copy}; +const KINODE_WIT_URL: &str = + "https://raw.githubusercontent.com/kinode-dao/kinode-wit/aa2c8b11c9171b949d1991c32f58591c0e881f85/kinode.wit"; -fn main() { +fn main() -> anyhow::Result<()> { if std::env::var("SKIP_BUILD_SCRIPT").is_ok() { println!("Skipping build script"); - return; + return Ok(()); } - let pwd = std::env::current_dir().unwrap(); + let pwd = std::env::current_dir()?; - // Pull wit from git repo - let wit_dir = pwd.join("wit"); - fs::create_dir_all(&wit_dir).unwrap(); - let wit_file = wit_dir.join("kinode.wit"); - if !wit_file.exists() { - // TODO: cache in better way - let mut wit_file = fs::File::create(&wit_file).unwrap(); - let kinode_wit_url = - "https://raw.githubusercontent.com/kinode-dao/kinode-wit/master/kinode.wit"; - let mut response = reqwest::blocking::get(kinode_wit_url).unwrap(); - copy(&mut response, &mut wit_file).unwrap(); - } + let wit_file = pwd.join("wit").join("kinode.wit"); + + let rt = tokio::runtime::Runtime::new().unwrap(); + rt.block_on(async { + kit::build::download_file(KINODE_WIT_URL, &wit_file) + .await + .map_err(|e| anyhow::anyhow!("{:?}", e))?; + Ok(()) + }) } diff --git a/lib/src/core.rs b/lib/src/core.rs index 031775803..d4370bafa 100644 --- a/lib/src/core.rs +++ b/lib/src/core.rs @@ -1546,6 +1546,18 @@ pub enum NetAction { GetName(String), /// get a user-readable diagnostics string containing networking inforamtion GetDiagnostics, + /// sign the attached blob payload, sign with our node's networking key. + /// **only accepted from our own node** + /// **the source [`Address`] will always be prepended to the payload** + Sign, + /// given a message in blob payload, verify the message is signed by + /// the given source. if the signer is not in our representation of + /// the PKI, will not verify. + /// **the `from` [`Address`] will always be prepended to the payload** + Verify { + from: Address, + signature: Vec, + }, } /// For now, only sent in response to a ConnectionRequest. @@ -1560,8 +1572,15 @@ pub enum NetResponse { Peer(Option), /// response to [`NetAction::GetName`] Name(Option), - /// response to [`NetAction::GetDiagnostics`]. A user-readable string. + /// response to [`NetAction::GetDiagnostics`]. a user-readable string. Diagnostics(String), + /// response to [`NetAction::Sign`]. contains the signature in blob + Signed, + /// response to [`NetAction::Verify`]. boolean indicates whether + /// the signature was valid or not. note that if the signer node + /// cannot be found in our representation of PKI, this will return false, + /// because we cannot find the networking public key to verify with. + Verified(bool), } #[derive(Clone, Debug, Serialize, Deserialize)]