diff --git a/.github/workflows/build-fmt.yml b/.github/workflows/build-fmt.yml index cbe83bb4..09b83b9e 100644 --- a/.github/workflows/build-fmt.yml +++ b/.github/workflows/build-fmt.yml @@ -44,6 +44,9 @@ jobs: with: node-version: 18 cache: "yarn" + + - name: Cache clean + run: yarn cache clean - name: Install dependencies run: yarn install --frozen-lockfile diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 62b1d9ee..41c7f513 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -88,6 +88,9 @@ jobs: - name: Install yarn run: npm install -g yarn + - name: Cache clean + run: yarn cache clean + - name: Install dependencies run: yarn install --frozen-lockfile @@ -118,6 +121,9 @@ jobs: - name: Install yarn run: npm install -g yarn + - name: Cache clean + run: yarn cache clean + - name: Install dependencies run: yarn install --frozen-lockfile diff --git a/.gitmodules b/.gitmodules index 071da355..acd01fd4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ [submodule "packages/contracts/lib/forge-std"] path = packages/contracts/lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "packages/contracts/lib/safe-singleton-deployer-sol"] - path = packages/contracts/lib/safe-singleton-deployer-sol - url = https://github.com/wilsoncusack/safe-singleton-deployer-sol diff --git a/Cargo.lock b/Cargo.lock index c97648d4..531696e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 4 +version = 3 [[package]] name = "Inflector" @@ -83,9 +83,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arrayref" @@ -105,12 +105,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - [[package]] name = "ascii" version = "1.1.0" @@ -202,7 +196,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -243,7 +237,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -265,7 +259,7 @@ dependencies = [ "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "itoa", "matchit", "memchr", @@ -279,7 +273,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper 0.1.2", "tokio", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] @@ -548,9 +542,9 @@ dependencies = [ [[package]] name = "candid" -version = "0.10.10" +version = "0.10.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c30ee7f886f296b6422c0ff017e89dd4f831521dfdcc76f3f71aae1ce817222" +checksum = "d04aa85a9ba2542bded33d1eff0ffb17cb98b1be8117e0a25e1ad8c62bedc881" dependencies = [ "anyhow", "binread", @@ -578,7 +572,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -606,25 +600,19 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.2" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333" dependencies = [ "jobserver", "libc", "shlex", ] -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - [[package]] name = "cfdkim" version = "0.3.3" -source = "git+https://github.com/zkemail/cfdkim.git#3b1cfd75e2afad12fbc1e8ece50e93e51415118b" +source = "git+https://github.com/zkemail/cfdkim.git#f778b0961ecbfc0a18e2dc801ea45886aeb0a242" dependencies = [ "base64 0.21.7", "chrono", @@ -677,9 +665,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -758,19 +746,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii 0.9.3", - "byteorder", - "either", - "memchr", - "unreachable", -] - [[package]] name = "combine" version = "4.6.7" @@ -882,18 +857,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -910,18 +885,18 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -984,7 +959,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -1043,7 +1018,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -1117,7 +1092,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -1447,7 +1422,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.90", + "syn 2.0.92", "toml", "walkdir", ] @@ -1465,7 +1440,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -1491,7 +1466,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.90", + "syn 2.0.92", "tempfile", "thiserror 1.0.69", "tiny-keccak", @@ -1688,9 +1663,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "ff" @@ -1881,7 +1856,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -1992,11 +1967,11 @@ dependencies = [ [[package]] name = "graphql-parser" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" +checksum = "7a818c0d883d7c0801df27be910917750932be279c7bc82dc541b8769425f409" dependencies = [ - "combine 3.8.1", + "combine", "thiserror 1.0.69", ] @@ -2079,7 +2054,7 @@ checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" [[package]] name = "halo2curves" version = "0.7.0" -source = "git+https://github.com/privacy-scaling-explorations/halo2curves.git#8771fe5a5d54fc03e74dbc8915db5dad3ab46a83" +source = "git+https://github.com/privacy-scaling-explorations/halo2curves.git?rev=8771fe5a5d54fc03e74dbc8915db5dad3ab46a83#8771fe5a5d54fc03e74dbc8915db5dad3ab46a83" dependencies = [ "blake2", "digest 0.10.7", @@ -2105,7 +2080,7 @@ dependencies = [ [[package]] name = "halo2derive" version = "0.1.0" -source = "git+https://github.com/privacy-scaling-explorations/halo2curves.git#8771fe5a5d54fc03e74dbc8915db5dad3ab46a83" +source = "git+https://github.com/privacy-scaling-explorations/halo2curves.git?rev=8771fe5a5d54fc03e74dbc8915db5dad3ab46a83#8771fe5a5d54fc03e74dbc8915db5dad3ab46a83" dependencies = [ "num-bigint", "num-integer", @@ -2258,9 +2233,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -2285,7 +2260,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.2.0", ] [[package]] @@ -2296,7 +2271,7 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "pin-project-lite", ] @@ -2315,9 +2290,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.31" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -2339,14 +2314,14 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "httparse", "itoa", @@ -2364,7 +2339,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", @@ -2372,18 +2347,18 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.5.1", + "http 1.2.0", + "hyper 1.5.2", "hyper-util", - "rustls 0.23.19", + "rustls 0.23.20", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tower-service", "webpki-roots 0.26.7", ] @@ -2395,7 +2370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.31", + "hyper 0.14.32", "native-tls", "tokio", "tokio-native-tls", @@ -2410,9 +2385,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", - "hyper 1.5.1", + "hyper 1.5.2", "pin-project-lite", "socket2 0.5.8", "tokio", @@ -2456,7 +2431,7 @@ dependencies = [ "ed25519-consensus", "futures-util", "hex", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "ic-certification", "ic-transport-types", @@ -2468,7 +2443,7 @@ dependencies = [ "pkcs8", "rand", "rangemap", - "reqwest 0.12.9", + "reqwest 0.12.10", "ring 0.17.8", "rustls-webpki 0.102.8", "sec1", @@ -2691,7 +2666,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -2780,7 +2755,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -2889,28 +2864,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine 4.6.7", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - [[package]] name = "jobserver" version = "0.1.32" @@ -2922,9 +2875,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ "once_cell", "wasm-bindgen", @@ -3040,9 +2993,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.167" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libm" @@ -3125,15 +3078,6 @@ dependencies = [ "quoted_printable 0.5.1", ] -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - [[package]] name = "match_cfg" version = "0.1.0" @@ -3192,9 +3136,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] @@ -3227,12 +3171,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - [[package]] name = "new_debug_unreachable" version = "1.0.6" @@ -3355,7 +3293,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -3378,20 +3316,11 @@ dependencies = [ "url", ] -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", -] - [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -3456,7 +3385,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -3579,7 +3508,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.7", + "redox_syscall 0.5.8", "smallvec", "windows-targets 0.52.6", ] @@ -3680,20 +3609,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.69", + "thiserror 2.0.9", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" dependencies = [ "pest", "pest_generator", @@ -3701,22 +3630,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] name = "pest_meta" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" dependencies = [ "once_cell", "pest", @@ -3773,7 +3702,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -3811,7 +3740,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -3856,7 +3785,7 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "poseidon-rs" version = "1.0.0" -source = "git+https://github.com/zkemail/poseidon-rs.git#fe5ce2634c27326219d4faf75beb73b40a0beb7d" +source = "git+https://github.com/zkemail/poseidon-rs.git#c1df2bbb9cd81d761c8f403a4ee6d330f121f718" dependencies = [ "getrandom", "halo2curves", @@ -3904,7 +3833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -3950,9 +3879,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bitflags 2.6.0", "lazy_static", @@ -3996,9 +3925,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.19", + "rustls 0.23.20", "socket2 0.5.8", - "thiserror 2.0.3", + "thiserror 2.0.9", "tokio", "tracing", ] @@ -4014,10 +3943,10 @@ dependencies = [ "rand", "ring 0.17.8", "rustc-hash", - "rustls 0.23.19", + "rustls 0.23.20", "rustls-pki-types", "slab", - "thiserror 2.0.3", + "thiserror 2.0.9", "tinyvec", "tracing", "web-time", @@ -4025,9 +3954,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.7" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ "cfg_aliases 0.2.1", "libc", @@ -4039,9 +3968,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -4109,12 +4038,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "rayon" version = "1.10.0" @@ -4146,9 +4069,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.6.0", ] @@ -4166,9 +4089,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -4213,7 +4136,8 @@ dependencies = [ "graphql_client", "handlebars", "hex", - "http 1.1.0", + "home", + "http 1.2.0", "ic-agent", "ic-utils", "lazy_static", @@ -4239,17 +4163,17 @@ dependencies = [ "tokio", "tower-http", "uuid 1.11.0", - "webbrowser", ] [[package]] name = "relayer-utils" -version = "0.4.2" -source = "git+https://github.com/zkemail/relayer-utils.git#0663df1271beac13ec14c731ee1ce7ae4be54d16" +version = "0.4.60" +source = "git+https://github.com/zkemail/relayer-utils.git#cb50b38e9f35d275e19dd8f2cfbe0d0203452c18" dependencies = [ "anyhow", "base64 0.22.1", "cfdkim", + "console_error_panic_hook", "ethers", "file-rotate", "halo2curves", @@ -4292,7 +4216,7 @@ dependencies = [ "h2", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "hyper-rustls 0.24.2", "hyper-tls", "ipnet", @@ -4324,20 +4248,20 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "3d3536321cfc54baa8cf3e273d5e1f63f889067829c4b410fcdbac8ca7b80994" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", "futures-core", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.1", - "hyper-rustls 0.27.3", + "hyper 1.5.2", + "hyper-rustls 0.27.5", "hyper-util", "ipnet", "js-sys", @@ -4347,7 +4271,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.19", + "rustls 0.23.20", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -4355,8 +4279,9 @@ dependencies = [ "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -4499,15 +4424,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.41" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4524,9 +4449,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.19" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "once_cell", "ring 0.17.8", @@ -4556,9 +4481,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" dependencies = [ "web-time", ] @@ -4586,9 +4511,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" @@ -4635,7 +4560,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -4710,9 +4635,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -4720,15 +4645,15 @@ dependencies = [ [[package]] name = "self_cell" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" +checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] @@ -4747,9 +4672,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] @@ -4786,20 +4711,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "itoa", "memchr", @@ -4825,7 +4750,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5369,7 +5294,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5417,9 +5342,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "70ae51629bf965c5c098cc9e87908a3df5301051a9e087d6f9bef5c9771ed126" dependencies = [ "proc-macro2", "quote", @@ -5449,7 +5374,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5492,7 +5417,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", - "fastrand 2.2.0", + "fastrand 2.3.0", "once_cell", "rustix", "windows-sys 0.59.0", @@ -5520,11 +5445,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.9", ] [[package]] @@ -5535,18 +5460,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5605,7 +5530,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82" dependencies = [ - "ascii 1.1.0", + "ascii", "chunked_transfer", "httpdate", "log", @@ -5623,9 +5548,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -5638,9 +5563,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -5662,7 +5587,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5687,20 +5612,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.19", - "rustls-pki-types", + "rustls 0.23.20", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -5724,9 +5648,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -5785,6 +5709,21 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-http" version = "0.4.2" @@ -5833,7 +5772,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -5964,9 +5903,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" @@ -6013,15 +5952,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - [[package]] name = "unroll" version = "0.1.5" @@ -6108,12 +6038,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - [[package]] name = "walkdir" version = "2.5.0" @@ -6147,9 +6071,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", "once_cell", @@ -6160,24 +6084,23 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.47" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", @@ -6188,9 +6111,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6198,32 +6121,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wasm-bindgen-test" -version = "0.3.47" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d919bb60ebcecb9160afee6c71b43a58a4f0517a2de0054cd050d02cec08201" +checksum = "c61d44563646eb934577f2772656c7ad5e9c90fac78aa8013d776fcdaf24625d" dependencies = [ "js-sys", "minicov", - "once_cell", "scoped-tls", "wasm-bindgen", "wasm-bindgen-futures", @@ -6232,13 +6154,13 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.47" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222ebde6ea87fbfa6bdd2e9f1fd8a91d60aee5db68792632176c4e16a74fc7d8" +checksum = "54171416ce73aa0b9c377b51cc3cb542becee1cd678204812e8392e5b0e4a031" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -6256,9 +6178,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -6274,23 +6196,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webbrowser" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" -dependencies = [ - "core-foundation", - "home", - "jni", - "log", - "ndk-context", - "objc", - "raw-window-handle", - "url", - "web-sys", -] - [[package]] name = "webpki-roots" version = "0.25.4" @@ -6312,7 +6217,7 @@ version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ - "redox_syscall 0.5.7", + "redox_syscall 0.5.8", "wasite", ] @@ -6392,15 +6297,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -6428,21 +6324,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-targets" version = "0.48.5" @@ -6474,12 +6355,6 @@ dependencies = [ "windows_x86_64_msvc 0.52.6", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -6492,12 +6367,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -6510,12 +6379,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -6534,12 +6397,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -6552,12 +6409,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -6570,12 +6421,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -6588,12 +6433,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -6691,7 +6530,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", "synstructure", ] @@ -6713,7 +6552,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -6733,7 +6572,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", "synstructure", ] @@ -6762,7 +6601,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.92", ] [[package]] @@ -6788,7 +6627,7 @@ dependencies = [ [[package]] name = "zk-regex-apis" version = "2.3.1" -source = "git+https://github.com/zkemail/zk-regex.git#7002a2179e076449b84e3e7e8ba94e88d0a2dc2f" +source = "git+https://github.com/zkemail/zk-regex.git?branch=dimidumo/zk-802-consistent-casing-everywhere#5b357f2c7aa4643964534d88ebe5db3512048a71" dependencies = [ "fancy-regex", "itertools 0.13.0", diff --git a/packages/circuits/helpers/recipient.ts b/packages/circuits/helpers/recipient.ts index 00198dae..6da74df1 100644 --- a/packages/circuits/helpers/recipient.ts +++ b/packages/circuits/helpers/recipient.ts @@ -10,9 +10,9 @@ export async function genRecipientInputLegacy(emailFilePath: string): Promise<{ const emailRaw = await promisify(fs.readFile)(emailFilePath, "utf8"); const parsedEmail = await relayerUtils.parseEmail(emailRaw); const subjectEmailIdxes = relayerUtils.extractSubjectAllIdxes( - parsedEmail.canonicalized_header + parsedEmail.canonicalizedHeader )[0]; - const subject = parsedEmail.canonicalized_header.slice( + const subject = parsedEmail.canonicalizedHeader.slice( subjectEmailIdxes[0], subjectEmailIdxes[1] ); diff --git a/packages/circuits/package.json b/packages/circuits/package.json index c93263dc..42947ae0 100644 --- a/packages/circuits/package.json +++ b/packages/circuits/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@zk-email/circuits": "=6.3.2", - "@zk-email/relayer-utils": "https://gitpkg.vercel.app/zkemail/relayer-utils/pkg?feat/fix-selector-bugs", - "@zk-email/zk-regex-circom": "=2.3.2", + "@zk-email/relayer-utils": "=0.4.60", + "@zk-email/zk-regex-circom": "=2.3.1", "commander": "^12.1.0", "snarkjs": "=0.7.5" }, diff --git a/packages/circuits/src/regexes/command.json b/packages/circuits/src/regexes/command.json index 1c70eb80..11efbc80 100644 --- a/packages/circuits/src/regexes/command.json +++ b/packages/circuits/src/regexes/command.json @@ -2,15 +2,15 @@ "parts": [ { "is_public": false, - "regex_def": "\\[zkemail-begin\\]" + "regex_def": "(
]*>)(<[^<>]+>)*" }, { "is_public": true, - "regex_def": "[^<>/\\[\\]]+" + "regex_def": "[^<>/]+" }, { "is_public": false, - "regex_def": "\\[zkemail-end\\]" + "regex_def": "(<[^<>]+>)*
" } ] } \ No newline at end of file diff --git a/packages/circuits/src/regexes/command_regex.circom b/packages/circuits/src/regexes/command_regex.circom index c9ea6535..8052e198 100644 --- a/packages/circuits/src/regexes/command_regex.circom +++ b/packages/circuits/src/regexes/command_regex.circom @@ -2,7 +2,7 @@ pragma circom 2.1.5; include "@zk-email/zk-regex-circom/circuits/regex_helpers.circom"; -// regex: \[zkemail-begin\][^<>/\[\]]+\[zkemail-end\] +// regex: (
]*>)(<[^<>]+>)*[^<>/]+(<[^<>]+>)*
template CommandRegex(msg_bytes) { signal input msg[msg_bytes]; signal output out; @@ -17,294 +17,460 @@ template CommandRegex(msg_bytes) { in[i+1] <== msg[i]; } - component eq[65][num_bytes]; - component lt[16][num_bytes]; - component and[59][num_bytes]; - component multi_or[12][num_bytes]; - signal states[num_bytes+1][37]; - signal states_tmp[num_bytes+1][37]; + component eq[81][num_bytes]; + component lt[50][num_bytes]; + component and[271][num_bytes]; + component multi_or[61][num_bytes]; + signal states[num_bytes+1][78]; + signal states_tmp[num_bytes+1][78]; signal from_zero_enabled[num_bytes+1]; from_zero_enabled[num_bytes] <== 0; component state_changed[num_bytes]; - for (var i = 1; i < 37; i++) { + for (var i = 1; i < 78; i++) { states[0][i] <== 0; } for (var i = 0; i < num_bytes; i++) { - state_changed[i] = MultiOR(36); + state_changed[i] = MultiOR(77); states[i][0] <== 1; eq[0][i] = IsEqual(); eq[0][i].in[0] <== in[i]; - eq[0][i].in[1] <== 91; + eq[0][i].in[1] <== 60; and[0][i] = AND(); and[0][i].a <== states[i][0]; and[0][i].b <== eq[0][i].out; states_tmp[i+1][1] <== 0; eq[1][i] = IsEqual(); eq[1][i].in[0] <== in[i]; - eq[1][i].in[1] <== 122; + eq[1][i].in[1] <== 100; and[1][i] = AND(); and[1][i].a <== states[i][1]; and[1][i].b <== eq[1][i].out; states[i+1][2] <== and[1][i].out; eq[2][i] = IsEqual(); eq[2][i].in[0] <== in[i]; - eq[2][i].in[1] <== 107; + eq[2][i].in[1] <== 105; and[2][i] = AND(); and[2][i].a <== states[i][2]; and[2][i].b <== eq[2][i].out; states[i+1][3] <== and[2][i].out; eq[3][i] = IsEqual(); eq[3][i].in[0] <== in[i]; - eq[3][i].in[1] <== 101; + eq[3][i].in[1] <== 118; and[3][i] = AND(); and[3][i].a <== states[i][3]; and[3][i].b <== eq[3][i].out; states[i+1][4] <== and[3][i].out; eq[4][i] = IsEqual(); eq[4][i].in[0] <== in[i]; - eq[4][i].in[1] <== 109; + eq[4][i].in[1] <== 32; and[4][i] = AND(); and[4][i].a <== states[i][4]; and[4][i].b <== eq[4][i].out; states[i+1][5] <== and[4][i].out; - eq[5][i] = IsEqual(); - eq[5][i].in[0] <== in[i]; - eq[5][i].in[1] <== 97; and[5][i] = AND(); and[5][i].a <== states[i][5]; - and[5][i].b <== eq[5][i].out; + and[5][i].b <== eq[2][i].out; states[i+1][6] <== and[5][i].out; - eq[6][i] = IsEqual(); - eq[6][i].in[0] <== in[i]; - eq[6][i].in[1] <== 105; and[6][i] = AND(); and[6][i].a <== states[i][6]; - and[6][i].b <== eq[6][i].out; + and[6][i].b <== eq[1][i].out; states[i+1][7] <== and[6][i].out; - eq[7][i] = IsEqual(); - eq[7][i].in[0] <== in[i]; - eq[7][i].in[1] <== 108; + eq[5][i] = IsEqual(); + eq[5][i].in[0] <== in[i]; + eq[5][i].in[1] <== 61; and[7][i] = AND(); and[7][i].a <== states[i][7]; - and[7][i].b <== eq[7][i].out; - states[i+1][8] <== and[7][i].out; - eq[8][i] = IsEqual(); - eq[8][i].in[0] <== in[i]; - eq[8][i].in[1] <== 45; - and[8][i] = AND(); - and[8][i].a <== states[i][8]; - and[8][i].b <== eq[8][i].out; - states[i+1][9] <== and[8][i].out; - eq[9][i] = IsEqual(); - eq[9][i].in[0] <== in[i]; - eq[9][i].in[1] <== 98; - and[9][i] = AND(); - and[9][i].a <== states[i][9]; - and[9][i].b <== eq[9][i].out; - states[i+1][10] <== and[9][i].out; - and[10][i] = AND(); - and[10][i].a <== states[i][10]; - and[10][i].b <== eq[3][i].out; - states[i+1][11] <== and[10][i].out; - eq[10][i] = IsEqual(); - eq[10][i].in[0] <== in[i]; - eq[10][i].in[1] <== 103; - and[11][i] = AND(); - and[11][i].a <== states[i][11]; - and[11][i].b <== eq[10][i].out; - states[i+1][12] <== and[11][i].out; - and[12][i] = AND(); - and[12][i].a <== states[i][12]; - and[12][i].b <== eq[6][i].out; - states[i+1][13] <== and[12][i].out; - eq[11][i] = IsEqual(); - eq[11][i].in[0] <== in[i]; - eq[11][i].in[1] <== 110; - and[13][i] = AND(); - and[13][i].a <== states[i][13]; - and[13][i].b <== eq[11][i].out; - states[i+1][14] <== and[13][i].out; - eq[12][i] = IsEqual(); - eq[12][i].in[0] <== in[i]; - eq[12][i].in[1] <== 93; - and[14][i] = AND(); - and[14][i].a <== states[i][14]; - and[14][i].b <== eq[12][i].out; - states[i+1][15] <== and[14][i].out; + and[7][i].b <== eq[5][i].out; lt[0][i] = LessEqThan(8); lt[0][i].in[0] <== 1; lt[0][i].in[1] <== in[i]; lt[1][i] = LessEqThan(8); lt[1][i].in[0] <== in[i]; - lt[1][i].in[1] <== 46; - and[15][i] = AND(); - and[15][i].a <== lt[0][i].out; - and[15][i].b <== lt[1][i].out; + lt[1][i].in[1] <== 33; + and[8][i] = AND(); + and[8][i].a <== lt[0][i].out; + and[8][i].b <== lt[1][i].out; lt[2][i] = LessEqThan(8); - lt[2][i].in[0] <== 63; + lt[2][i].in[0] <== 35; lt[2][i].in[1] <== in[i]; lt[3][i] = LessEqThan(8); lt[3][i].in[0] <== in[i]; - lt[3][i].in[1] <== 90; - and[16][i] = AND(); - and[16][i].a <== lt[2][i].out; - and[16][i].b <== lt[3][i].out; + lt[3][i].in[1] <== 127; + and[9][i] = AND(); + and[9][i].a <== lt[2][i].out; + and[9][i].b <== lt[3][i].out; + and[10][i] = AND(); + and[10][i].a <== states[i][8]; + multi_or[0][i] = MultiOR(2); + multi_or[0][i].in[0] <== and[8][i].out; + multi_or[0][i].in[1] <== and[9][i].out; + and[10][i].b <== multi_or[0][i].out; lt[4][i] = LessEqThan(8); - lt[4][i].in[0] <== 94; + lt[4][i].in[0] <== 128; lt[4][i].in[1] <== in[i]; lt[5][i] = LessEqThan(8); lt[5][i].in[0] <== in[i]; - lt[5][i].in[1] <== 127; + lt[5][i].in[1] <== 191; + and[11][i] = AND(); + and[11][i].a <== lt[4][i].out; + and[11][i].b <== lt[5][i].out; + and[12][i] = AND(); + and[12][i].a <== states[i][10]; + and[12][i].b <== and[11][i].out; + multi_or[1][i] = MultiOR(3); + multi_or[1][i].in[0] <== and[7][i].out; + multi_or[1][i].in[1] <== and[10][i].out; + multi_or[1][i].in[2] <== and[12][i].out; + states[i+1][8] <== multi_or[1][i].out; + eq[6][i] = IsEqual(); + eq[6][i].in[0] <== in[i]; + eq[6][i].in[1] <== 34; + and[13][i] = AND(); + and[13][i].a <== states[i][8]; + and[13][i].b <== eq[6][i].out; + lt[6][i] = LessEqThan(8); + lt[6][i].in[0] <== 35; + lt[6][i].in[1] <== in[i]; + lt[7][i] = LessEqThan(8); + lt[7][i].in[0] <== in[i]; + lt[7][i].in[1] <== 121; + and[14][i] = AND(); + and[14][i].a <== lt[6][i].out; + and[14][i].b <== lt[7][i].out; + eq[7][i] = IsEqual(); + eq[7][i].in[0] <== in[i]; + eq[7][i].in[1] <== 123; + eq[8][i] = IsEqual(); + eq[8][i].in[0] <== in[i]; + eq[8][i].in[1] <== 124; + eq[9][i] = IsEqual(); + eq[9][i].in[0] <== in[i]; + eq[9][i].in[1] <== 125; + eq[10][i] = IsEqual(); + eq[10][i].in[0] <== in[i]; + eq[10][i].in[1] <== 126; + eq[11][i] = IsEqual(); + eq[11][i].in[0] <== in[i]; + eq[11][i].in[1] <== 127; + and[15][i] = AND(); + and[15][i].a <== states[i][9]; + multi_or[2][i] = MultiOR(7); + multi_or[2][i].in[0] <== and[8][i].out; + multi_or[2][i].in[1] <== and[14][i].out; + multi_or[2][i].in[2] <== eq[7][i].out; + multi_or[2][i].in[3] <== eq[8][i].out; + multi_or[2][i].in[4] <== eq[9][i].out; + multi_or[2][i].in[5] <== eq[10][i].out; + multi_or[2][i].in[6] <== eq[11][i].out; + and[15][i].b <== multi_or[2][i].out; + and[16][i] = AND(); + and[16][i].a <== states[i][17]; + and[16][i].b <== and[11][i].out; + lt[8][i] = LessEqThan(8); + lt[8][i].in[0] <== 35; + lt[8][i].in[1] <== in[i]; + lt[9][i] = LessEqThan(8); + lt[9][i].in[0] <== in[i]; + lt[9][i].in[1] <== 106; and[17][i] = AND(); - and[17][i].a <== lt[4][i].out; - and[17][i].b <== lt[5][i].out; + and[17][i].a <== lt[8][i].out; + and[17][i].b <== lt[9][i].out; + eq[12][i] = IsEqual(); + eq[12][i].in[0] <== in[i]; + eq[12][i].in[1] <== 108; eq[13][i] = IsEqual(); eq[13][i].in[0] <== in[i]; - eq[13][i].in[1] <== 48; + eq[13][i].in[1] <== 109; eq[14][i] = IsEqual(); eq[14][i].in[0] <== in[i]; - eq[14][i].in[1] <== 49; + eq[14][i].in[1] <== 110; eq[15][i] = IsEqual(); eq[15][i].in[0] <== in[i]; - eq[15][i].in[1] <== 50; + eq[15][i].in[1] <== 111; eq[16][i] = IsEqual(); eq[16][i].in[0] <== in[i]; - eq[16][i].in[1] <== 51; + eq[16][i].in[1] <== 112; eq[17][i] = IsEqual(); eq[17][i].in[0] <== in[i]; - eq[17][i].in[1] <== 52; + eq[17][i].in[1] <== 113; eq[18][i] = IsEqual(); eq[18][i].in[0] <== in[i]; - eq[18][i].in[1] <== 53; + eq[18][i].in[1] <== 114; eq[19][i] = IsEqual(); eq[19][i].in[0] <== in[i]; - eq[19][i].in[1] <== 54; + eq[19][i].in[1] <== 115; eq[20][i] = IsEqual(); eq[20][i].in[0] <== in[i]; - eq[20][i].in[1] <== 55; + eq[20][i].in[1] <== 116; eq[21][i] = IsEqual(); eq[21][i].in[0] <== in[i]; - eq[21][i].in[1] <== 56; + eq[21][i].in[1] <== 117; eq[22][i] = IsEqual(); eq[22][i].in[0] <== in[i]; - eq[22][i].in[1] <== 57; + eq[22][i].in[1] <== 119; eq[23][i] = IsEqual(); eq[23][i].in[0] <== in[i]; - eq[23][i].in[1] <== 58; + eq[23][i].in[1] <== 120; eq[24][i] = IsEqual(); eq[24][i].in[0] <== in[i]; - eq[24][i].in[1] <== 59; - eq[25][i] = IsEqual(); - eq[25][i].in[0] <== in[i]; - eq[25][i].in[1] <== 61; - eq[26][i] = IsEqual(); - eq[26][i].in[0] <== in[i]; - eq[26][i].in[1] <== 92; + eq[24][i].in[1] <== 121; and[18][i] = AND(); - and[18][i].a <== states[i][15]; - multi_or[0][i] = MultiOR(17); - multi_or[0][i].in[0] <== and[15][i].out; - multi_or[0][i].in[1] <== and[16][i].out; - multi_or[0][i].in[2] <== and[17][i].out; - multi_or[0][i].in[3] <== eq[13][i].out; - multi_or[0][i].in[4] <== eq[14][i].out; - multi_or[0][i].in[5] <== eq[15][i].out; - multi_or[0][i].in[6] <== eq[16][i].out; - multi_or[0][i].in[7] <== eq[17][i].out; - multi_or[0][i].in[8] <== eq[18][i].out; - multi_or[0][i].in[9] <== eq[19][i].out; - multi_or[0][i].in[10] <== eq[20][i].out; - multi_or[0][i].in[11] <== eq[21][i].out; - multi_or[0][i].in[12] <== eq[22][i].out; - multi_or[0][i].in[13] <== eq[23][i].out; - multi_or[0][i].in[14] <== eq[24][i].out; - multi_or[0][i].in[15] <== eq[25][i].out; - multi_or[0][i].in[16] <== eq[26][i].out; - and[18][i].b <== multi_or[0][i].out; + and[18][i].a <== states[i][24]; + multi_or[3][i] = MultiOR(21); + multi_or[3][i].in[0] <== and[8][i].out; + multi_or[3][i].in[1] <== and[17][i].out; + multi_or[3][i].in[2] <== eq[12][i].out; + multi_or[3][i].in[3] <== eq[13][i].out; + multi_or[3][i].in[4] <== eq[14][i].out; + multi_or[3][i].in[5] <== eq[15][i].out; + multi_or[3][i].in[6] <== eq[16][i].out; + multi_or[3][i].in[7] <== eq[17][i].out; + multi_or[3][i].in[8] <== eq[18][i].out; + multi_or[3][i].in[9] <== eq[19][i].out; + multi_or[3][i].in[10] <== eq[20][i].out; + multi_or[3][i].in[11] <== eq[21][i].out; + multi_or[3][i].in[12] <== eq[3][i].out; + multi_or[3][i].in[13] <== eq[22][i].out; + multi_or[3][i].in[14] <== eq[23][i].out; + multi_or[3][i].in[15] <== eq[24][i].out; + multi_or[3][i].in[16] <== eq[7][i].out; + multi_or[3][i].in[17] <== eq[8][i].out; + multi_or[3][i].in[18] <== eq[9][i].out; + multi_or[3][i].in[19] <== eq[10][i].out; + multi_or[3][i].in[20] <== eq[11][i].out; + and[18][i].b <== multi_or[3][i].out; + lt[10][i] = LessEqThan(8); + lt[10][i].in[0] <== 35; + lt[10][i].in[1] <== in[i]; + lt[11][i] = LessEqThan(8); + lt[11][i].in[0] <== in[i]; + lt[11][i].in[1] <== 100; and[19][i] = AND(); - and[19][i].a <== states[i][16]; - and[19][i].b <== multi_or[0][i].out; - lt[6][i] = LessEqThan(8); - lt[6][i].in[0] <== 128; - lt[6][i].in[1] <== in[i]; - lt[7][i] = LessEqThan(8); - lt[7][i].in[0] <== in[i]; - lt[7][i].in[1] <== 191; + and[19][i].a <== lt[10][i].out; + and[19][i].b <== lt[11][i].out; + lt[12][i] = LessEqThan(8); + lt[12][i].in[0] <== 102; + lt[12][i].in[1] <== in[i]; + lt[13][i] = LessEqThan(8); + lt[13][i].in[0] <== in[i]; + lt[13][i].in[1] <== 121; and[20][i] = AND(); - and[20][i].a <== lt[6][i].out; - and[20][i].b <== lt[7][i].out; + and[20][i].a <== lt[12][i].out; + and[20][i].b <== lt[13][i].out; and[21][i] = AND(); - and[21][i].a <== states[i][17]; - and[21][i].b <== and[20][i].out; - multi_or[1][i] = MultiOR(3); - multi_or[1][i].in[0] <== and[18][i].out; - multi_or[1][i].in[1] <== and[19][i].out; - multi_or[1][i].in[2] <== and[21][i].out; - states[i+1][16] <== multi_or[1][i].out; - lt[8][i] = LessEqThan(8); - lt[8][i].in[0] <== 194; - lt[8][i].in[1] <== in[i]; - lt[9][i] = LessEqThan(8); - lt[9][i].in[0] <== in[i]; - lt[9][i].in[1] <== 223; + and[21][i].a <== states[i][25]; + multi_or[4][i] = MultiOR(8); + multi_or[4][i].in[0] <== and[8][i].out; + multi_or[4][i].in[1] <== and[19][i].out; + multi_or[4][i].in[2] <== and[20][i].out; + multi_or[4][i].in[3] <== eq[7][i].out; + multi_or[4][i].in[4] <== eq[8][i].out; + multi_or[4][i].in[5] <== eq[9][i].out; + multi_or[4][i].in[6] <== eq[10][i].out; + multi_or[4][i].in[7] <== eq[11][i].out; + and[21][i].b <== multi_or[4][i].out; + lt[14][i] = LessEqThan(8); + lt[14][i].in[0] <== 35; + lt[14][i].in[1] <== in[i]; + lt[15][i] = LessEqThan(8); + lt[15][i].in[0] <== in[i]; + lt[15][i].in[1] <== 108; and[22][i] = AND(); - and[22][i].a <== lt[8][i].out; - and[22][i].b <== lt[9][i].out; + and[22][i].a <== lt[14][i].out; + and[22][i].b <== lt[15][i].out; and[23][i] = AND(); - and[23][i].a <== states[i][15]; - and[23][i].b <== and[22][i].out; + and[23][i].a <== states[i][26]; + multi_or[5][i] = MultiOR(19); + multi_or[5][i].in[0] <== and[8][i].out; + multi_or[5][i].in[1] <== and[22][i].out; + multi_or[5][i].in[2] <== eq[14][i].out; + multi_or[5][i].in[3] <== eq[15][i].out; + multi_or[5][i].in[4] <== eq[16][i].out; + multi_or[5][i].in[5] <== eq[17][i].out; + multi_or[5][i].in[6] <== eq[18][i].out; + multi_or[5][i].in[7] <== eq[19][i].out; + multi_or[5][i].in[8] <== eq[20][i].out; + multi_or[5][i].in[9] <== eq[21][i].out; + multi_or[5][i].in[10] <== eq[3][i].out; + multi_or[5][i].in[11] <== eq[22][i].out; + multi_or[5][i].in[12] <== eq[23][i].out; + multi_or[5][i].in[13] <== eq[24][i].out; + multi_or[5][i].in[14] <== eq[7][i].out; + multi_or[5][i].in[15] <== eq[8][i].out; + multi_or[5][i].in[16] <== eq[9][i].out; + multi_or[5][i].in[17] <== eq[10][i].out; + multi_or[5][i].in[18] <== eq[11][i].out; + and[23][i].b <== multi_or[5][i].out; + lt[16][i] = LessEqThan(8); + lt[16][i].in[0] <== 35; + lt[16][i].in[1] <== in[i]; + lt[17][i] = LessEqThan(8); + lt[17][i].in[0] <== in[i]; + lt[17][i].in[1] <== 96; and[24][i] = AND(); - and[24][i].a <== states[i][16]; - and[24][i].b <== and[22][i].out; - lt[10][i] = LessEqThan(8); - lt[10][i].in[0] <== 160; - lt[10][i].in[1] <== in[i]; - lt[11][i] = LessEqThan(8); - lt[11][i].in[0] <== in[i]; - lt[11][i].in[1] <== 191; + and[24][i].a <== lt[16][i].out; + and[24][i].b <== lt[17][i].out; + lt[18][i] = LessEqThan(8); + lt[18][i].in[0] <== 98; + lt[18][i].in[1] <== in[i]; + lt[19][i] = LessEqThan(8); + lt[19][i].in[0] <== in[i]; + lt[19][i].in[1] <== 121; and[25][i] = AND(); - and[25][i].a <== lt[10][i].out; - and[25][i].b <== lt[11][i].out; + and[25][i].a <== lt[18][i].out; + and[25][i].b <== lt[19][i].out; and[26][i] = AND(); - and[26][i].a <== states[i][18]; - and[26][i].b <== and[25][i].out; + and[26][i].a <== states[i][27]; + multi_or[6][i] = MultiOR(8); + multi_or[6][i].in[0] <== and[8][i].out; + multi_or[6][i].in[1] <== and[24][i].out; + multi_or[6][i].in[2] <== and[25][i].out; + multi_or[6][i].in[3] <== eq[7][i].out; + multi_or[6][i].in[4] <== eq[8][i].out; + multi_or[6][i].in[5] <== eq[9][i].out; + multi_or[6][i].in[6] <== eq[10][i].out; + multi_or[6][i].in[7] <== eq[11][i].out; + and[26][i].b <== multi_or[6][i].out; + lt[20][i] = LessEqThan(8); + lt[20][i].in[0] <== 35; + lt[20][i].in[1] <== in[i]; + lt[21][i] = LessEqThan(8); + lt[21][i].in[0] <== in[i]; + lt[21][i].in[1] <== 104; and[27][i] = AND(); - and[27][i].a <== states[i][19]; - and[27][i].b <== and[20][i].out; - lt[12][i] = LessEqThan(8); - lt[12][i].in[0] <== 128; - lt[12][i].in[1] <== in[i]; - lt[13][i] = LessEqThan(8); - lt[13][i].in[0] <== in[i]; - lt[13][i].in[1] <== 159; + and[27][i].a <== lt[20][i].out; + and[27][i].b <== lt[21][i].out; + eq[25][i] = IsEqual(); + eq[25][i].in[0] <== in[i]; + eq[25][i].in[1] <== 106; + eq[26][i] = IsEqual(); + eq[26][i].in[0] <== in[i]; + eq[26][i].in[1] <== 107; and[28][i] = AND(); - and[28][i].a <== lt[12][i].out; - and[28][i].b <== lt[13][i].out; + and[28][i].a <== states[i][28]; + multi_or[7][i] = MultiOR(23); + multi_or[7][i].in[0] <== and[8][i].out; + multi_or[7][i].in[1] <== and[27][i].out; + multi_or[7][i].in[2] <== eq[25][i].out; + multi_or[7][i].in[3] <== eq[26][i].out; + multi_or[7][i].in[4] <== eq[12][i].out; + multi_or[7][i].in[5] <== eq[13][i].out; + multi_or[7][i].in[6] <== eq[14][i].out; + multi_or[7][i].in[7] <== eq[15][i].out; + multi_or[7][i].in[8] <== eq[16][i].out; + multi_or[7][i].in[9] <== eq[17][i].out; + multi_or[7][i].in[10] <== eq[18][i].out; + multi_or[7][i].in[11] <== eq[19][i].out; + multi_or[7][i].in[12] <== eq[20][i].out; + multi_or[7][i].in[13] <== eq[21][i].out; + multi_or[7][i].in[14] <== eq[3][i].out; + multi_or[7][i].in[15] <== eq[22][i].out; + multi_or[7][i].in[16] <== eq[23][i].out; + multi_or[7][i].in[17] <== eq[24][i].out; + multi_or[7][i].in[18] <== eq[7][i].out; + multi_or[7][i].in[19] <== eq[8][i].out; + multi_or[7][i].in[20] <== eq[9][i].out; + multi_or[7][i].in[21] <== eq[10][i].out; + multi_or[7][i].in[22] <== eq[11][i].out; + and[28][i].b <== multi_or[7][i].out; + lt[22][i] = LessEqThan(8); + lt[22][i].in[0] <== 35; + lt[22][i].in[1] <== in[i]; + lt[23][i] = LessEqThan(8); + lt[23][i].in[0] <== in[i]; + lt[23][i].in[1] <== 107; and[29][i] = AND(); - and[29][i].a <== states[i][20]; - and[29][i].b <== and[28][i].out; - multi_or[2][i] = MultiOR(5); - multi_or[2][i].in[0] <== and[23][i].out; - multi_or[2][i].in[1] <== and[24][i].out; - multi_or[2][i].in[2] <== and[26][i].out; - multi_or[2][i].in[3] <== and[27][i].out; - multi_or[2][i].in[4] <== and[29][i].out; - states[i+1][17] <== multi_or[2][i].out; + and[29][i].a <== lt[22][i].out; + and[29][i].b <== lt[23][i].out; + and[30][i] = AND(); + and[30][i].a <== states[i][29]; + multi_or[8][i] = MultiOR(20); + multi_or[8][i].in[0] <== and[8][i].out; + multi_or[8][i].in[1] <== and[29][i].out; + multi_or[8][i].in[2] <== eq[13][i].out; + multi_or[8][i].in[3] <== eq[14][i].out; + multi_or[8][i].in[4] <== eq[15][i].out; + multi_or[8][i].in[5] <== eq[16][i].out; + multi_or[8][i].in[6] <== eq[17][i].out; + multi_or[8][i].in[7] <== eq[18][i].out; + multi_or[8][i].in[8] <== eq[19][i].out; + multi_or[8][i].in[9] <== eq[20][i].out; + multi_or[8][i].in[10] <== eq[21][i].out; + multi_or[8][i].in[11] <== eq[3][i].out; + multi_or[8][i].in[12] <== eq[22][i].out; + multi_or[8][i].in[13] <== eq[23][i].out; + multi_or[8][i].in[14] <== eq[24][i].out; + multi_or[8][i].in[15] <== eq[7][i].out; + multi_or[8][i].in[16] <== eq[8][i].out; + multi_or[8][i].in[17] <== eq[9][i].out; + multi_or[8][i].in[18] <== eq[10][i].out; + multi_or[8][i].in[19] <== eq[11][i].out; + and[30][i].b <== multi_or[8][i].out; + multi_or[9][i] = MultiOR(9); + multi_or[9][i].in[0] <== and[13][i].out; + multi_or[9][i].in[1] <== and[15][i].out; + multi_or[9][i].in[2] <== and[16][i].out; + multi_or[9][i].in[3] <== and[18][i].out; + multi_or[9][i].in[4] <== and[21][i].out; + multi_or[9][i].in[5] <== and[23][i].out; + multi_or[9][i].in[6] <== and[26][i].out; + multi_or[9][i].in[7] <== and[28][i].out; + multi_or[9][i].in[8] <== and[30][i].out; + states[i+1][9] <== multi_or[9][i].out; + lt[24][i] = LessEqThan(8); + lt[24][i].in[0] <== 194; + lt[24][i].in[1] <== in[i]; + lt[25][i] = LessEqThan(8); + lt[25][i].in[0] <== in[i]; + lt[25][i].in[1] <== 223; + and[31][i] = AND(); + and[31][i].a <== lt[24][i].out; + and[31][i].b <== lt[25][i].out; + and[32][i] = AND(); + and[32][i].a <== states[i][8]; + and[32][i].b <== and[31][i].out; + lt[26][i] = LessEqThan(8); + lt[26][i].in[0] <== 160; + lt[26][i].in[1] <== in[i]; + lt[27][i] = LessEqThan(8); + lt[27][i].in[0] <== in[i]; + lt[27][i].in[1] <== 191; + and[33][i] = AND(); + and[33][i].a <== lt[26][i].out; + and[33][i].b <== lt[27][i].out; + and[34][i] = AND(); + and[34][i].a <== states[i][11]; + and[34][i].b <== and[33][i].out; + and[35][i] = AND(); + and[35][i].a <== states[i][12]; + and[35][i].b <== and[11][i].out; + lt[28][i] = LessEqThan(8); + lt[28][i].in[0] <== 128; + lt[28][i].in[1] <== in[i]; + lt[29][i] = LessEqThan(8); + lt[29][i].in[0] <== in[i]; + lt[29][i].in[1] <== 159; + and[36][i] = AND(); + and[36][i].a <== lt[28][i].out; + and[36][i].b <== lt[29][i].out; + and[37][i] = AND(); + and[37][i].a <== states[i][13]; + and[37][i].b <== and[36][i].out; + multi_or[10][i] = MultiOR(4); + multi_or[10][i].in[0] <== and[32][i].out; + multi_or[10][i].in[1] <== and[34][i].out; + multi_or[10][i].in[2] <== and[35][i].out; + multi_or[10][i].in[3] <== and[37][i].out; + states[i+1][10] <== multi_or[10][i].out; eq[27][i] = IsEqual(); eq[27][i].in[0] <== in[i]; eq[27][i].in[1] <== 224; - and[30][i] = AND(); - and[30][i].a <== states[i][15]; - and[30][i].b <== eq[27][i].out; - and[31][i] = AND(); - and[31][i].a <== states[i][16]; - and[31][i].b <== eq[27][i].out; - multi_or[3][i] = MultiOR(2); - multi_or[3][i].in[0] <== and[30][i].out; - multi_or[3][i].in[1] <== and[31][i].out; - states[i+1][18] <== multi_or[3][i].out; + and[38][i] = AND(); + and[38][i].a <== states[i][8]; + and[38][i].b <== eq[27][i].out; + states[i+1][11] <== and[38][i].out; eq[28][i] = IsEqual(); eq[28][i].in[0] <== in[i]; eq[28][i].in[1] <== 225; @@ -347,42 +513,39 @@ template CommandRegex(msg_bytes) { eq[41][i] = IsEqual(); eq[41][i].in[0] <== in[i]; eq[41][i].in[1] <== 239; - and[32][i] = AND(); - and[32][i].a <== states[i][15]; - multi_or[4][i] = MultiOR(14); - multi_or[4][i].in[0] <== eq[28][i].out; - multi_or[4][i].in[1] <== eq[29][i].out; - multi_or[4][i].in[2] <== eq[30][i].out; - multi_or[4][i].in[3] <== eq[31][i].out; - multi_or[4][i].in[4] <== eq[32][i].out; - multi_or[4][i].in[5] <== eq[33][i].out; - multi_or[4][i].in[6] <== eq[34][i].out; - multi_or[4][i].in[7] <== eq[35][i].out; - multi_or[4][i].in[8] <== eq[36][i].out; - multi_or[4][i].in[9] <== eq[37][i].out; - multi_or[4][i].in[10] <== eq[38][i].out; - multi_or[4][i].in[11] <== eq[39][i].out; - multi_or[4][i].in[12] <== eq[40][i].out; - multi_or[4][i].in[13] <== eq[41][i].out; - and[32][i].b <== multi_or[4][i].out; - and[33][i] = AND(); - and[33][i].a <== states[i][16]; - and[33][i].b <== multi_or[4][i].out; - lt[14][i] = LessEqThan(8); - lt[14][i].in[0] <== 144; - lt[14][i].in[1] <== in[i]; - lt[15][i] = LessEqThan(8); - lt[15][i].in[0] <== in[i]; - lt[15][i].in[1] <== 191; - and[34][i] = AND(); - and[34][i].a <== lt[14][i].out; - and[34][i].b <== lt[15][i].out; - and[35][i] = AND(); - and[35][i].a <== states[i][21]; - and[35][i].b <== and[34][i].out; - and[36][i] = AND(); - and[36][i].a <== states[i][22]; - and[36][i].b <== and[20][i].out; + and[39][i] = AND(); + and[39][i].a <== states[i][8]; + multi_or[11][i] = MultiOR(14); + multi_or[11][i].in[0] <== eq[28][i].out; + multi_or[11][i].in[1] <== eq[29][i].out; + multi_or[11][i].in[2] <== eq[30][i].out; + multi_or[11][i].in[3] <== eq[31][i].out; + multi_or[11][i].in[4] <== eq[32][i].out; + multi_or[11][i].in[5] <== eq[33][i].out; + multi_or[11][i].in[6] <== eq[34][i].out; + multi_or[11][i].in[7] <== eq[35][i].out; + multi_or[11][i].in[8] <== eq[36][i].out; + multi_or[11][i].in[9] <== eq[37][i].out; + multi_or[11][i].in[10] <== eq[38][i].out; + multi_or[11][i].in[11] <== eq[39][i].out; + multi_or[11][i].in[12] <== eq[40][i].out; + multi_or[11][i].in[13] <== eq[41][i].out; + and[39][i].b <== multi_or[11][i].out; + lt[30][i] = LessEqThan(8); + lt[30][i].in[0] <== 144; + lt[30][i].in[1] <== in[i]; + lt[31][i] = LessEqThan(8); + lt[31][i].in[0] <== in[i]; + lt[31][i].in[1] <== 191; + and[40][i] = AND(); + and[40][i].a <== lt[30][i].out; + and[40][i].b <== lt[31][i].out; + and[41][i] = AND(); + and[41][i].a <== states[i][14]; + and[41][i].b <== and[40][i].out; + and[42][i] = AND(); + and[42][i].a <== states[i][15]; + and[42][i].b <== and[11][i].out; eq[42][i] = IsEqual(); eq[42][i].in[0] <== in[i]; eq[42][i].in[1] <== 128; @@ -431,59 +594,46 @@ template CommandRegex(msg_bytes) { eq[57][i] = IsEqual(); eq[57][i].in[0] <== in[i]; eq[57][i].in[1] <== 143; - and[37][i] = AND(); - and[37][i].a <== states[i][23]; - multi_or[5][i] = MultiOR(16); - multi_or[5][i].in[0] <== eq[42][i].out; - multi_or[5][i].in[1] <== eq[43][i].out; - multi_or[5][i].in[2] <== eq[44][i].out; - multi_or[5][i].in[3] <== eq[45][i].out; - multi_or[5][i].in[4] <== eq[46][i].out; - multi_or[5][i].in[5] <== eq[47][i].out; - multi_or[5][i].in[6] <== eq[48][i].out; - multi_or[5][i].in[7] <== eq[49][i].out; - multi_or[5][i].in[8] <== eq[50][i].out; - multi_or[5][i].in[9] <== eq[51][i].out; - multi_or[5][i].in[10] <== eq[52][i].out; - multi_or[5][i].in[11] <== eq[53][i].out; - multi_or[5][i].in[12] <== eq[54][i].out; - multi_or[5][i].in[13] <== eq[55][i].out; - multi_or[5][i].in[14] <== eq[56][i].out; - multi_or[5][i].in[15] <== eq[57][i].out; - and[37][i].b <== multi_or[5][i].out; - multi_or[6][i] = MultiOR(5); - multi_or[6][i].in[0] <== and[32][i].out; - multi_or[6][i].in[1] <== and[33][i].out; - multi_or[6][i].in[2] <== and[35][i].out; - multi_or[6][i].in[3] <== and[36][i].out; - multi_or[6][i].in[4] <== and[37][i].out; - states[i+1][19] <== multi_or[6][i].out; + and[43][i] = AND(); + and[43][i].a <== states[i][16]; + multi_or[12][i] = MultiOR(16); + multi_or[12][i].in[0] <== eq[42][i].out; + multi_or[12][i].in[1] <== eq[43][i].out; + multi_or[12][i].in[2] <== eq[44][i].out; + multi_or[12][i].in[3] <== eq[45][i].out; + multi_or[12][i].in[4] <== eq[46][i].out; + multi_or[12][i].in[5] <== eq[47][i].out; + multi_or[12][i].in[6] <== eq[48][i].out; + multi_or[12][i].in[7] <== eq[49][i].out; + multi_or[12][i].in[8] <== eq[50][i].out; + multi_or[12][i].in[9] <== eq[51][i].out; + multi_or[12][i].in[10] <== eq[52][i].out; + multi_or[12][i].in[11] <== eq[53][i].out; + multi_or[12][i].in[12] <== eq[54][i].out; + multi_or[12][i].in[13] <== eq[55][i].out; + multi_or[12][i].in[14] <== eq[56][i].out; + multi_or[12][i].in[15] <== eq[57][i].out; + and[43][i].b <== multi_or[12][i].out; + multi_or[13][i] = MultiOR(4); + multi_or[13][i].in[0] <== and[39][i].out; + multi_or[13][i].in[1] <== and[41][i].out; + multi_or[13][i].in[2] <== and[42][i].out; + multi_or[13][i].in[3] <== and[43][i].out; + states[i+1][12] <== multi_or[13][i].out; eq[58][i] = IsEqual(); eq[58][i].in[0] <== in[i]; eq[58][i].in[1] <== 237; - and[38][i] = AND(); - and[38][i].a <== states[i][15]; - and[38][i].b <== eq[58][i].out; - and[39][i] = AND(); - and[39][i].a <== states[i][16]; - and[39][i].b <== eq[58][i].out; - multi_or[7][i] = MultiOR(2); - multi_or[7][i].in[0] <== and[38][i].out; - multi_or[7][i].in[1] <== and[39][i].out; - states[i+1][20] <== multi_or[7][i].out; + and[44][i] = AND(); + and[44][i].a <== states[i][8]; + and[44][i].b <== eq[58][i].out; + states[i+1][13] <== and[44][i].out; eq[59][i] = IsEqual(); eq[59][i].in[0] <== in[i]; eq[59][i].in[1] <== 240; - and[40][i] = AND(); - and[40][i].a <== states[i][15]; - and[40][i].b <== eq[59][i].out; - and[41][i] = AND(); - and[41][i].a <== states[i][16]; - and[41][i].b <== eq[59][i].out; - multi_or[8][i] = MultiOR(2); - multi_or[8][i].in[0] <== and[40][i].out; - multi_or[8][i].in[1] <== and[41][i].out; - states[i+1][21] <== multi_or[8][i].out; + and[45][i] = AND(); + and[45][i].a <== states[i][8]; + and[45][i].b <== eq[59][i].out; + states[i+1][14] <== and[45][i].out; eq[60][i] = IsEqual(); eq[60][i].in[0] <== in[i]; eq[60][i].in[1] <== 241; @@ -493,89 +643,1136 @@ template CommandRegex(msg_bytes) { eq[62][i] = IsEqual(); eq[62][i].in[0] <== in[i]; eq[62][i].in[1] <== 243; - and[42][i] = AND(); - and[42][i].a <== states[i][15]; - multi_or[9][i] = MultiOR(3); - multi_or[9][i].in[0] <== eq[60][i].out; - multi_or[9][i].in[1] <== eq[61][i].out; - multi_or[9][i].in[2] <== eq[62][i].out; - and[42][i].b <== multi_or[9][i].out; - and[43][i] = AND(); - and[43][i].a <== states[i][16]; - and[43][i].b <== multi_or[9][i].out; - multi_or[10][i] = MultiOR(2); - multi_or[10][i].in[0] <== and[42][i].out; - multi_or[10][i].in[1] <== and[43][i].out; - states[i+1][22] <== multi_or[10][i].out; + and[46][i] = AND(); + and[46][i].a <== states[i][8]; + multi_or[14][i] = MultiOR(3); + multi_or[14][i].in[0] <== eq[60][i].out; + multi_or[14][i].in[1] <== eq[61][i].out; + multi_or[14][i].in[2] <== eq[62][i].out; + and[46][i].b <== multi_or[14][i].out; + states[i+1][15] <== and[46][i].out; eq[63][i] = IsEqual(); eq[63][i].in[0] <== in[i]; eq[63][i].in[1] <== 244; - and[44][i] = AND(); - and[44][i].a <== states[i][15]; - and[44][i].b <== eq[63][i].out; - and[45][i] = AND(); - and[45][i].a <== states[i][16]; - and[45][i].b <== eq[63][i].out; - multi_or[11][i] = MultiOR(2); - multi_or[11][i].in[0] <== and[44][i].out; - multi_or[11][i].in[1] <== and[45][i].out; - states[i+1][23] <== multi_or[11][i].out; - and[46][i] = AND(); - and[46][i].a <== states[i][16]; - and[46][i].b <== eq[0][i].out; - states[i+1][24] <== and[46][i].out; and[47][i] = AND(); - and[47][i].a <== states[i][24]; - and[47][i].b <== eq[1][i].out; - states[i+1][25] <== and[47][i].out; + and[47][i].a <== states[i][8]; + and[47][i].b <== eq[63][i].out; + states[i+1][16] <== and[47][i].out; and[48][i] = AND(); - and[48][i].a <== states[i][25]; - and[48][i].b <== eq[2][i].out; - states[i+1][26] <== and[48][i].out; + and[48][i].a <== states[i][9]; + and[48][i].b <== and[31][i].out; and[49][i] = AND(); - and[49][i].a <== states[i][26]; - and[49][i].b <== eq[3][i].out; - states[i+1][27] <== and[49][i].out; + and[49][i].a <== states[i][18]; + and[49][i].b <== and[33][i].out; and[50][i] = AND(); - and[50][i].a <== states[i][27]; - and[50][i].b <== eq[4][i].out; - states[i+1][28] <== and[50][i].out; + and[50][i].a <== states[i][19]; + and[50][i].b <== and[11][i].out; and[51][i] = AND(); - and[51][i].a <== states[i][28]; - and[51][i].b <== eq[5][i].out; - states[i+1][29] <== and[51][i].out; + and[51][i].a <== states[i][20]; + and[51][i].b <== and[36][i].out; and[52][i] = AND(); - and[52][i].a <== states[i][29]; - and[52][i].b <== eq[6][i].out; - states[i+1][30] <== and[52][i].out; + and[52][i].a <== states[i][24]; + and[52][i].b <== and[31][i].out; and[53][i] = AND(); - and[53][i].a <== states[i][30]; - and[53][i].b <== eq[7][i].out; - states[i+1][31] <== and[53][i].out; + and[53][i].a <== states[i][25]; + and[53][i].b <== and[31][i].out; and[54][i] = AND(); - and[54][i].a <== states[i][31]; - and[54][i].b <== eq[8][i].out; - states[i+1][32] <== and[54][i].out; + and[54][i].a <== states[i][26]; + and[54][i].b <== and[31][i].out; and[55][i] = AND(); - and[55][i].a <== states[i][32]; - and[55][i].b <== eq[3][i].out; - states[i+1][33] <== and[55][i].out; + and[55][i].a <== states[i][27]; + and[55][i].b <== and[31][i].out; and[56][i] = AND(); - and[56][i].a <== states[i][33]; - and[56][i].b <== eq[11][i].out; - states[i+1][34] <== and[56][i].out; - eq[64][i] = IsEqual(); - eq[64][i].in[0] <== in[i]; - eq[64][i].in[1] <== 100; + and[56][i].a <== states[i][28]; + and[56][i].b <== and[31][i].out; and[57][i] = AND(); - and[57][i].a <== states[i][34]; - and[57][i].b <== eq[64][i].out; - states[i+1][35] <== and[57][i].out; + and[57][i].a <== states[i][29]; + and[57][i].b <== and[31][i].out; + multi_or[15][i] = MultiOR(10); + multi_or[15][i].in[0] <== and[48][i].out; + multi_or[15][i].in[1] <== and[49][i].out; + multi_or[15][i].in[2] <== and[50][i].out; + multi_or[15][i].in[3] <== and[51][i].out; + multi_or[15][i].in[4] <== and[52][i].out; + multi_or[15][i].in[5] <== and[53][i].out; + multi_or[15][i].in[6] <== and[54][i].out; + multi_or[15][i].in[7] <== and[55][i].out; + multi_or[15][i].in[8] <== and[56][i].out; + multi_or[15][i].in[9] <== and[57][i].out; + states[i+1][17] <== multi_or[15][i].out; and[58][i] = AND(); - and[58][i].a <== states[i][35]; - and[58][i].b <== eq[12][i].out; - states[i+1][36] <== and[58][i].out; - from_zero_enabled[i] <== MultiNOR(36)([states_tmp[i+1][1], states[i+1][2], states[i+1][3], states[i+1][4], states[i+1][5], states[i+1][6], states[i+1][7], states[i+1][8], states[i+1][9], states[i+1][10], states[i+1][11], states[i+1][12], states[i+1][13], states[i+1][14], states[i+1][15], states[i+1][16], states[i+1][17], states[i+1][18], states[i+1][19], states[i+1][20], states[i+1][21], states[i+1][22], states[i+1][23], states[i+1][24], states[i+1][25], states[i+1][26], states[i+1][27], states[i+1][28], states[i+1][29], states[i+1][30], states[i+1][31], states[i+1][32], states[i+1][33], states[i+1][34], states[i+1][35], states[i+1][36]]); + and[58][i].a <== states[i][9]; + and[58][i].b <== eq[27][i].out; + and[59][i] = AND(); + and[59][i].a <== states[i][24]; + and[59][i].b <== eq[27][i].out; + and[60][i] = AND(); + and[60][i].a <== states[i][25]; + and[60][i].b <== eq[27][i].out; + and[61][i] = AND(); + and[61][i].a <== states[i][26]; + and[61][i].b <== eq[27][i].out; + and[62][i] = AND(); + and[62][i].a <== states[i][27]; + and[62][i].b <== eq[27][i].out; + and[63][i] = AND(); + and[63][i].a <== states[i][28]; + and[63][i].b <== eq[27][i].out; + and[64][i] = AND(); + and[64][i].a <== states[i][29]; + and[64][i].b <== eq[27][i].out; + multi_or[16][i] = MultiOR(7); + multi_or[16][i].in[0] <== and[58][i].out; + multi_or[16][i].in[1] <== and[59][i].out; + multi_or[16][i].in[2] <== and[60][i].out; + multi_or[16][i].in[3] <== and[61][i].out; + multi_or[16][i].in[4] <== and[62][i].out; + multi_or[16][i].in[5] <== and[63][i].out; + multi_or[16][i].in[6] <== and[64][i].out; + states[i+1][18] <== multi_or[16][i].out; + and[65][i] = AND(); + and[65][i].a <== states[i][9]; + and[65][i].b <== multi_or[11][i].out; + and[66][i] = AND(); + and[66][i].a <== states[i][21]; + and[66][i].b <== and[40][i].out; + and[67][i] = AND(); + and[67][i].a <== states[i][22]; + and[67][i].b <== and[11][i].out; + and[68][i] = AND(); + and[68][i].a <== states[i][23]; + and[68][i].b <== multi_or[12][i].out; + and[69][i] = AND(); + and[69][i].a <== states[i][24]; + and[69][i].b <== multi_or[11][i].out; + and[70][i] = AND(); + and[70][i].a <== states[i][25]; + and[70][i].b <== multi_or[11][i].out; + and[71][i] = AND(); + and[71][i].a <== states[i][26]; + and[71][i].b <== multi_or[11][i].out; + and[72][i] = AND(); + and[72][i].a <== states[i][27]; + and[72][i].b <== multi_or[11][i].out; + and[73][i] = AND(); + and[73][i].a <== states[i][28]; + and[73][i].b <== multi_or[11][i].out; + and[74][i] = AND(); + and[74][i].a <== states[i][29]; + and[74][i].b <== multi_or[11][i].out; + multi_or[17][i] = MultiOR(10); + multi_or[17][i].in[0] <== and[65][i].out; + multi_or[17][i].in[1] <== and[66][i].out; + multi_or[17][i].in[2] <== and[67][i].out; + multi_or[17][i].in[3] <== and[68][i].out; + multi_or[17][i].in[4] <== and[69][i].out; + multi_or[17][i].in[5] <== and[70][i].out; + multi_or[17][i].in[6] <== and[71][i].out; + multi_or[17][i].in[7] <== and[72][i].out; + multi_or[17][i].in[8] <== and[73][i].out; + multi_or[17][i].in[9] <== and[74][i].out; + states[i+1][19] <== multi_or[17][i].out; + and[75][i] = AND(); + and[75][i].a <== states[i][9]; + and[75][i].b <== eq[58][i].out; + and[76][i] = AND(); + and[76][i].a <== states[i][24]; + and[76][i].b <== eq[58][i].out; + and[77][i] = AND(); + and[77][i].a <== states[i][25]; + and[77][i].b <== eq[58][i].out; + and[78][i] = AND(); + and[78][i].a <== states[i][26]; + and[78][i].b <== eq[58][i].out; + and[79][i] = AND(); + and[79][i].a <== states[i][27]; + and[79][i].b <== eq[58][i].out; + and[80][i] = AND(); + and[80][i].a <== states[i][28]; + and[80][i].b <== eq[58][i].out; + and[81][i] = AND(); + and[81][i].a <== states[i][29]; + and[81][i].b <== eq[58][i].out; + multi_or[18][i] = MultiOR(7); + multi_or[18][i].in[0] <== and[75][i].out; + multi_or[18][i].in[1] <== and[76][i].out; + multi_or[18][i].in[2] <== and[77][i].out; + multi_or[18][i].in[3] <== and[78][i].out; + multi_or[18][i].in[4] <== and[79][i].out; + multi_or[18][i].in[5] <== and[80][i].out; + multi_or[18][i].in[6] <== and[81][i].out; + states[i+1][20] <== multi_or[18][i].out; + and[82][i] = AND(); + and[82][i].a <== states[i][9]; + and[82][i].b <== eq[59][i].out; + and[83][i] = AND(); + and[83][i].a <== states[i][24]; + and[83][i].b <== eq[59][i].out; + and[84][i] = AND(); + and[84][i].a <== states[i][25]; + and[84][i].b <== eq[59][i].out; + and[85][i] = AND(); + and[85][i].a <== states[i][26]; + and[85][i].b <== eq[59][i].out; + and[86][i] = AND(); + and[86][i].a <== states[i][27]; + and[86][i].b <== eq[59][i].out; + and[87][i] = AND(); + and[87][i].a <== states[i][28]; + and[87][i].b <== eq[59][i].out; + and[88][i] = AND(); + and[88][i].a <== states[i][29]; + and[88][i].b <== eq[59][i].out; + multi_or[19][i] = MultiOR(7); + multi_or[19][i].in[0] <== and[82][i].out; + multi_or[19][i].in[1] <== and[83][i].out; + multi_or[19][i].in[2] <== and[84][i].out; + multi_or[19][i].in[3] <== and[85][i].out; + multi_or[19][i].in[4] <== and[86][i].out; + multi_or[19][i].in[5] <== and[87][i].out; + multi_or[19][i].in[6] <== and[88][i].out; + states[i+1][21] <== multi_or[19][i].out; + and[89][i] = AND(); + and[89][i].a <== states[i][9]; + and[89][i].b <== multi_or[14][i].out; + and[90][i] = AND(); + and[90][i].a <== states[i][24]; + and[90][i].b <== multi_or[14][i].out; + and[91][i] = AND(); + and[91][i].a <== states[i][25]; + and[91][i].b <== multi_or[14][i].out; + and[92][i] = AND(); + and[92][i].a <== states[i][26]; + and[92][i].b <== multi_or[14][i].out; + and[93][i] = AND(); + and[93][i].a <== states[i][27]; + and[93][i].b <== multi_or[14][i].out; + and[94][i] = AND(); + and[94][i].a <== states[i][28]; + and[94][i].b <== multi_or[14][i].out; + and[95][i] = AND(); + and[95][i].a <== states[i][29]; + and[95][i].b <== multi_or[14][i].out; + multi_or[20][i] = MultiOR(7); + multi_or[20][i].in[0] <== and[89][i].out; + multi_or[20][i].in[1] <== and[90][i].out; + multi_or[20][i].in[2] <== and[91][i].out; + multi_or[20][i].in[3] <== and[92][i].out; + multi_or[20][i].in[4] <== and[93][i].out; + multi_or[20][i].in[5] <== and[94][i].out; + multi_or[20][i].in[6] <== and[95][i].out; + states[i+1][22] <== multi_or[20][i].out; + and[96][i] = AND(); + and[96][i].a <== states[i][9]; + and[96][i].b <== eq[63][i].out; + and[97][i] = AND(); + and[97][i].a <== states[i][24]; + and[97][i].b <== eq[63][i].out; + and[98][i] = AND(); + and[98][i].a <== states[i][25]; + and[98][i].b <== eq[63][i].out; + and[99][i] = AND(); + and[99][i].a <== states[i][26]; + and[99][i].b <== eq[63][i].out; + and[100][i] = AND(); + and[100][i].a <== states[i][27]; + and[100][i].b <== eq[63][i].out; + and[101][i] = AND(); + and[101][i].a <== states[i][28]; + and[101][i].b <== eq[63][i].out; + and[102][i] = AND(); + and[102][i].a <== states[i][29]; + and[102][i].b <== eq[63][i].out; + multi_or[21][i] = MultiOR(7); + multi_or[21][i].in[0] <== and[96][i].out; + multi_or[21][i].in[1] <== and[97][i].out; + multi_or[21][i].in[2] <== and[98][i].out; + multi_or[21][i].in[3] <== and[99][i].out; + multi_or[21][i].in[4] <== and[100][i].out; + multi_or[21][i].in[5] <== and[101][i].out; + multi_or[21][i].in[6] <== and[102][i].out; + states[i+1][23] <== multi_or[21][i].out; + eq[64][i] = IsEqual(); + eq[64][i].in[0] <== in[i]; + eq[64][i].in[1] <== 122; + and[103][i] = AND(); + and[103][i].a <== states[i][9]; + and[103][i].b <== eq[64][i].out; + and[104][i] = AND(); + and[104][i].a <== states[i][24]; + and[104][i].b <== eq[64][i].out; + and[105][i] = AND(); + and[105][i].a <== states[i][25]; + and[105][i].b <== eq[64][i].out; + and[106][i] = AND(); + and[106][i].a <== states[i][26]; + and[106][i].b <== eq[64][i].out; + and[107][i] = AND(); + and[107][i].a <== states[i][27]; + and[107][i].b <== eq[64][i].out; + and[108][i] = AND(); + and[108][i].a <== states[i][28]; + and[108][i].b <== eq[64][i].out; + and[109][i] = AND(); + and[109][i].a <== states[i][29]; + and[109][i].b <== eq[64][i].out; + multi_or[22][i] = MultiOR(7); + multi_or[22][i].in[0] <== and[103][i].out; + multi_or[22][i].in[1] <== and[104][i].out; + multi_or[22][i].in[2] <== and[105][i].out; + multi_or[22][i].in[3] <== and[106][i].out; + multi_or[22][i].in[4] <== and[107][i].out; + multi_or[22][i].in[5] <== and[108][i].out; + multi_or[22][i].in[6] <== and[109][i].out; + states[i+1][24] <== multi_or[22][i].out; + and[110][i] = AND(); + and[110][i].a <== states[i][24]; + and[110][i].b <== eq[26][i].out; + states[i+1][25] <== and[110][i].out; + eq[65][i] = IsEqual(); + eq[65][i].in[0] <== in[i]; + eq[65][i].in[1] <== 101; + and[111][i] = AND(); + and[111][i].a <== states[i][25]; + and[111][i].b <== eq[65][i].out; + states[i+1][26] <== and[111][i].out; + and[112][i] = AND(); + and[112][i].a <== states[i][26]; + and[112][i].b <== eq[13][i].out; + states[i+1][27] <== and[112][i].out; + eq[66][i] = IsEqual(); + eq[66][i].in[0] <== in[i]; + eq[66][i].in[1] <== 97; + and[113][i] = AND(); + and[113][i].a <== states[i][27]; + and[113][i].b <== eq[66][i].out; + states[i+1][28] <== and[113][i].out; + and[114][i] = AND(); + and[114][i].a <== states[i][28]; + and[114][i].b <== eq[2][i].out; + states[i+1][29] <== and[114][i].out; + and[115][i] = AND(); + and[115][i].a <== states[i][29]; + and[115][i].b <== eq[12][i].out; + and[116][i] = AND(); + and[116][i].a <== states[i][30]; + and[116][i].b <== multi_or[0][i].out; + and[117][i] = AND(); + and[117][i].a <== states[i][32]; + and[117][i].b <== and[11][i].out; + multi_or[23][i] = MultiOR(3); + multi_or[23][i].in[0] <== and[115][i].out; + multi_or[23][i].in[1] <== and[116][i].out; + multi_or[23][i].in[2] <== and[117][i].out; + states[i+1][30] <== multi_or[23][i].out; + and[118][i] = AND(); + and[118][i].a <== states[i][30]; + and[118][i].b <== eq[6][i].out; + lt[32][i] = LessEqThan(8); + lt[32][i].in[0] <== 1; + lt[32][i].in[1] <== in[i]; + lt[33][i] = LessEqThan(8); + lt[33][i].in[0] <== in[i]; + lt[33][i].in[1] <== 61; + and[119][i] = AND(); + and[119][i].a <== lt[32][i].out; + and[119][i].b <== lt[33][i].out; + lt[34][i] = LessEqThan(8); + lt[34][i].in[0] <== 63; + lt[34][i].in[1] <== in[i]; + lt[35][i] = LessEqThan(8); + lt[35][i].in[0] <== in[i]; + lt[35][i].in[1] <== 127; + and[120][i] = AND(); + and[120][i].a <== lt[34][i].out; + and[120][i].b <== lt[35][i].out; + and[121][i] = AND(); + and[121][i].a <== states[i][31]; + multi_or[24][i] = MultiOR(2); + multi_or[24][i].in[0] <== and[119][i].out; + multi_or[24][i].in[1] <== and[120][i].out; + and[121][i].b <== multi_or[24][i].out; + and[122][i] = AND(); + and[122][i].a <== states[i][40]; + and[122][i].b <== and[11][i].out; + multi_or[25][i] = MultiOR(3); + multi_or[25][i].in[0] <== and[118][i].out; + multi_or[25][i].in[1] <== and[121][i].out; + multi_or[25][i].in[2] <== and[122][i].out; + states[i+1][31] <== multi_or[25][i].out; + and[123][i] = AND(); + and[123][i].a <== states[i][30]; + and[123][i].b <== and[31][i].out; + and[124][i] = AND(); + and[124][i].a <== states[i][33]; + and[124][i].b <== and[33][i].out; + and[125][i] = AND(); + and[125][i].a <== states[i][34]; + and[125][i].b <== and[11][i].out; + and[126][i] = AND(); + and[126][i].a <== states[i][35]; + and[126][i].b <== and[36][i].out; + multi_or[26][i] = MultiOR(4); + multi_or[26][i].in[0] <== and[123][i].out; + multi_or[26][i].in[1] <== and[124][i].out; + multi_or[26][i].in[2] <== and[125][i].out; + multi_or[26][i].in[3] <== and[126][i].out; + states[i+1][32] <== multi_or[26][i].out; + and[127][i] = AND(); + and[127][i].a <== states[i][30]; + and[127][i].b <== eq[27][i].out; + states[i+1][33] <== and[127][i].out; + and[128][i] = AND(); + and[128][i].a <== states[i][30]; + and[128][i].b <== multi_or[11][i].out; + and[129][i] = AND(); + and[129][i].a <== states[i][36]; + and[129][i].b <== and[40][i].out; + and[130][i] = AND(); + and[130][i].a <== states[i][37]; + and[130][i].b <== and[11][i].out; + and[131][i] = AND(); + and[131][i].a <== states[i][38]; + and[131][i].b <== multi_or[12][i].out; + multi_or[27][i] = MultiOR(4); + multi_or[27][i].in[0] <== and[128][i].out; + multi_or[27][i].in[1] <== and[129][i].out; + multi_or[27][i].in[2] <== and[130][i].out; + multi_or[27][i].in[3] <== and[131][i].out; + states[i+1][34] <== multi_or[27][i].out; + and[132][i] = AND(); + and[132][i].a <== states[i][30]; + and[132][i].b <== eq[58][i].out; + states[i+1][35] <== and[132][i].out; + and[133][i] = AND(); + and[133][i].a <== states[i][30]; + and[133][i].b <== eq[59][i].out; + states[i+1][36] <== and[133][i].out; + and[134][i] = AND(); + and[134][i].a <== states[i][30]; + and[134][i].b <== multi_or[14][i].out; + states[i+1][37] <== and[134][i].out; + and[135][i] = AND(); + and[135][i].a <== states[i][30]; + and[135][i].b <== eq[63][i].out; + states[i+1][38] <== and[135][i].out; + eq[67][i] = IsEqual(); + eq[67][i].in[0] <== in[i]; + eq[67][i].in[1] <== 62; + and[136][i] = AND(); + and[136][i].a <== states[i][31]; + and[136][i].b <== eq[67][i].out; + and[137][i] = AND(); + and[137][i].a <== states[i][48]; + and[137][i].b <== eq[67][i].out; + multi_or[28][i] = MultiOR(2); + multi_or[28][i].in[0] <== and[136][i].out; + multi_or[28][i].in[1] <== and[137][i].out; + states[i+1][39] <== multi_or[28][i].out; + and[138][i] = AND(); + and[138][i].a <== states[i][31]; + and[138][i].b <== and[31][i].out; + and[139][i] = AND(); + and[139][i].a <== states[i][41]; + and[139][i].b <== and[33][i].out; + and[140][i] = AND(); + and[140][i].a <== states[i][42]; + and[140][i].b <== and[11][i].out; + and[141][i] = AND(); + and[141][i].a <== states[i][43]; + and[141][i].b <== and[36][i].out; + multi_or[29][i] = MultiOR(4); + multi_or[29][i].in[0] <== and[138][i].out; + multi_or[29][i].in[1] <== and[139][i].out; + multi_or[29][i].in[2] <== and[140][i].out; + multi_or[29][i].in[3] <== and[141][i].out; + states[i+1][40] <== multi_or[29][i].out; + and[142][i] = AND(); + and[142][i].a <== states[i][31]; + and[142][i].b <== eq[27][i].out; + states[i+1][41] <== and[142][i].out; + and[143][i] = AND(); + and[143][i].a <== states[i][31]; + and[143][i].b <== multi_or[11][i].out; + and[144][i] = AND(); + and[144][i].a <== states[i][44]; + and[144][i].b <== and[40][i].out; + and[145][i] = AND(); + and[145][i].a <== states[i][45]; + and[145][i].b <== and[11][i].out; + and[146][i] = AND(); + and[146][i].a <== states[i][46]; + and[146][i].b <== multi_or[12][i].out; + multi_or[30][i] = MultiOR(4); + multi_or[30][i].in[0] <== and[143][i].out; + multi_or[30][i].in[1] <== and[144][i].out; + multi_or[30][i].in[2] <== and[145][i].out; + multi_or[30][i].in[3] <== and[146][i].out; + states[i+1][42] <== multi_or[30][i].out; + and[147][i] = AND(); + and[147][i].a <== states[i][31]; + and[147][i].b <== eq[58][i].out; + states[i+1][43] <== and[147][i].out; + and[148][i] = AND(); + and[148][i].a <== states[i][31]; + and[148][i].b <== eq[59][i].out; + states[i+1][44] <== and[148][i].out; + and[149][i] = AND(); + and[149][i].a <== states[i][31]; + and[149][i].b <== multi_or[14][i].out; + states[i+1][45] <== and[149][i].out; + and[150][i] = AND(); + and[150][i].a <== states[i][31]; + and[150][i].b <== eq[63][i].out; + states[i+1][46] <== and[150][i].out; + and[151][i] = AND(); + and[151][i].a <== states[i][39]; + and[151][i].b <== eq[0][i].out; + states[i+1][47] <== and[151][i].out; + lt[36][i] = LessEqThan(8); + lt[36][i].in[0] <== 1; + lt[36][i].in[1] <== in[i]; + lt[37][i] = LessEqThan(8); + lt[37][i].in[0] <== in[i]; + lt[37][i].in[1] <== 59; + and[152][i] = AND(); + and[152][i].a <== lt[36][i].out; + and[152][i].b <== lt[37][i].out; + and[153][i] = AND(); + and[153][i].a <== states[i][47]; + multi_or[31][i] = MultiOR(3); + multi_or[31][i].in[0] <== and[152][i].out; + multi_or[31][i].in[1] <== and[120][i].out; + multi_or[31][i].in[2] <== eq[5][i].out; + and[153][i].b <== multi_or[31][i].out; + and[154][i] = AND(); + and[154][i].a <== states[i][48]; + and[154][i].b <== multi_or[31][i].out; + and[155][i] = AND(); + and[155][i].a <== states[i][49]; + and[155][i].b <== and[11][i].out; + multi_or[32][i] = MultiOR(3); + multi_or[32][i].in[0] <== and[153][i].out; + multi_or[32][i].in[1] <== and[154][i].out; + multi_or[32][i].in[2] <== and[155][i].out; + states[i+1][48] <== multi_or[32][i].out; + and[156][i] = AND(); + and[156][i].a <== states[i][47]; + and[156][i].b <== and[31][i].out; + and[157][i] = AND(); + and[157][i].a <== states[i][48]; + and[157][i].b <== and[31][i].out; + and[158][i] = AND(); + and[158][i].a <== states[i][50]; + and[158][i].b <== and[33][i].out; + and[159][i] = AND(); + and[159][i].a <== states[i][51]; + and[159][i].b <== and[11][i].out; + and[160][i] = AND(); + and[160][i].a <== states[i][52]; + and[160][i].b <== and[36][i].out; + multi_or[33][i] = MultiOR(5); + multi_or[33][i].in[0] <== and[156][i].out; + multi_or[33][i].in[1] <== and[157][i].out; + multi_or[33][i].in[2] <== and[158][i].out; + multi_or[33][i].in[3] <== and[159][i].out; + multi_or[33][i].in[4] <== and[160][i].out; + states[i+1][49] <== multi_or[33][i].out; + and[161][i] = AND(); + and[161][i].a <== states[i][47]; + and[161][i].b <== eq[27][i].out; + and[162][i] = AND(); + and[162][i].a <== states[i][48]; + and[162][i].b <== eq[27][i].out; + multi_or[34][i] = MultiOR(2); + multi_or[34][i].in[0] <== and[161][i].out; + multi_or[34][i].in[1] <== and[162][i].out; + states[i+1][50] <== multi_or[34][i].out; + and[163][i] = AND(); + and[163][i].a <== states[i][47]; + and[163][i].b <== multi_or[11][i].out; + and[164][i] = AND(); + and[164][i].a <== states[i][48]; + and[164][i].b <== multi_or[11][i].out; + and[165][i] = AND(); + and[165][i].a <== states[i][53]; + and[165][i].b <== and[40][i].out; + and[166][i] = AND(); + and[166][i].a <== states[i][54]; + and[166][i].b <== and[11][i].out; + and[167][i] = AND(); + and[167][i].a <== states[i][55]; + and[167][i].b <== multi_or[12][i].out; + multi_or[35][i] = MultiOR(5); + multi_or[35][i].in[0] <== and[163][i].out; + multi_or[35][i].in[1] <== and[164][i].out; + multi_or[35][i].in[2] <== and[165][i].out; + multi_or[35][i].in[3] <== and[166][i].out; + multi_or[35][i].in[4] <== and[167][i].out; + states[i+1][51] <== multi_or[35][i].out; + and[168][i] = AND(); + and[168][i].a <== states[i][47]; + and[168][i].b <== eq[58][i].out; + and[169][i] = AND(); + and[169][i].a <== states[i][48]; + and[169][i].b <== eq[58][i].out; + multi_or[36][i] = MultiOR(2); + multi_or[36][i].in[0] <== and[168][i].out; + multi_or[36][i].in[1] <== and[169][i].out; + states[i+1][52] <== multi_or[36][i].out; + and[170][i] = AND(); + and[170][i].a <== states[i][47]; + and[170][i].b <== eq[59][i].out; + and[171][i] = AND(); + and[171][i].a <== states[i][48]; + and[171][i].b <== eq[59][i].out; + multi_or[37][i] = MultiOR(2); + multi_or[37][i].in[0] <== and[170][i].out; + multi_or[37][i].in[1] <== and[171][i].out; + states[i+1][53] <== multi_or[37][i].out; + and[172][i] = AND(); + and[172][i].a <== states[i][47]; + and[172][i].b <== multi_or[14][i].out; + and[173][i] = AND(); + and[173][i].a <== states[i][48]; + and[173][i].b <== multi_or[14][i].out; + multi_or[38][i] = MultiOR(2); + multi_or[38][i].in[0] <== and[172][i].out; + multi_or[38][i].in[1] <== and[173][i].out; + states[i+1][54] <== multi_or[38][i].out; + and[174][i] = AND(); + and[174][i].a <== states[i][47]; + and[174][i].b <== eq[63][i].out; + and[175][i] = AND(); + and[175][i].a <== states[i][48]; + and[175][i].b <== eq[63][i].out; + multi_or[39][i] = MultiOR(2); + multi_or[39][i].in[0] <== and[174][i].out; + multi_or[39][i].in[1] <== and[175][i].out; + states[i+1][55] <== multi_or[39][i].out; + lt[38][i] = LessEqThan(8); + lt[38][i].in[0] <== 1; + lt[38][i].in[1] <== in[i]; + lt[39][i] = LessEqThan(8); + lt[39][i].in[0] <== in[i]; + lt[39][i].in[1] <== 46; + and[176][i] = AND(); + and[176][i].a <== lt[38][i].out; + and[176][i].b <== lt[39][i].out; + eq[68][i] = IsEqual(); + eq[68][i].in[0] <== in[i]; + eq[68][i].in[1] <== 48; + eq[69][i] = IsEqual(); + eq[69][i].in[0] <== in[i]; + eq[69][i].in[1] <== 49; + eq[70][i] = IsEqual(); + eq[70][i].in[0] <== in[i]; + eq[70][i].in[1] <== 50; + eq[71][i] = IsEqual(); + eq[71][i].in[0] <== in[i]; + eq[71][i].in[1] <== 51; + eq[72][i] = IsEqual(); + eq[72][i].in[0] <== in[i]; + eq[72][i].in[1] <== 52; + eq[73][i] = IsEqual(); + eq[73][i].in[0] <== in[i]; + eq[73][i].in[1] <== 53; + eq[74][i] = IsEqual(); + eq[74][i].in[0] <== in[i]; + eq[74][i].in[1] <== 54; + eq[75][i] = IsEqual(); + eq[75][i].in[0] <== in[i]; + eq[75][i].in[1] <== 55; + eq[76][i] = IsEqual(); + eq[76][i].in[0] <== in[i]; + eq[76][i].in[1] <== 56; + eq[77][i] = IsEqual(); + eq[77][i].in[0] <== in[i]; + eq[77][i].in[1] <== 57; + eq[78][i] = IsEqual(); + eq[78][i].in[0] <== in[i]; + eq[78][i].in[1] <== 58; + eq[79][i] = IsEqual(); + eq[79][i].in[0] <== in[i]; + eq[79][i].in[1] <== 59; + and[177][i] = AND(); + and[177][i].a <== states[i][39]; + multi_or[40][i] = MultiOR(15); + multi_or[40][i].in[0] <== and[176][i].out; + multi_or[40][i].in[1] <== and[120][i].out; + multi_or[40][i].in[2] <== eq[68][i].out; + multi_or[40][i].in[3] <== eq[69][i].out; + multi_or[40][i].in[4] <== eq[70][i].out; + multi_or[40][i].in[5] <== eq[71][i].out; + multi_or[40][i].in[6] <== eq[72][i].out; + multi_or[40][i].in[7] <== eq[73][i].out; + multi_or[40][i].in[8] <== eq[74][i].out; + multi_or[40][i].in[9] <== eq[75][i].out; + multi_or[40][i].in[10] <== eq[76][i].out; + multi_or[40][i].in[11] <== eq[77][i].out; + multi_or[40][i].in[12] <== eq[78][i].out; + multi_or[40][i].in[13] <== eq[79][i].out; + multi_or[40][i].in[14] <== eq[5][i].out; + and[177][i].b <== multi_or[40][i].out; + and[178][i] = AND(); + and[178][i].a <== states[i][56]; + and[178][i].b <== multi_or[40][i].out; + and[179][i] = AND(); + and[179][i].a <== states[i][57]; + and[179][i].b <== and[11][i].out; + multi_or[41][i] = MultiOR(3); + multi_or[41][i].in[0] <== and[177][i].out; + multi_or[41][i].in[1] <== and[178][i].out; + multi_or[41][i].in[2] <== and[179][i].out; + states[i+1][56] <== multi_or[41][i].out; + and[180][i] = AND(); + and[180][i].a <== states[i][39]; + and[180][i].b <== and[31][i].out; + and[181][i] = AND(); + and[181][i].a <== states[i][56]; + and[181][i].b <== and[31][i].out; + and[182][i] = AND(); + and[182][i].a <== states[i][58]; + and[182][i].b <== and[33][i].out; + and[183][i] = AND(); + and[183][i].a <== states[i][59]; + and[183][i].b <== and[11][i].out; + and[184][i] = AND(); + and[184][i].a <== states[i][60]; + and[184][i].b <== and[36][i].out; + multi_or[42][i] = MultiOR(5); + multi_or[42][i].in[0] <== and[180][i].out; + multi_or[42][i].in[1] <== and[181][i].out; + multi_or[42][i].in[2] <== and[182][i].out; + multi_or[42][i].in[3] <== and[183][i].out; + multi_or[42][i].in[4] <== and[184][i].out; + states[i+1][57] <== multi_or[42][i].out; + and[185][i] = AND(); + and[185][i].a <== states[i][39]; + and[185][i].b <== eq[27][i].out; + and[186][i] = AND(); + and[186][i].a <== states[i][56]; + and[186][i].b <== eq[27][i].out; + multi_or[43][i] = MultiOR(2); + multi_or[43][i].in[0] <== and[185][i].out; + multi_or[43][i].in[1] <== and[186][i].out; + states[i+1][58] <== multi_or[43][i].out; + and[187][i] = AND(); + and[187][i].a <== states[i][39]; + and[187][i].b <== multi_or[11][i].out; + and[188][i] = AND(); + and[188][i].a <== states[i][56]; + and[188][i].b <== multi_or[11][i].out; + and[189][i] = AND(); + and[189][i].a <== states[i][61]; + and[189][i].b <== and[40][i].out; + and[190][i] = AND(); + and[190][i].a <== states[i][62]; + and[190][i].b <== and[11][i].out; + and[191][i] = AND(); + and[191][i].a <== states[i][63]; + and[191][i].b <== multi_or[12][i].out; + multi_or[44][i] = MultiOR(5); + multi_or[44][i].in[0] <== and[187][i].out; + multi_or[44][i].in[1] <== and[188][i].out; + multi_or[44][i].in[2] <== and[189][i].out; + multi_or[44][i].in[3] <== and[190][i].out; + multi_or[44][i].in[4] <== and[191][i].out; + states[i+1][59] <== multi_or[44][i].out; + and[192][i] = AND(); + and[192][i].a <== states[i][39]; + and[192][i].b <== eq[58][i].out; + and[193][i] = AND(); + and[193][i].a <== states[i][56]; + and[193][i].b <== eq[58][i].out; + multi_or[45][i] = MultiOR(2); + multi_or[45][i].in[0] <== and[192][i].out; + multi_or[45][i].in[1] <== and[193][i].out; + states[i+1][60] <== multi_or[45][i].out; + and[194][i] = AND(); + and[194][i].a <== states[i][39]; + and[194][i].b <== eq[59][i].out; + and[195][i] = AND(); + and[195][i].a <== states[i][56]; + and[195][i].b <== eq[59][i].out; + multi_or[46][i] = MultiOR(2); + multi_or[46][i].in[0] <== and[194][i].out; + multi_or[46][i].in[1] <== and[195][i].out; + states[i+1][61] <== multi_or[46][i].out; + and[196][i] = AND(); + and[196][i].a <== states[i][39]; + and[196][i].b <== multi_or[14][i].out; + and[197][i] = AND(); + and[197][i].a <== states[i][56]; + and[197][i].b <== multi_or[14][i].out; + multi_or[47][i] = MultiOR(2); + multi_or[47][i].in[0] <== and[196][i].out; + multi_or[47][i].in[1] <== and[197][i].out; + states[i+1][62] <== multi_or[47][i].out; + and[198][i] = AND(); + and[198][i].a <== states[i][39]; + and[198][i].b <== eq[63][i].out; + and[199][i] = AND(); + and[199][i].a <== states[i][56]; + and[199][i].b <== eq[63][i].out; + and[200][i] = AND(); + and[200][i].a <== states[i][65]; + and[200][i].b <== eq[67][i].out; + and[201][i] = AND(); + and[201][i].a <== states[i][66]; + and[201][i].b <== eq[67][i].out; + and[202][i] = AND(); + and[202][i].a <== states[i][74]; + and[202][i].b <== eq[67][i].out; + and[203][i] = AND(); + and[203][i].a <== states[i][75]; + and[203][i].b <== eq[67][i].out; + multi_or[48][i] = MultiOR(6); + multi_or[48][i].in[0] <== and[198][i].out; + multi_or[48][i].in[1] <== and[199][i].out; + multi_or[48][i].in[2] <== and[200][i].out; + multi_or[48][i].in[3] <== and[201][i].out; + multi_or[48][i].in[4] <== and[202][i].out; + multi_or[48][i].in[5] <== and[203][i].out; + states[i+1][63] <== multi_or[48][i].out; + and[204][i] = AND(); + and[204][i].a <== states[i][56]; + and[204][i].b <== eq[0][i].out; + and[205][i] = AND(); + and[205][i].a <== states[i][77]; + and[205][i].b <== eq[0][i].out; + multi_or[49][i] = MultiOR(2); + multi_or[49][i].in[0] <== and[204][i].out; + multi_or[49][i].in[1] <== and[205][i].out; + states[i+1][64] <== multi_or[49][i].out; + eq[80][i] = IsEqual(); + eq[80][i].in[0] <== in[i]; + eq[80][i].in[1] <== 47; + and[206][i] = AND(); + and[206][i].a <== states[i][64]; + and[206][i].b <== eq[80][i].out; + states[i+1][65] <== and[206][i].out; + and[207][i] = AND(); + and[207][i].a <== states[i][64]; + and[207][i].b <== multi_or[40][i].out; + lt[40][i] = LessEqThan(8); + lt[40][i].in[0] <== 63; + lt[40][i].in[1] <== in[i]; + lt[41][i] = LessEqThan(8); + lt[41][i].in[0] <== in[i]; + lt[41][i].in[1] <== 99; + and[208][i] = AND(); + and[208][i].a <== lt[40][i].out; + and[208][i].b <== lt[41][i].out; + lt[42][i] = LessEqThan(8); + lt[42][i].in[0] <== 101; + lt[42][i].in[1] <== in[i]; + lt[43][i] = LessEqThan(8); + lt[43][i].in[0] <== in[i]; + lt[43][i].in[1] <== 127; + and[209][i] = AND(); + and[209][i].a <== lt[42][i].out; + and[209][i].b <== lt[43][i].out; + and[210][i] = AND(); + and[210][i].a <== states[i][65]; + multi_or[50][i] = MultiOR(4); + multi_or[50][i].in[0] <== and[152][i].out; + multi_or[50][i].in[1] <== and[208][i].out; + multi_or[50][i].in[2] <== and[209][i].out; + multi_or[50][i].in[3] <== eq[5][i].out; + and[210][i].b <== multi_or[50][i].out; + and[211][i] = AND(); + and[211][i].a <== states[i][66]; + and[211][i].b <== multi_or[31][i].out; + and[212][i] = AND(); + and[212][i].a <== states[i][67]; + and[212][i].b <== and[11][i].out; + lt[44][i] = LessEqThan(8); + lt[44][i].in[0] <== 63; + lt[44][i].in[1] <== in[i]; + lt[45][i] = LessEqThan(8); + lt[45][i].in[0] <== in[i]; + lt[45][i].in[1] <== 104; + and[213][i] = AND(); + and[213][i].a <== lt[44][i].out; + and[213][i].b <== lt[45][i].out; + lt[46][i] = LessEqThan(8); + lt[46][i].in[0] <== 106; + lt[46][i].in[1] <== in[i]; + lt[47][i] = LessEqThan(8); + lt[47][i].in[0] <== in[i]; + lt[47][i].in[1] <== 127; + and[214][i] = AND(); + and[214][i].a <== lt[46][i].out; + and[214][i].b <== lt[47][i].out; + and[215][i] = AND(); + and[215][i].a <== states[i][74]; + multi_or[51][i] = MultiOR(4); + multi_or[51][i].in[0] <== and[152][i].out; + multi_or[51][i].in[1] <== and[213][i].out; + multi_or[51][i].in[2] <== and[214][i].out; + multi_or[51][i].in[3] <== eq[5][i].out; + and[215][i].b <== multi_or[51][i].out; + lt[48][i] = LessEqThan(8); + lt[48][i].in[0] <== 63; + lt[48][i].in[1] <== in[i]; + lt[49][i] = LessEqThan(8); + lt[49][i].in[0] <== in[i]; + lt[49][i].in[1] <== 117; + and[216][i] = AND(); + and[216][i].a <== lt[48][i].out; + and[216][i].b <== lt[49][i].out; + and[217][i] = AND(); + and[217][i].a <== states[i][75]; + multi_or[52][i] = MultiOR(12); + multi_or[52][i].in[0] <== and[152][i].out; + multi_or[52][i].in[1] <== and[216][i].out; + multi_or[52][i].in[2] <== eq[5][i].out; + multi_or[52][i].in[3] <== eq[22][i].out; + multi_or[52][i].in[4] <== eq[23][i].out; + multi_or[52][i].in[5] <== eq[24][i].out; + multi_or[52][i].in[6] <== eq[64][i].out; + multi_or[52][i].in[7] <== eq[7][i].out; + multi_or[52][i].in[8] <== eq[8][i].out; + multi_or[52][i].in[9] <== eq[9][i].out; + multi_or[52][i].in[10] <== eq[10][i].out; + multi_or[52][i].in[11] <== eq[11][i].out; + and[217][i].b <== multi_or[52][i].out; + and[218][i] = AND(); + and[218][i].a <== states[i][76]; + and[218][i].b <== multi_or[31][i].out; + multi_or[53][i] = MultiOR(7); + multi_or[53][i].in[0] <== and[207][i].out; + multi_or[53][i].in[1] <== and[210][i].out; + multi_or[53][i].in[2] <== and[211][i].out; + multi_or[53][i].in[3] <== and[212][i].out; + multi_or[53][i].in[4] <== and[215][i].out; + multi_or[53][i].in[5] <== and[217][i].out; + multi_or[53][i].in[6] <== and[218][i].out; + states[i+1][66] <== multi_or[53][i].out; + and[219][i] = AND(); + and[219][i].a <== states[i][64]; + and[219][i].b <== and[31][i].out; + and[220][i] = AND(); + and[220][i].a <== states[i][65]; + and[220][i].b <== and[31][i].out; + and[221][i] = AND(); + and[221][i].a <== states[i][66]; + and[221][i].b <== and[31][i].out; + and[222][i] = AND(); + and[222][i].a <== states[i][68]; + and[222][i].b <== and[33][i].out; + and[223][i] = AND(); + and[223][i].a <== states[i][69]; + and[223][i].b <== and[11][i].out; + and[224][i] = AND(); + and[224][i].a <== states[i][70]; + and[224][i].b <== and[36][i].out; + and[225][i] = AND(); + and[225][i].a <== states[i][74]; + and[225][i].b <== and[31][i].out; + and[226][i] = AND(); + and[226][i].a <== states[i][75]; + and[226][i].b <== and[31][i].out; + and[227][i] = AND(); + and[227][i].a <== states[i][76]; + and[227][i].b <== and[31][i].out; + multi_or[54][i] = MultiOR(9); + multi_or[54][i].in[0] <== and[219][i].out; + multi_or[54][i].in[1] <== and[220][i].out; + multi_or[54][i].in[2] <== and[221][i].out; + multi_or[54][i].in[3] <== and[222][i].out; + multi_or[54][i].in[4] <== and[223][i].out; + multi_or[54][i].in[5] <== and[224][i].out; + multi_or[54][i].in[6] <== and[225][i].out; + multi_or[54][i].in[7] <== and[226][i].out; + multi_or[54][i].in[8] <== and[227][i].out; + states[i+1][67] <== multi_or[54][i].out; + and[228][i] = AND(); + and[228][i].a <== states[i][64]; + and[228][i].b <== eq[27][i].out; + and[229][i] = AND(); + and[229][i].a <== states[i][65]; + and[229][i].b <== eq[27][i].out; + and[230][i] = AND(); + and[230][i].a <== states[i][66]; + and[230][i].b <== eq[27][i].out; + and[231][i] = AND(); + and[231][i].a <== states[i][74]; + and[231][i].b <== eq[27][i].out; + and[232][i] = AND(); + and[232][i].a <== states[i][75]; + and[232][i].b <== eq[27][i].out; + and[233][i] = AND(); + and[233][i].a <== states[i][76]; + and[233][i].b <== eq[27][i].out; + multi_or[55][i] = MultiOR(6); + multi_or[55][i].in[0] <== and[228][i].out; + multi_or[55][i].in[1] <== and[229][i].out; + multi_or[55][i].in[2] <== and[230][i].out; + multi_or[55][i].in[3] <== and[231][i].out; + multi_or[55][i].in[4] <== and[232][i].out; + multi_or[55][i].in[5] <== and[233][i].out; + states[i+1][68] <== multi_or[55][i].out; + and[234][i] = AND(); + and[234][i].a <== states[i][64]; + and[234][i].b <== multi_or[11][i].out; + and[235][i] = AND(); + and[235][i].a <== states[i][65]; + and[235][i].b <== multi_or[11][i].out; + and[236][i] = AND(); + and[236][i].a <== states[i][66]; + and[236][i].b <== multi_or[11][i].out; + and[237][i] = AND(); + and[237][i].a <== states[i][71]; + and[237][i].b <== and[40][i].out; + and[238][i] = AND(); + and[238][i].a <== states[i][72]; + and[238][i].b <== and[11][i].out; + and[239][i] = AND(); + and[239][i].a <== states[i][73]; + and[239][i].b <== multi_or[12][i].out; + and[240][i] = AND(); + and[240][i].a <== states[i][74]; + and[240][i].b <== multi_or[11][i].out; + and[241][i] = AND(); + and[241][i].a <== states[i][75]; + and[241][i].b <== multi_or[11][i].out; + and[242][i] = AND(); + and[242][i].a <== states[i][76]; + and[242][i].b <== multi_or[11][i].out; + multi_or[56][i] = MultiOR(9); + multi_or[56][i].in[0] <== and[234][i].out; + multi_or[56][i].in[1] <== and[235][i].out; + multi_or[56][i].in[2] <== and[236][i].out; + multi_or[56][i].in[3] <== and[237][i].out; + multi_or[56][i].in[4] <== and[238][i].out; + multi_or[56][i].in[5] <== and[239][i].out; + multi_or[56][i].in[6] <== and[240][i].out; + multi_or[56][i].in[7] <== and[241][i].out; + multi_or[56][i].in[8] <== and[242][i].out; + states[i+1][69] <== multi_or[56][i].out; + and[243][i] = AND(); + and[243][i].a <== states[i][64]; + and[243][i].b <== eq[58][i].out; + and[244][i] = AND(); + and[244][i].a <== states[i][65]; + and[244][i].b <== eq[58][i].out; + and[245][i] = AND(); + and[245][i].a <== states[i][66]; + and[245][i].b <== eq[58][i].out; + and[246][i] = AND(); + and[246][i].a <== states[i][74]; + and[246][i].b <== eq[58][i].out; + and[247][i] = AND(); + and[247][i].a <== states[i][75]; + and[247][i].b <== eq[58][i].out; + and[248][i] = AND(); + and[248][i].a <== states[i][76]; + and[248][i].b <== eq[58][i].out; + multi_or[57][i] = MultiOR(6); + multi_or[57][i].in[0] <== and[243][i].out; + multi_or[57][i].in[1] <== and[244][i].out; + multi_or[57][i].in[2] <== and[245][i].out; + multi_or[57][i].in[3] <== and[246][i].out; + multi_or[57][i].in[4] <== and[247][i].out; + multi_or[57][i].in[5] <== and[248][i].out; + states[i+1][70] <== multi_or[57][i].out; + and[249][i] = AND(); + and[249][i].a <== states[i][64]; + and[249][i].b <== eq[59][i].out; + and[250][i] = AND(); + and[250][i].a <== states[i][65]; + and[250][i].b <== eq[59][i].out; + and[251][i] = AND(); + and[251][i].a <== states[i][66]; + and[251][i].b <== eq[59][i].out; + and[252][i] = AND(); + and[252][i].a <== states[i][74]; + and[252][i].b <== eq[59][i].out; + and[253][i] = AND(); + and[253][i].a <== states[i][75]; + and[253][i].b <== eq[59][i].out; + and[254][i] = AND(); + and[254][i].a <== states[i][76]; + and[254][i].b <== eq[59][i].out; + multi_or[58][i] = MultiOR(6); + multi_or[58][i].in[0] <== and[249][i].out; + multi_or[58][i].in[1] <== and[250][i].out; + multi_or[58][i].in[2] <== and[251][i].out; + multi_or[58][i].in[3] <== and[252][i].out; + multi_or[58][i].in[4] <== and[253][i].out; + multi_or[58][i].in[5] <== and[254][i].out; + states[i+1][71] <== multi_or[58][i].out; + and[255][i] = AND(); + and[255][i].a <== states[i][64]; + and[255][i].b <== multi_or[14][i].out; + and[256][i] = AND(); + and[256][i].a <== states[i][65]; + and[256][i].b <== multi_or[14][i].out; + and[257][i] = AND(); + and[257][i].a <== states[i][66]; + and[257][i].b <== multi_or[14][i].out; + and[258][i] = AND(); + and[258][i].a <== states[i][74]; + and[258][i].b <== multi_or[14][i].out; + and[259][i] = AND(); + and[259][i].a <== states[i][75]; + and[259][i].b <== multi_or[14][i].out; + and[260][i] = AND(); + and[260][i].a <== states[i][76]; + and[260][i].b <== multi_or[14][i].out; + multi_or[59][i] = MultiOR(6); + multi_or[59][i].in[0] <== and[255][i].out; + multi_or[59][i].in[1] <== and[256][i].out; + multi_or[59][i].in[2] <== and[257][i].out; + multi_or[59][i].in[3] <== and[258][i].out; + multi_or[59][i].in[4] <== and[259][i].out; + multi_or[59][i].in[5] <== and[260][i].out; + states[i+1][72] <== multi_or[59][i].out; + and[261][i] = AND(); + and[261][i].a <== states[i][64]; + and[261][i].b <== eq[63][i].out; + and[262][i] = AND(); + and[262][i].a <== states[i][65]; + and[262][i].b <== eq[63][i].out; + and[263][i] = AND(); + and[263][i].a <== states[i][66]; + and[263][i].b <== eq[63][i].out; + and[264][i] = AND(); + and[264][i].a <== states[i][74]; + and[264][i].b <== eq[63][i].out; + and[265][i] = AND(); + and[265][i].a <== states[i][75]; + and[265][i].b <== eq[63][i].out; + and[266][i] = AND(); + and[266][i].a <== states[i][76]; + and[266][i].b <== eq[63][i].out; + multi_or[60][i] = MultiOR(6); + multi_or[60][i].in[0] <== and[261][i].out; + multi_or[60][i].in[1] <== and[262][i].out; + multi_or[60][i].in[2] <== and[263][i].out; + multi_or[60][i].in[3] <== and[264][i].out; + multi_or[60][i].in[4] <== and[265][i].out; + multi_or[60][i].in[5] <== and[266][i].out; + states[i+1][73] <== multi_or[60][i].out; + and[267][i] = AND(); + and[267][i].a <== states[i][65]; + and[267][i].b <== eq[1][i].out; + states[i+1][74] <== and[267][i].out; + and[268][i] = AND(); + and[268][i].a <== states[i][74]; + and[268][i].b <== eq[2][i].out; + states[i+1][75] <== and[268][i].out; + and[269][i] = AND(); + and[269][i].a <== states[i][75]; + and[269][i].b <== eq[3][i].out; + states[i+1][76] <== and[269][i].out; + and[270][i] = AND(); + and[270][i].a <== states[i][76]; + and[270][i].b <== eq[67][i].out; + states[i+1][77] <== and[270][i].out; + from_zero_enabled[i] <== MultiNOR(77)([states_tmp[i+1][1], states[i+1][2], states[i+1][3], states[i+1][4], states[i+1][5], states[i+1][6], states[i+1][7], states[i+1][8], states[i+1][9], states[i+1][10], states[i+1][11], states[i+1][12], states[i+1][13], states[i+1][14], states[i+1][15], states[i+1][16], states[i+1][17], states[i+1][18], states[i+1][19], states[i+1][20], states[i+1][21], states[i+1][22], states[i+1][23], states[i+1][24], states[i+1][25], states[i+1][26], states[i+1][27], states[i+1][28], states[i+1][29], states[i+1][30], states[i+1][31], states[i+1][32], states[i+1][33], states[i+1][34], states[i+1][35], states[i+1][36], states[i+1][37], states[i+1][38], states[i+1][39], states[i+1][40], states[i+1][41], states[i+1][42], states[i+1][43], states[i+1][44], states[i+1][45], states[i+1][46], states[i+1][47], states[i+1][48], states[i+1][49], states[i+1][50], states[i+1][51], states[i+1][52], states[i+1][53], states[i+1][54], states[i+1][55], states[i+1][56], states[i+1][57], states[i+1][58], states[i+1][59], states[i+1][60], states[i+1][61], states[i+1][62], states[i+1][63], states[i+1][64], states[i+1][65], states[i+1][66], states[i+1][67], states[i+1][68], states[i+1][69], states[i+1][70], states[i+1][71], states[i+1][72], states[i+1][73], states[i+1][74], states[i+1][75], states[i+1][76], states[i+1][77]]); states[i+1][1] <== MultiOR(2)([states_tmp[i+1][1], from_zero_enabled[i] * and[0][i].out]); state_changed[i].in[0] <== states[i+1][1]; state_changed[i].in[1] <== states[i+1][2]; @@ -613,51 +1810,92 @@ template CommandRegex(msg_bytes) { state_changed[i].in[33] <== states[i+1][34]; state_changed[i].in[34] <== states[i+1][35]; state_changed[i].in[35] <== states[i+1][36]; + state_changed[i].in[36] <== states[i+1][37]; + state_changed[i].in[37] <== states[i+1][38]; + state_changed[i].in[38] <== states[i+1][39]; + state_changed[i].in[39] <== states[i+1][40]; + state_changed[i].in[40] <== states[i+1][41]; + state_changed[i].in[41] <== states[i+1][42]; + state_changed[i].in[42] <== states[i+1][43]; + state_changed[i].in[43] <== states[i+1][44]; + state_changed[i].in[44] <== states[i+1][45]; + state_changed[i].in[45] <== states[i+1][46]; + state_changed[i].in[46] <== states[i+1][47]; + state_changed[i].in[47] <== states[i+1][48]; + state_changed[i].in[48] <== states[i+1][49]; + state_changed[i].in[49] <== states[i+1][50]; + state_changed[i].in[50] <== states[i+1][51]; + state_changed[i].in[51] <== states[i+1][52]; + state_changed[i].in[52] <== states[i+1][53]; + state_changed[i].in[53] <== states[i+1][54]; + state_changed[i].in[54] <== states[i+1][55]; + state_changed[i].in[55] <== states[i+1][56]; + state_changed[i].in[56] <== states[i+1][57]; + state_changed[i].in[57] <== states[i+1][58]; + state_changed[i].in[58] <== states[i+1][59]; + state_changed[i].in[59] <== states[i+1][60]; + state_changed[i].in[60] <== states[i+1][61]; + state_changed[i].in[61] <== states[i+1][62]; + state_changed[i].in[62] <== states[i+1][63]; + state_changed[i].in[63] <== states[i+1][64]; + state_changed[i].in[64] <== states[i+1][65]; + state_changed[i].in[65] <== states[i+1][66]; + state_changed[i].in[66] <== states[i+1][67]; + state_changed[i].in[67] <== states[i+1][68]; + state_changed[i].in[68] <== states[i+1][69]; + state_changed[i].in[69] <== states[i+1][70]; + state_changed[i].in[70] <== states[i+1][71]; + state_changed[i].in[71] <== states[i+1][72]; + state_changed[i].in[72] <== states[i+1][73]; + state_changed[i].in[73] <== states[i+1][74]; + state_changed[i].in[74] <== states[i+1][75]; + state_changed[i].in[75] <== states[i+1][76]; + state_changed[i].in[76] <== states[i+1][77]; } component is_accepted = MultiOR(num_bytes+1); for (var i = 0; i <= num_bytes; i++) { - is_accepted.in[i] <== states[i][36]; + is_accepted.in[i] <== states[i][77]; } out <== is_accepted.out; signal is_consecutive[msg_bytes+1][3]; is_consecutive[msg_bytes][2] <== 0; for (var i = 0; i < msg_bytes; i++) { - is_consecutive[msg_bytes-1-i][0] <== states[num_bytes-i][36] * (1 - is_consecutive[msg_bytes-i][2]) + is_consecutive[msg_bytes-i][2]; + is_consecutive[msg_bytes-1-i][0] <== states[num_bytes-i][77] * (1 - is_consecutive[msg_bytes-i][2]) + is_consecutive[msg_bytes-i][2]; is_consecutive[msg_bytes-1-i][1] <== state_changed[msg_bytes-i].out * is_consecutive[msg_bytes-1-i][0]; - is_consecutive[msg_bytes-1-i][2] <== ORAnd()([(1 - from_zero_enabled[msg_bytes-i+1]), states[num_bytes-i][36], is_consecutive[msg_bytes-1-i][1]]); + is_consecutive[msg_bytes-1-i][2] <== ORAnd()([(1 - from_zero_enabled[msg_bytes-i+1]), states[num_bytes-i][77], is_consecutive[msg_bytes-1-i][1]]); } - // substrings calculated: [{(15, 16), (15, 17), (15, 18), (15, 19), (15, 20), (15, 21), (15, 22), (15, 23), (16, 16), (16, 17), (16, 18), (16, 19), (16, 20), (16, 21), (16, 22), (16, 23), (17, 16), (18, 17), (19, 17), (20, 17), (21, 19), (22, 19), (23, 19)}] + // substrings calculated: [{(39, 56), (39, 57), (39, 58), (39, 59), (39, 60), (39, 61), (39, 62), (39, 63), (56, 56), (56, 57), (56, 58), (56, 59), (56, 60), (56, 61), (56, 62), (56, 63), (57, 56), (58, 57), (59, 57), (60, 57), (61, 59), (62, 59), (63, 59)}] signal prev_states0[23][msg_bytes]; signal is_substr0[msg_bytes]; signal is_reveal0[msg_bytes]; signal output reveal0[msg_bytes]; for (var i = 0; i < msg_bytes; i++) { - // the 0-th substring transitions: [(15, 16), (15, 17), (15, 18), (15, 19), (15, 20), (15, 21), (15, 22), (15, 23), (16, 16), (16, 17), (16, 18), (16, 19), (16, 20), (16, 21), (16, 22), (16, 23), (17, 16), (18, 17), (19, 17), (20, 17), (21, 19), (22, 19), (23, 19)] - prev_states0[0][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[1][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[2][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[3][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[4][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[5][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[6][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[7][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][15]; - prev_states0[8][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[9][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[10][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[11][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[12][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[13][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[14][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[15][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][16]; - prev_states0[16][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][17]; - prev_states0[17][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][18]; - prev_states0[18][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][19]; - prev_states0[19][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][20]; - prev_states0[20][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][21]; - prev_states0[21][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][22]; - prev_states0[22][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][23]; - is_substr0[i] <== MultiOR(23)([prev_states0[0][i] * states[i+2][16], prev_states0[1][i] * states[i+2][17], prev_states0[2][i] * states[i+2][18], prev_states0[3][i] * states[i+2][19], prev_states0[4][i] * states[i+2][20], prev_states0[5][i] * states[i+2][21], prev_states0[6][i] * states[i+2][22], prev_states0[7][i] * states[i+2][23], prev_states0[8][i] * states[i+2][16], prev_states0[9][i] * states[i+2][17], prev_states0[10][i] * states[i+2][18], prev_states0[11][i] * states[i+2][19], prev_states0[12][i] * states[i+2][20], prev_states0[13][i] * states[i+2][21], prev_states0[14][i] * states[i+2][22], prev_states0[15][i] * states[i+2][23], prev_states0[16][i] * states[i+2][16], prev_states0[17][i] * states[i+2][17], prev_states0[18][i] * states[i+2][17], prev_states0[19][i] * states[i+2][17], prev_states0[20][i] * states[i+2][19], prev_states0[21][i] * states[i+2][19], prev_states0[22][i] * states[i+2][19]]); + // the 0-th substring transitions: [(39, 56), (39, 57), (39, 58), (39, 59), (39, 60), (39, 61), (39, 62), (39, 63), (56, 56), (56, 57), (56, 58), (56, 59), (56, 60), (56, 61), (56, 62), (56, 63), (57, 56), (58, 57), (59, 57), (60, 57), (61, 59), (62, 59), (63, 59)] + prev_states0[0][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[1][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[2][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[3][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[4][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[5][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[6][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[7][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][39]; + prev_states0[8][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[9][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[10][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[11][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[12][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[13][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[14][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[15][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][56]; + prev_states0[16][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][57]; + prev_states0[17][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][58]; + prev_states0[18][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][59]; + prev_states0[19][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][60]; + prev_states0[20][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][61]; + prev_states0[21][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][62]; + prev_states0[22][i] <== (1 - from_zero_enabled[i+1]) * states[i+1][63]; + is_substr0[i] <== MultiOR(23)([prev_states0[0][i] * states[i+2][56], prev_states0[1][i] * states[i+2][57], prev_states0[2][i] * states[i+2][58], prev_states0[3][i] * states[i+2][59], prev_states0[4][i] * states[i+2][60], prev_states0[5][i] * states[i+2][61], prev_states0[6][i] * states[i+2][62], prev_states0[7][i] * states[i+2][63], prev_states0[8][i] * states[i+2][56], prev_states0[9][i] * states[i+2][57], prev_states0[10][i] * states[i+2][58], prev_states0[11][i] * states[i+2][59], prev_states0[12][i] * states[i+2][60], prev_states0[13][i] * states[i+2][61], prev_states0[14][i] * states[i+2][62], prev_states0[15][i] * states[i+2][63], prev_states0[16][i] * states[i+2][56], prev_states0[17][i] * states[i+2][57], prev_states0[18][i] * states[i+2][57], prev_states0[19][i] * states[i+2][57], prev_states0[20][i] * states[i+2][59], prev_states0[21][i] * states[i+2][59], prev_states0[22][i] * states[i+2][59]]); is_reveal0[i] <== MultiAND(3)([out, is_substr0[i], is_consecutive[i][2]]); reveal0[i] <== in[i+1] * is_reveal0[i]; } diff --git a/packages/circuits/tests/circuits/test_email_auth.circom b/packages/circuits/tests/circuits/test_email_auth.circom index 1d0b1f88..74510d0b 100644 --- a/packages/circuits/tests/circuits/test_email_auth.circom +++ b/packages/circuits/tests/circuits/test_email_auth.circom @@ -2,4 +2,4 @@ pragma circom 2.1.6; include "../../src/email_auth_template.circom"; -component main = EmailAuth(121, 17, 768, 768, 605, 0, 1); \ No newline at end of file +component main = EmailAuth(121, 17, 640, 768, 605, 0, 1); \ No newline at end of file diff --git a/packages/circuits/tests/email_auth.test.ts b/packages/circuits/tests/email_auth.test.ts index 8530991d..737c7167 100644 --- a/packages/circuits/tests/email_auth.test.ts +++ b/packages/circuits/tests/email_auth.test.ts @@ -12,7 +12,8 @@ const option = { recompile: true, }; -const shaPrecomputeSelector = '\\\[zkemail-begin\\\]'; +const shaPrecomputeSelector = '
]*>(<[^<>]+>)*[^<>/]+(<[^<>]+>)*
'; + jest.setTimeout(1440000); describe("Email Auth", () => { let circuit; @@ -35,12 +36,12 @@ describe("Email Auth", () => { const emailRaw = readFileSync(emailFilePath, "utf8"); const parsedEmail = await relayerUtils.parseEmail(emailRaw); - console.log(parsedEmail); const accountCode = await relayerUtils.generateAccountCode(); const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -68,7 +69,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798639); + const timestamp = BigInt(1729865810); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = "Send 0.1 ETH to "; @@ -105,7 +106,8 @@ describe("Email Auth", () => { const accountCode = await relayerUtils.generateAccountCode(); const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -133,7 +135,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798636); + const timestamp = BigInt(1729865832); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = "Swap 1 ETH to DAI"; @@ -171,7 +173,8 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -199,7 +202,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798632); + const timestamp = BigInt(1729866032); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = "Send 1 ETH to "; @@ -237,7 +240,8 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -265,7 +269,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798624); + const timestamp = BigInt(1729866112); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = "Send 1 ETH to "; @@ -304,7 +308,8 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -332,7 +337,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798620); + const timestamp = BigInt(1729866146); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = @@ -371,7 +376,8 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -399,7 +405,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798645); + const timestamp = BigInt(1729866214); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = @@ -432,12 +438,14 @@ describe("Email Auth", () => { ); const emailRaw = readFileSync(emailFilePath, "utf8"); const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = "0x01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76"; const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, + maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -465,7 +473,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798642); + const timestamp = BigInt(1729866476); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = @@ -503,7 +511,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -531,7 +539,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798629); + const timestamp = BigInt(1736157561); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = @@ -570,7 +578,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -598,7 +606,7 @@ describe("Email Auth", () => { witness[1 + domainFields.length + 1] ); - const timestamp = BigInt(1734798617); + const timestamp = BigInt(1736157558); expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); const maskedCommand = @@ -635,7 +643,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, @@ -659,7 +667,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, @@ -683,7 +691,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, @@ -707,7 +715,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -730,7 +738,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); @@ -752,7 +760,7 @@ describe("Email Auth", () => { const circuitInputs = await genEmailCircuitInput(emailFilePath, accountCode, { - maxHeaderLength: 768, maxBodyLength: 768, + maxHeaderLength: 640, maxBodyLength: 768, ignoreBodyHashCheck: false, shaPrecomputeSelector, }); diff --git a/packages/circuits/tests/emai_auth_legacy_recipient.test.ts b/packages/circuits/tests/email_auth_legacy_recipient.test.ts similarity index 100% rename from packages/circuits/tests/emai_auth_legacy_recipient.test.ts rename to packages/circuits/tests/email_auth_legacy_recipient.test.ts diff --git a/packages/circuits/tests/email_auth_production.test.ts b/packages/circuits/tests/email_auth_production.test.ts index 5b8a5dcd..31087d77 100644 --- a/packages/circuits/tests/email_auth_production.test.ts +++ b/packages/circuits/tests/email_auth_production.test.ts @@ -12,7 +12,7 @@ const option = { output: path.join(__dirname, "../build"), recompile: true, }; -const shaPrecomputeSelector = '\\\[zkemail-begin\\\]'; +const shaPrecomputeSelector = '
]*>[^<>/]+
'; jest.setTimeout(1440000); describe("Email Auth Production", () => { @@ -28,7 +28,354 @@ describe("Email Auth Production", () => { await init(); }); - // it("Verify a production email for recovery sent from mobile with the English setting", async () => { + it("Verify a production email for recovery sent from mobile with the English setting", async () => { + const emailFilePath = path.join( + __dirname, + "./emails/recovery_gmail_english_mobile.eml" + ); + + const emailRaw = readFileSync(emailFilePath, "utf8"); + const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = + "0x276695464b95b7401535c10a28f804e9c158732fb9e5d974325b498e05cafe7e"; + + const circuitInputs = + await genEmailCircuitInput(emailFilePath, accountCode, { + maxHeaderLength: 1024, + maxBodyLength: 1024, + ignoreBodyHashCheck: false, + shaPrecomputeSelector: '(<(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)? (=\r\n)?i(=\r\n)?d(=\r\n)?=3D(=\r\n)?"(=\r\n)?[^"]*(=\r\n)?z(=\r\n)?k(=\r\n)?e(=\r\n)?m(=\r\n)?a(=\r\n)?i(=\r\n)?l(=\r\n)?[^"]*(=\r\n)?"(=\r\n)?[^>]*(=\r\n)?>(=\r\n)?)(=\r\n)?([^<>/]+)(<(=\r\n)?/(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)?>(=\r\n)?)', + }); + console.log(circuitInputs); + const witness = await circuit.calculateWitness(circuitInputs); + await circuit.checkConstraints(witness); + + const domainName = "gmail.com"; + const paddedDomain = relayerUtils.padString(domainName, 255); + const domainFields = await relayerUtils.bytesToFields(paddedDomain); + for (let idx = 0; idx < domainFields.length; ++idx) { + expect(BigInt(domainFields[idx])).toEqual(witness[1 + idx]); + } + + const expectedPubKeyHash = await relayerUtils.publicKeyHash( + parsedEmail.publicKey + ); + expect(BigInt(expectedPubKeyHash)).toEqual( + witness[1 + domainFields.length] + ); + + const expectedEmailNullifier = await relayerUtils.emailNullifier( + parsedEmail.signature + ); + expect(BigInt(expectedEmailNullifier)).toEqual( + witness[1 + domainFields.length + 1] + ); + + const timestamp = BigInt(1733834024); + expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); + + const maskedCommand = "Accept guardian request for 0xAc09b60d0BD4370545F1f56dB21cd33606c1F201"; + const paddedMaskedCommand = relayerUtils.padString(maskedCommand, 605); + const maskedCommandFields = + await relayerUtils.bytesToFields(paddedMaskedCommand); + for (let idx = 0; idx < maskedCommandFields.length; ++idx) { + expect(BigInt(maskedCommandFields[idx])).toEqual( + witness[1 + domainFields.length + 3 + idx] + ); + } + + const fromAddr = "clavertest1@gmail.com"; + const accountSalt = await relayerUtils.generateAccountSalt(fromAddr, accountCode); + expect(BigInt(accountSalt)).toEqual( + witness[1 + domainFields.length + 3 + maskedCommandFields.length] + ); + + expect(BigInt(1)).toEqual( + witness[ + 1 + domainFields.length + 3 + maskedCommandFields.length + 1 + ] + ); + }); + + + it("Verify a production email for recovery sent from PC with the English setting", async () => { + const emailFilePath = path.join( + __dirname, + "./emails/recovery_gmail_english_pc.eml" + ); + + const emailRaw = readFileSync(emailFilePath, "utf8"); + const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = + "0x2cf32a52285eb1f62fabeeb143e91314d1d2f8df39e572e26f19d6c9fd301a28"; + + const circuitInputs = + await genEmailCircuitInput(emailFilePath, accountCode, { + maxHeaderLength: 1024, + maxBodyLength: 1024, + ignoreBodyHashCheck: false, + shaPrecomputeSelector: '(<(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)? (=\r\n)?i(=\r\n)?d(=\r\n)?=3D(=\r\n)?"(=\r\n)?[^"]*(=\r\n)?z(=\r\n)?k(=\r\n)?e(=\r\n)?m(=\r\n)?a(=\r\n)?i(=\r\n)?l(=\r\n)?[^"]*(=\r\n)?"(=\r\n)?[^>]*(=\r\n)?>(=\r\n)?)(=\r\n)?([^<>/]+)(<(=\r\n)?/(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)?>(=\r\n)?)', + }); + console.log(circuitInputs); + const witness = await circuit.calculateWitness(circuitInputs); + await circuit.checkConstraints(witness); + + const domainName = "gmail.com"; + const paddedDomain = relayerUtils.padString(domainName, 255); + const domainFields = await relayerUtils.bytesToFields(paddedDomain); + for (let idx = 0; idx < domainFields.length; ++idx) { + expect(BigInt(domainFields[idx])).toEqual(witness[1 + idx]); + } + + const expectedPubKeyHash = await relayerUtils.publicKeyHash( + parsedEmail.publicKey + ); + expect(BigInt(expectedPubKeyHash)).toEqual( + witness[1 + domainFields.length] + ); + + const expectedEmailNullifier = await relayerUtils.emailNullifier( + parsedEmail.signature + ); + expect(BigInt(expectedEmailNullifier)).toEqual( + witness[1 + domainFields.length + 1] + ); + + const timestamp = BigInt(1733832799); + expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); + + const maskedCommand = "Accept guardian request for 0xAc09b60d0BD4370545F1f56dB21cd33606c1F201"; + const paddedMaskedCommand = relayerUtils.padString(maskedCommand, 605); + const maskedCommandFields = + await relayerUtils.bytesToFields(paddedMaskedCommand); + for (let idx = 0; idx < maskedCommandFields.length; ++idx) { + expect(BigInt(maskedCommandFields[idx])).toEqual( + witness[1 + domainFields.length + 3 + idx] + ); + } + + const fromAddr = "clavertest1@gmail.com"; + const accountSalt = await relayerUtils.generateAccountSalt(fromAddr, accountCode); + expect(BigInt(accountSalt)).toEqual( + witness[1 + domainFields.length + 3 + maskedCommandFields.length] + ); + + expect(BigInt(1)).toEqual( + witness[ + 1 + domainFields.length + 3 + maskedCommandFields.length + 1 + ] + ); + }); + + it("Verify a production email for recovery sent from mobile with the Turkish setting", async () => { + const emailFilePath = path.join( + __dirname, + "./emails/recovery_gmail_turkish_mobile.eml" + ); + + const emailRaw = readFileSync(emailFilePath, "utf8"); + const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = + "0x207c337c09f4196dac142567a9e0ddc955b89b42ce30aae71806a6a5c8626570"; + + const circuitInputs = + await genEmailCircuitInput(emailFilePath, accountCode, { + maxHeaderLength: 1024, + maxBodyLength: 1024, + ignoreBodyHashCheck: false, + shaPrecomputeSelector: '(<(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)? (=\r\n)?i(=\r\n)?d(=\r\n)?=3D(=\r\n)?"(=\r\n)?[^"]*(=\r\n)?z(=\r\n)?k(=\r\n)?e(=\r\n)?m(=\r\n)?a(=\r\n)?i(=\r\n)?l(=\r\n)?[^"]*(=\r\n)?"(=\r\n)?[^>]*(=\r\n)?>(=\r\n)?)(=\r\n)?([^<>/]+)(<(=\r\n)?/(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)?>(=\r\n)?)', + }); + console.log(circuitInputs); + const witness = await circuit.calculateWitness(circuitInputs); + await circuit.checkConstraints(witness); + + const domainName = "gmail.com"; + const paddedDomain = relayerUtils.padString(domainName, 255); + const domainFields = await relayerUtils.bytesToFields(paddedDomain); + for (let idx = 0; idx < domainFields.length; ++idx) { + expect(BigInt(domainFields[idx])).toEqual(witness[1 + idx]); + } + + const expectedPubKeyHash = await relayerUtils.publicKeyHash( + parsedEmail.publicKey + ); + expect(BigInt(expectedPubKeyHash)).toEqual( + witness[1 + domainFields.length] + ); + + const expectedEmailNullifier = await relayerUtils.emailNullifier( + parsedEmail.signature + ); + expect(BigInt(expectedEmailNullifier)).toEqual( + witness[1 + domainFields.length + 1] + ); + + const timestamp = BigInt(1733834333); + expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); + + const maskedCommand = "Accept guardian request for 0xAc09b60d0BD4370545F1f56dB21cd33606c1F201"; + const paddedMaskedCommand = relayerUtils.padString(maskedCommand, 605); + const maskedCommandFields = + await relayerUtils.bytesToFields(paddedMaskedCommand); + for (let idx = 0; idx < maskedCommandFields.length; ++idx) { + expect(BigInt(maskedCommandFields[idx])).toEqual( + witness[1 + domainFields.length + 3 + idx] + ); + } + + const fromAddr = "clavertest1@gmail.com"; + const accountSalt = await relayerUtils.generateAccountSalt(fromAddr, accountCode); + expect(BigInt(accountSalt)).toEqual( + witness[1 + domainFields.length + 3 + maskedCommandFields.length] + ); + + expect(BigInt(1)).toEqual( + witness[ + 1 + domainFields.length + 3 + maskedCommandFields.length + 1 + ] + ); + }); + + it("Verify a production email for recovery sent from PC with the Turkish setting", async () => { + const emailFilePath = path.join( + __dirname, + "./emails/recovery_gmail_turkish_pc.eml" + ); + + const emailRaw = readFileSync(emailFilePath, "utf8"); + const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = + "0x2ea2aea6391028aa5e1c5a8b1de277ba6b2d04b1a2da0bef66d3311ab2679347"; + + const circuitInputs = + await genEmailCircuitInput(emailFilePath, accountCode, { + maxHeaderLength: 1024, + maxBodyLength: 1024, + ignoreBodyHashCheck: false, + shaPrecomputeSelector: '(<(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)? (=\r\n)?i(=\r\n)?d(=\r\n)?=3D(=\r\n)?"(=\r\n)?[^"]*(=\r\n)?z(=\r\n)?k(=\r\n)?e(=\r\n)?m(=\r\n)?a(=\r\n)?i(=\r\n)?l(=\r\n)?[^"]*(=\r\n)?"(=\r\n)?[^>]*(=\r\n)?>(=\r\n)?)(=\r\n)?([^<>/]+)(<(=\r\n)?/(=\r\n)?d(=\r\n)?i(=\r\n)?v(=\r\n)?>(=\r\n)?)', + }); + console.log(circuitInputs); + const witness = await circuit.calculateWitness(circuitInputs); + await circuit.checkConstraints(witness); + + const domainName = "gmail.com"; + const paddedDomain = relayerUtils.padString(domainName, 255); + const domainFields = await relayerUtils.bytesToFields(paddedDomain); + for (let idx = 0; idx < domainFields.length; ++idx) { + expect(BigInt(domainFields[idx])).toEqual(witness[1 + idx]); + } + + const expectedPubKeyHash = await relayerUtils.publicKeyHash( + parsedEmail.publicKey + ); + expect(BigInt(expectedPubKeyHash)).toEqual( + witness[1 + domainFields.length] + ); + + const expectedEmailNullifier = await relayerUtils.emailNullifier( + parsedEmail.signature + ); + expect(BigInt(expectedEmailNullifier)).toEqual( + witness[1 + domainFields.length + 1] + ); + + const timestamp = BigInt(1733834168); + expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); + + const maskedCommand = "Accept guardian request for 0xAc09b60d0BD4370545F1f56dB21cd33606c1F201"; + const paddedMaskedCommand = relayerUtils.padString(maskedCommand, 605); + const maskedCommandFields = + await relayerUtils.bytesToFields(paddedMaskedCommand); + for (let idx = 0; idx < maskedCommandFields.length; ++idx) { + expect(BigInt(maskedCommandFields[idx])).toEqual( + witness[1 + domainFields.length + 3 + idx] + ); + } + + const fromAddr = "clavertest1@gmail.com"; + const accountSalt = await relayerUtils.generateAccountSalt(fromAddr, accountCode); + expect(BigInt(accountSalt)).toEqual( + witness[1 + domainFields.length + 3 + maskedCommandFields.length] + ); + + expect(BigInt(1)).toEqual( + witness[ + 1 + domainFields.length + 3 + maskedCommandFields.length + 1 + ] + ); + }); + + it("Verify a production email for recovery sent from apple email mobile", async () => { + const emailFilePath = path.join( + __dirname, + "./emails/recovery_gmail_from_apple_mail.eml" + ); + + const emailRaw = readFileSync(emailFilePath, "utf8"); + const parsedEmail = await relayerUtils.parseEmail(emailRaw); + const accountCode = + "0x1162ebff40918afe5305e68396f0283eb675901d0387f97d21928d423aaa0b20"; + + const circuitInputs = + await genEmailCircuitInput(emailFilePath, accountCode, { + maxHeaderLength: 1024, + maxBodyLength: 1024, + ignoreBodyHashCheck: false, + shaPrecomputeSelector + }); + console.log(circuitInputs); + + const witness = await circuit.calculateWitness(circuitInputs); + await circuit.checkConstraints(witness); + + const domainName = "gmail.com"; + const paddedDomain = relayerUtils.padString(domainName, 255); + const domainFields = await relayerUtils.bytesToFields(paddedDomain); + for (let idx = 0; idx < domainFields.length; ++idx) { + expect(BigInt(domainFields[idx])).toEqual(witness[1 + idx]); + } + + const expectedPubKeyHash = await relayerUtils.publicKeyHash( + parsedEmail.publicKey + ); + expect(BigInt(expectedPubKeyHash)).toEqual( + witness[1 + domainFields.length] + ); + + const expectedEmailNullifier = await relayerUtils.emailNullifier( + parsedEmail.signature + ); + expect(BigInt(expectedEmailNullifier)).toEqual( + witness[1 + domainFields.length + 1] + ); + + const timestamp = BigInt(1735305312); + expect(timestamp).toEqual(witness[1 + domainFields.length + 2]); + + const maskedCommand = "Accept guardian request for 0x952541bDfe8aae3805D5b9A37D5Ae5e1EE68346f"; + const paddedMaskedCommand = relayerUtils.padString(maskedCommand, 605); + const maskedCommandFields = + await relayerUtils.bytesToFields(paddedMaskedCommand); + for (let idx = 0; idx < maskedCommandFields.length; ++idx) { + expect(BigInt(maskedCommandFields[idx])).toEqual( + witness[1 + domainFields.length + 3 + idx] + ); + } + + const fromAddr = "suegamisora@gmail.com"; + const accountSalt = await relayerUtils.generateAccountSalt(fromAddr, accountCode); + expect(BigInt(accountSalt)).toEqual( + witness[1 + domainFields.length + 3 + maskedCommandFields.length] + ); + + expect(BigInt(1)).toEqual( + witness[ + 1 + domainFields.length + 3 + maskedCommandFields.length + 1 + ] + ); + }); + + // it("Verify a production email for recovery sent from outlook pc with the English setting", async () => { // const emailFilePath = path.join( // __dirname, // "./emails/recovery_gmail_english_mobile.eml" diff --git a/packages/circuits/tests/emai_auth_recipient.test.ts b/packages/circuits/tests/email_auth_recipient.test.ts similarity index 100% rename from packages/circuits/tests/emai_auth_recipient.test.ts rename to packages/circuits/tests/email_auth_recipient.test.ts diff --git a/packages/circuits/tests/emails/email_auth_invalid_test1.eml b/packages/circuits/tests/emails/email_auth_invalid_test1.eml deleted file mode 100644 index 3995ef6d..00000000 --- a/packages/circuits/tests/emails/email_auth_invalid_test1.eml +++ /dev/null @@ -1,98 +0,0 @@ -Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1040892mdg; - Fri, 25 Oct 2024 07:41:04 -0700 (PDT) -X-Received: by 2002:a17:902:e544:b0:20c:9d8d:1f65 with SMTP id d9443c01a7336-20fb994d810mr79073695ad.30.1729867263878; - Fri, 25 Oct 2024 07:41:03 -0700 (PDT) -ARC-Seal: i=1; a=rsa-sha256; t=1729867263; cv=none; - d=google.com; s=arc-20240605; - b=b0Q+9VzThRKQBbRpT7G2X+gDYkjP4vahZQIixEMdVnxWwGAVh3MDAtAZScI7QoX3fZ - wZz3nlpP3F97+7AODdQushhfdgGFdFbcFj1wFHtT04UtJ1VFh5+q/FU1iPMV5ZgMU1dd - mJZi/tQY4KqZxFdtVDoRhfWd2Q/u8AClJOtb1DKS27AJiLOZABhAW6VH0g6mEq2ZVHq5 - A3RS/m6wIGZ7Zb6Xb2WeBB8zDGrtfd8+Iv66zGluLWsLiXgGfkm/Yyt7JYRYxZTgq66I - KwBGsNCq+9cCIlYftmEuh7jD5G6JqgE8zexVqPGO9iLmhARxIvjlDWaQgvuE2MLjVRcv - s2yg== -ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; - h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; - fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=V6CR8wcQVdOM9ceeY6DcVnqRKwxprp72sHSgeth+GC3oB6JThZqA6xdiGzja4RRdXg - LnAzvyEfKMYNsd9D1uDbxwnmk0Q7tNYcr8bdZ0IbXGvYeytxF0NkM5g3GtgZQBubazpw - hxH2hcn5ctoySQhMaUNpbdKnbeiYFaRSYt/re2ouwyWkVN+HUI2oyl+eveYOiCJcA3sj - CZHxlqT1ZwJ/k//QkaR+7WfRzMdjX0yHBK7GoI3aVUGyjNMAkJQwV3p1u0t6PjDvLAFt - rKH/wx10/V1YJDfw2UNmG2HmRAf6wCahN1rvAV1ZHdTII6DUV+iGA2Lx8JyI4ZEKzgc5 - SU2A==; - dara=google.com -ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; - spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; - dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; - dara=pass header.i=@gmail.com -Return-Path: -Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d9443c01a7336-210bbfaa9aesor9989655ad.11.2024.10.25.07.41.03 - for - (Google Transport Security); - Fri, 25 Oct 2024 07:41:03 -0700 (PDT) -Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; -Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; - spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; - dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; - dara=pass header.i=@gmail.com -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1729867263; x=1730472063; dara=google.com; - h=subject:to:from:mime-version:date:message-id:from:to:cc:subject - :date:message-id:reply-to; - bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; - b=HBr27x2lZpi95mQM2o50nym8vqklTpXkE9xwxYw85iJqLYn+gcA8dHPqSf9ylGppuP - nkhjLZ0zs0+AwJcylx+DWjN5O2SfCuG/fQjvVF3Ag7bVW/zNTDHR9yvwRi0g+93umVo2 - 4rZjVfLCK9xQFpXcQh6vmNfVMhIgTVLK8jJd6S9FlTUAJ+c7p8YcATUdi7JmWiS+xhhX - YQv353cN9lN5+KwRXQ+fy7HUr8V4dUmnfQbOZfFrfWq+IVWeBr/wd3dvhLX/D/NCS4eT - BYWVd/wxy87UowXzgxkaWEZvQuv3f8W2hy0N/rRIGwAXDYNGtkY2qy9jKShnsaTwtlQk - qXbw== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1729867263; x=1730472063; - h=subject:to:from:mime-version:date:message-id:x-gm-message-state - :from:to:cc:subject:date:message-id:reply-to; - bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; - b=PuMKz5sQ1iDTUhv9mI+RPC4IqR3/14ODfkScu+Q/TSKVnLo3Y0TqCf+WZZTsq09Zns - bBjmjVL5Rb9yd8wf0i+2JtzkA4bINTjH8flT/UoLa3HveMMH/HaLodRq3HUb5yS/wte9 - TCRdl3062NQIB631iA+M0xVUOsmvvV8jXappu11nHkl0/ZgRb7XPd8qa9PwHb7s/dzE6 - yuDyDmZXpZU6+mxOOf2RDlaCLXPa/UmQAV16MkngRfsCYF0y2nEIfpbZFl9QIbDbYFus - EPKU++6FQSa5QeXvGwI1k6TsSuyeP/fpNUtEVawPRnYlFAkUCvkg7pt/DtATtQ9bN6b8 - ihTQ== -X-Gm-Message-State: AOJu0YxfXANbbAXSeGAgpT+V7QvlqTiQJ2kBKVfNtApuF1IuThgpyA5f - PWDU649n5u/BUfgM2n0VjDSAnzAKoMBsA4k5rdL/Wq8s8txIU+K2A1HV8jyv -X-Google-Smtp-Source: AGHT+IFfMY0A/Nt6e8j11mefQBEn0hU/WB6YvijjE202nDyjVaWFjkR2TagHs4oR8GRebcMq93uWZA== -X-Received: by 2002:a17:902:db08:b0:20c:5cdd:a9e with SMTP id d9443c01a7336-20fb9949e31mr63347775ad.28.1729867263044; - Fri, 25 Oct 2024 07:41:03 -0700 (PDT) -Return-Path: -Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) - by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf6d6e7sm10039395ad.71.2024.10.25.07.41.00 - for - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Fri, 25 Oct 2024 07:41:01 -0700 (PDT) -Message-ID: <671badfd.170a0220.f37ed.3f59@mx.google.com> -Date: Fri, 25 Oct 2024 07:41:01 -0700 (PDT) -Content-Type: multipart/alternative; boundary="===============4967285061131455909==" -MIME-Version: 1.0 -From: "Alice" -To: suegamisora@gmail.com -Subject: Re: [Reply] Test Email Invalid - ---===============4967285061131455909== -Content-Type: text/html; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit - - - - -

Hello!

-

This is a test email with a basic HTML body.

-
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
-

Thank you!

- - - ---===============4967285061131455909==-- diff --git a/packages/circuits/tests/emails/email_auth_test1.eml b/packages/circuits/tests/emails/email_auth_test1.eml index 4568712a..8122adad 100644 --- a/packages/circuits/tests/emails/email_auth_test1.eml +++ b/packages/circuits/tests/emails/email_auth_test1.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133855mdb; - Sat, 21 Dec 2024 08:30:40 -0800 (PST) -X-Received: by 2002:a05:6a20:e68c:b0:1e1:c0db:1530 with SMTP id adf61e73a8af0-1e5e04584b6mr11200923637.6.1734798640229; - Sat, 21 Dec 2024 08:30:40 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798640; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1023651mdg; + Fri, 25 Oct 2024 07:16:51 -0700 (PDT) +X-Received: by 2002:a17:903:244d:b0:20b:ab74:f567 with SMTP id d9443c01a7336-20fb99499ddmr75139865ad.27.1729865811161; + Fri, 25 Oct 2024 07:16:51 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729865811; cv=none; d=google.com; s=arc-20240605; - b=kExKvyUEp1F2UpGi4wAm11enT+LQla4J3MfTU29oSXNvc1lfvoflEn++UaH4G2YzwP - pqur+YPjKKjlv2Wt/n3qDaOfiPrVR/d3jIXHsVTmausY5NRYWuXJ6gbBiDEEmwepP4Cl - Tdh/Gv+yxrV+ae3LExgIjWz9V64pEse+3V/EfitHWMssEVWzYcZIupRKrRDFmslvGYlf - T3wtyy0bgJXS6mc9FBxPRCbggh6573ELxtWyDfjes9+C9KZtY5PMwxCJgUB4RnKPlMyp - ZCcySkeKsuYJ2vFVzGvqQXqvm95p3x8vcUrNCwmW+GbQOET1d6lCrfl+yFb4mnxl9Qt0 - PQ/w== + b=d8XJK9+pZJCprUUbpInC0h6dOlNOgCMMU7te50Lh/0ZMCPWVEfOJ6T2N8EyOZ6/wFe + 4nCuvGy6G33+OHk+ESdd/URG/j2bY68eIxGI/U+gqzmqYIZZkQYYOrKeUIlC7VAbIyvy + fQlagnM7l37UqdMPCj+a6YeZoT196WBX9xNIUY3BIrbbT4yDguziAgbx3xbWeIyFwgw8 + 7AO5N4sxz6VQ10l1B2EhtEivAox4sWBQJihjzRoTcP7z2G9Zha4GtIzQWbMqqUZBTs2U + Y5qwW+TqljQsCJyINC2WTgqrN4tTv5hugYjFey3PDjfL/K0lausBbu7Uo71cqyXOKhgt + wtjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=2z4eRCmN7O7QAmsE6w3DGCJ5vufG41uQ5gsK2Pc9KGE=; + bh=bT/LDY81RpBFmXm/KMUR+NkKSYXPaNrvqUT6/P1bYwc=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=NkUsnfyxRsYYx+FyOxfi7nJSL9kx0+7UJTChsA0msdCGvY2e2SldJwkntlWLA1+w1a - v+ynXEa8bMIZMwmcgjxHNjeRRZkIm61k+W0aqqKyryzwayIS6Lyv7UahqSYTXvCzM3Oy - FRs4eN91pTfRrWxlNsuikTYxqSJdl4L9ocU6H3ItcTFq4iCdIW7PfdK9J+W96TTB9C8N - WXJwC1pyfzGfgEPUN2rssehZSKrsMx7tV5OwLSjvPxiwULaixDnwvH/7nP8JZHEE46gU - JtRl593fg+Z5iQZdY2a8qae8TNfnA/M9ii6j/Art/nMPyGyoDamkbnPW6CapZmmkzlVL - ShUw==; + b=CMD4Fa/nGqeNrJLbNhdRDAeriZ3SBBm050L0vv1IbPjFnwZA5W0hhaDSx0JKc1aDTA + vaR3LATyHM0+IkGTIivTKnlYVVn6wazIXblzc23bykU2Nl30ce+QuLBy4VlsD3ZPzHy2 + kva+s5Esh3YGfIicRxxe3fa7QOWldGvI1zBqRAkMkGhOakUyjMVsFIM1BYv2PS7bNo3Z + fj0HJTNdcsdNtanTQK8QzQnxxE7DikgvgwyLQbcx7JzSgipVS3ROm1Y/4NcOreDQ9pkf + kI7EQ2KyGOFBWexG13Cb3l2ZrKc83pZJlY3MGLpHRiUt90J/EN3tFLj+aPNnLm+TOYYH + prIA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=Y8444tSM; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=KIjQBw7z; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d2e1a72fcca58-72aad841441sor3172667b3a.1.2024.12.21.08.30.40 + by mx.google.com with SMTPS id d9443c01a7336-210bbfaa9aesor9660625ad.11.2024.10.25.07.16.51 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:40 -0800 (PST) + Fri, 25 Oct 2024 07:16:51 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=Y8444tSM; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=KIjQBw7z; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798639; x=1735403439; dara=google.com; + d=gmail.com; s=20230601; t=1729865810; x=1730470610; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=2z4eRCmN7O7QAmsE6w3DGCJ5vufG41uQ5gsK2Pc9KGE=; - b=Y8444tSM1NVvKXRkrx9jCJinA7l5CLV67OLu9CruFZ+ciKqG8d8KN0zIfZ5IeSac2b - SIxE8uZDYsgqGMXFThtYhvqTy3TV2uUN2DhYP+i6fdGbY0tXY7ds2Mtv/Dl6mc+cp+2y - yo+fd7BhP50rx02Gu93Zro6dGP47LuydXwxhCEb6IAnc074W+HmTi/XMIcr3ANojYIYe - LWy9XIyt+6Dt6EIRsDWTq0OLXrP3/MtuiLkGHnBqik7d+q0fTLbpbr+7zJIy1qostcEi - xlsNwWJ5J2y06UOjrS2mkWWKW2hB/reVGMip2by437cAb1b2FTTqZRXwBkwC3xH8KKeT - ssWQ== + bh=bT/LDY81RpBFmXm/KMUR+NkKSYXPaNrvqUT6/P1bYwc=; + b=KIjQBw7z7yB2LA/GAK2tZ0EFADBYU231VkXXkwjzQpcUwp0D7CKfO7f6olrFiP2/bI + 911tMT6S+t0NaKsG0C7iWiBmxp1bF34tF89K5VMRQaCG0mBxyJyxsrAVKc/grRdM1+qS + eWEQoRnbhjTJfN3MSd4Dp0gcwTgC3OnMTy5w4v0bD7XAeuxeBvTARnQYfMnesp+GWIpB + m6efm93+NDUHGoe2ouYsxbm2dONaC+F83OLNTp97v9sw3sjGVstJWgbBatKj3X72cc3e + 9an/zKXmn7MLdW0zqRMKx5uwIuyae3S7S8yAWk414H870TeJy/oqehA0LSWJ1Rw1Cqcw + Jjbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798639; x=1735403439; + d=1e100.net; s=20230601; t=1729865810; x=1730470610; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=2z4eRCmN7O7QAmsE6w3DGCJ5vufG41uQ5gsK2Pc9KGE=; - b=Y4RoEsJsrVooxDvY4sLvj3ELB6ZOO9RKecZ3P7epbipX42+Ur1f7rmk+mV9tZ9zEUC - /q6AdIGqZKsU/g90uiKAVT16pxKnCGsp7s3fFrH5voFu3Ztxr6DK2zal4kAkj7SO4dzT - hIyQkHsabwkjlunUoTNUhPEr4bFKtBzQHWdoiksdvs6sXCTvnISOij3WfNPFGV0TDEF9 - zgA8h7gNhcLFp31VeM31lMGeu01xiCQfiNChYOAS1M8lYnZ7JIWwL1AXPgsuCp8gtkA3 - FX3x26eWmkJdZ1DnupZA29o2TfAVW620MBjfZHdsMNTg7T9onFnHiN2/HgR789akBAPK - KXyw== -X-Gm-Message-State: AOJu0YzFcR2w1Nmob9qsr4bEjTUdB3cAL7WVDwDlUhc1cyH+Ns/PY/Ay - z2TSQ+UEA9e3+VH+yGTJJ3nVasFJD43dDTbiTDw4xCLA86J7K6YYpT2RW2gv -X-Gm-Gg: ASbGncuhl+f4JuHMlX6qYcIZrm8G1n/TEZ1xHvkJP+bvxODI2WL7ismdH4P5eA8FrSE - 17GsYJ2A1TcXO86Gv/7IMey4iT0DmfDfJgi+xSguzGgVeJ+3GQR33BwE8jt3uvOMuwBaFigPqvI - vb+One+1sgAaW8bkDPavkGsMC4MEcXiYqsPLT/s5cwnJKAg/CH0uuE8qv7JNYuCZQsZwYZzkTfq - QUANT3Jn7RbqXQgrxOYAb9O+Q90wcXnEExWnA11q0kUW9tt/HPmpQMQxJXFJnKvlYU+y8b1aQtu - IjZ7elEP4dWpBA== -X-Google-Smtp-Source: AGHT+IHr4b2MhZF3cP3b6hKyFfXEs6l7G1KPeSyHt8Pl0gWY4ak6bLJD10HC2oklKZweS0curgz5hA== -X-Received: by 2002:a05:6a20:431d:b0:1e1:bf3d:a190 with SMTP id adf61e73a8af0-1e5e080c83fmr11884177637.30.1734798639003; - Sat, 21 Dec 2024 08:30:39 -0800 (PST) + bh=bT/LDY81RpBFmXm/KMUR+NkKSYXPaNrvqUT6/P1bYwc=; + b=Sx1BnrCkJff3QLkebYj+smj3lYHAsST4bWFVoQXIYYiiDR39vOWpIiuYlrgqCfI/gX + SX5ExYx+3Y6WmqfXiwERdQsQd2UQEYNBC3qcTpJ8fm0OElP6yCvxIef8+AHNF++vLGQh + DdA81IXhMva4WSdCIGN9y9mGJwp1UKxM60wEOK2AglnIYcd+K/KWyh2DkHdTljpOR4V7 + gfxCwX0yZ14d8JtXHjeYZugbz9QbiCsFoSJew17BpfpWyzv92I/7tecJtAYGiz3kKCB8 + w65Tz5aB2AF8YVZHclCsgGVLVc/Wd2n8z06fBsuSL1TYSxvG902x6qlgCzyAkRRy3Cw5 + adZw== +X-Gm-Message-State: AOJu0Yzege80eQmzaDuEGfJewEgdtOZnkhsoPQpZHuc63ZJsQCB955XL + vNPtZqu56A1KLglV5v8x0ULFftfCuvZuC4wdXQoWKIEELaANrLvmocAh/Vsq +X-Google-Smtp-Source: AGHT+IGVSna3D/ryeT3DaYAkWN9xJSkDN3vpNVXO5Iyp9EOu95r/HH/C75oGKJyP2qCD7YUIiljNNw== +X-Received: by 2002:a17:903:228b:b0:20c:f856:a8ff with SMTP id d9443c01a7336-20fb9a81f02mr80275975ad.58.1729865810266; + Fri, 25 Oct 2024 07:16:50 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad830333sm4923308b3a.41.2024.12.21.08.30.37 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf4a21asm9792355ad.61.2024.10.25.07.16.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:38 -0800 (PST) -Message-ID: <6766ed2e.050a0220.1843f1.d965@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:38 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============4869138441289677085==" + Fri, 25 Oct 2024 07:16:49 -0700 (PDT) +Message-ID: <671ba851.170a0220.841e6.384e@mx.google.com> +Date: Fri, 25 Oct 2024 07:16:49 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============5778012197124243248==" MIME-Version: 1.0 From: emaiwallet.alice@gmail.com To: suegamisora@gmail.com Subject: [Reply Needed] Test Email 1 ---===============4869138441289677085== +--===============5778012197124243248== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Send 0.1 ETH to alice@gmail.com[zkemail-end]
+
Send 0.1 ETH to alice@gmail.com

Thank you!

---===============4869138441289677085==-- +--===============5778012197124243248==-- diff --git a/packages/circuits/tests/emails/email_auth_test10_invalid.eml b/packages/circuits/tests/emails/email_auth_test10_invalid.eml index 18252b5b..3995ef6d 100644 --- a/packages/circuits/tests/emails/email_auth_test10_invalid.eml +++ b/packages/circuits/tests/emails/email_auth_test10_invalid.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3737027mdb; - Sun, 22 Dec 2024 12:52:33 -0800 (PST) -X-Received: by 2002:a05:6a21:3993:b0:1e1:9b77:e237 with SMTP id adf61e73a8af0-1e5e081d6a8mr19889734637.40.1734900752935; - Sun, 22 Dec 2024 12:52:32 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734900752; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1040892mdg; + Fri, 25 Oct 2024 07:41:04 -0700 (PDT) +X-Received: by 2002:a17:902:e544:b0:20c:9d8d:1f65 with SMTP id d9443c01a7336-20fb994d810mr79073695ad.30.1729867263878; + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729867263; cv=none; d=google.com; s=arc-20240605; - b=Xq7a7qG/R0cCwP3fZNmJhcPXa/SH0B/hiFbEb7Wh7yh86utFbKxY9uxbMUhzJ8JzLD - lYjPCZgqw71us/sgw9hz9sULpdd15kgl8mrG99G34Wuoz1KoeaVzgYgxuApfU45IAJNs - MnSjYLjEQyiNY7sY42/kqeorrTiW9fPWb3gnVzoyRL0pbH3f80uWvfF5gGD3D5iq9JNs - XPcQtSsnaTSmQKnaiKROBUTtpig8TRBAVsxtFlDcvuZeE1MjSIm+n5jkhiOyjqUpvwaQ - g7pNxUXdBLLvnkz/2cWaymYTlAzNtzi4brbNHiRXSkHyx22s2/auLpOMqhrN/o7I5B5I - LrXA== + b=b0Q+9VzThRKQBbRpT7G2X+gDYkjP4vahZQIixEMdVnxWwGAVh3MDAtAZScI7QoX3fZ + wZz3nlpP3F97+7AODdQushhfdgGFdFbcFj1wFHtT04UtJ1VFh5+q/FU1iPMV5ZgMU1dd + mJZi/tQY4KqZxFdtVDoRhfWd2Q/u8AClJOtb1DKS27AJiLOZABhAW6VH0g6mEq2ZVHq5 + A3RS/m6wIGZ7Zb6Xb2WeBB8zDGrtfd8+Iv66zGluLWsLiXgGfkm/Yyt7JYRYxZTgq66I + KwBGsNCq+9cCIlYftmEuh7jD5G6JqgE8zexVqPGO9iLmhARxIvjlDWaQgvuE2MLjVRcv + s2yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=xEUmmZnvGxvWlI/9SEQ64aj0eFQbBMPtCeg/iUti6aQ=; + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=CcK2t8jujfgJKEHcjkDZlxHLK5ih6b0nyPRmLrSQxyFI1LRChJWOJvTJfK2a+vhmf6 - 13xv//GBftL/3tjKLD4DhWen5wnORVq3hGKmBQ0IMEe00OoV/uZwRk9CLRfpdKztNYAX - Ft0qhDka1PUmp4UVclMMm4JTIHYt2Y6INK+XGRV+W3qU7pTHX1pjXDL0jt4HncOsRqCK - +pxOJUHM9MxuHp+lfae6ggaoZS+MxhfSqKuqRoSn92/G3EOZ7qqMfsYpE4pAef84Sx7M - ZmgocMrreVsx5wJ1qlaIs3Oofz9lKtH/j6MMoKroSHyQdtohtFLjt5WUgCMMmuo1G+RB - EsLQ==; + b=V6CR8wcQVdOM9ceeY6DcVnqRKwxprp72sHSgeth+GC3oB6JThZqA6xdiGzja4RRdXg + LnAzvyEfKMYNsd9D1uDbxwnmk0Q7tNYcr8bdZ0IbXGvYeytxF0NkM5g3GtgZQBubazpw + hxH2hcn5ctoySQhMaUNpbdKnbeiYFaRSYt/re2ouwyWkVN+HUI2oyl+eveYOiCJcA3sj + CZHxlqT1ZwJ/k//QkaR+7WfRzMdjX0yHBK7GoI3aVUGyjNMAkJQwV3p1u0t6PjDvLAFt + rKH/wx10/V1YJDfw2UNmG2HmRAf6wCahN1rvAV1ZHdTII6DUV+iGA2Lx8JyI4ZEKzgc5 + SU2A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=NUOYxxOC; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d2e1a72fcca58-72aad6deae0sor6004144b3a.0.2024.12.22.12.52.32 + by mx.google.com with SMTPS id d9443c01a7336-210bbfaa9aesor9989655ad.11.2024.10.25.07.41.03 for (Google Transport Security); - Sun, 22 Dec 2024 12:52:32 -0800 (PST) + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=NUOYxxOC; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734900752; x=1735505552; dara=google.com; + d=gmail.com; s=20230601; t=1729867263; x=1730472063; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=xEUmmZnvGxvWlI/9SEQ64aj0eFQbBMPtCeg/iUti6aQ=; - b=NUOYxxOCZOuoS5DLwzeRYVFx2c7WhdX+EfJ0jSyXn3A5JE1yLsrkVxZFuILE1SfWhV - CENGUlRq+dvB3xfN8L9aXhOFZGTbn2mhDXGQN6XE+7y+rm8mh7BbL5wJiLLzKW6a3FN0 - oPm8HSwp2Gsm9XhTjliTSKZsazZBQcqgpEJE8uVuQjh9UKul8jsA9XHxummdTnn8MeLT - +QmwTcoMV/4bFqwlW3YDZxcXeYpWoWBOFRpybr7xT7q1+M9xwp0zyWMY20nmy8CdI6qa - 3PQkADjOOOVBFit4Ll85+A1CRUuCYKHc9l2QSmPfuaMH5QNW4BwcEb/7jOxsdtFY4uDx - ng+w== + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; + b=HBr27x2lZpi95mQM2o50nym8vqklTpXkE9xwxYw85iJqLYn+gcA8dHPqSf9ylGppuP + nkhjLZ0zs0+AwJcylx+DWjN5O2SfCuG/fQjvVF3Ag7bVW/zNTDHR9yvwRi0g+93umVo2 + 4rZjVfLCK9xQFpXcQh6vmNfVMhIgTVLK8jJd6S9FlTUAJ+c7p8YcATUdi7JmWiS+xhhX + YQv353cN9lN5+KwRXQ+fy7HUr8V4dUmnfQbOZfFrfWq+IVWeBr/wd3dvhLX/D/NCS4eT + BYWVd/wxy87UowXzgxkaWEZvQuv3f8W2hy0N/rRIGwAXDYNGtkY2qy9jKShnsaTwtlQk + qXbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734900752; x=1735505552; + d=1e100.net; s=20230601; t=1729867263; x=1730472063; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=xEUmmZnvGxvWlI/9SEQ64aj0eFQbBMPtCeg/iUti6aQ=; - b=uSmmSYPXgBdYFiLQYJRkcs83bojdFNqbPX1oMgDWVRMhfvGUIrgec7dsLn9/DmRFMt - 17vCKoJp185Gh5pnp9olboMLxDI3Opq8OrzOBvuyqZEuDlnvJk65IvOCY55tNB7mIdFK - e452CbG4g33ZZYSh1VFfPhcZQn5doZxslVnHjOmqa4JUZGZH0h3QbFDtiGs67XUtr0Un - ObvEoIZtTM/2Ifp2HEEIgDboHXw86n9ndtTj0SH64aaTA3tmbpVQSI2rSundK1geNqu2 - 1TH/dgO8Bpw474wQKbSVtNdwcxN4t0dbvxZBWGj/7ELdRO+omzvsa+mAFzzM7Q1grz05 - Anng== -X-Gm-Message-State: AOJu0YzI5oiUi3dz4VK/ia8FvASdugiQkpOUXJNEsBrJzW1MBMSSzkk5 - Rl5T43OQiDgcB8TqZkPVOUMUHa0HwcuDxUHzbL5HHmbPaOinjeO4ywr0YwpY -X-Gm-Gg: ASbGncs1ZafKdKc2fgSErek+u/Q/RDynLKQZgodxlxxLU1KfgMVoVXgSradmqrdOadD - Hac96dW67pNRtC1g5HpVo5A1pC6ugqlC7w3AG8+6yjPdXTh+MVYouQK+8bzxOf7iKgZlJnzq0tt - p90JmiY68IB4NhE799vpmzpqZGz4u+7/DHqzkOMk9ggifjhRbNV68/Vi8InbEm6YigukI2VBFi4 - iTVjXXXJS2hppnO1QZ8yhrGqbGsd4CSDnggV6RTTvzE/MEdfZDe1pW/Hj10RC9Ys8PiT7o5cCRT - fkK5C2B11FsXcqHl -X-Google-Smtp-Source: AGHT+IGcM1ar3ZWf+MQnhvOgxkkjYgQfRG7MN9GwSS+ADXuy4F3Chp+gRDytatXwQjwCq+1/5prpaw== -X-Received: by 2002:a05:6a20:7f82:b0:1e0:d575:8d4f with SMTP id adf61e73a8af0-1e5e081c5acmr17340439637.37.1734900752126; - Sun, 22 Dec 2024 12:52:32 -0800 (PST) + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; + b=PuMKz5sQ1iDTUhv9mI+RPC4IqR3/14ODfkScu+Q/TSKVnLo3Y0TqCf+WZZTsq09Zns + bBjmjVL5Rb9yd8wf0i+2JtzkA4bINTjH8flT/UoLa3HveMMH/HaLodRq3HUb5yS/wte9 + TCRdl3062NQIB631iA+M0xVUOsmvvV8jXappu11nHkl0/ZgRb7XPd8qa9PwHb7s/dzE6 + yuDyDmZXpZU6+mxOOf2RDlaCLXPa/UmQAV16MkngRfsCYF0y2nEIfpbZFl9QIbDbYFus + EPKU++6FQSa5QeXvGwI1k6TsSuyeP/fpNUtEVawPRnYlFAkUCvkg7pt/DtATtQ9bN6b8 + ihTQ== +X-Gm-Message-State: AOJu0YxfXANbbAXSeGAgpT+V7QvlqTiQJ2kBKVfNtApuF1IuThgpyA5f + PWDU649n5u/BUfgM2n0VjDSAnzAKoMBsA4k5rdL/Wq8s8txIU+K2A1HV8jyv +X-Google-Smtp-Source: AGHT+IFfMY0A/Nt6e8j11mefQBEn0hU/WB6YvijjE202nDyjVaWFjkR2TagHs4oR8GRebcMq93uWZA== +X-Received: by 2002:a17:902:db08:b0:20c:5cdd:a9e with SMTP id d9443c01a7336-20fb9949e31mr63347775ad.28.1729867263044; + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) Return-Path: -Received: from 1.0.0.127.in-addr.arpa ([86.48.13.43]) - by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad830adasm6499507b3a.44.2024.12.22.12.52.30 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf6d6e7sm10039395ad.71.2024.10.25.07.41.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sun, 22 Dec 2024 12:52:31 -0800 (PST) -Message-ID: <67687c0f.050a0220.6e4de.0f33@mx.google.com> -Date: Sun, 22 Dec 2024 12:52:31 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============3901140800483518865==" + Fri, 25 Oct 2024 07:41:01 -0700 (PDT) +Message-ID: <671badfd.170a0220.f37ed.3f59@mx.google.com> +Date: Fri, 25 Oct 2024 07:41:01 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============4967285061131455909==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "Alice" To: suegamisora@gmail.com -Subject: Re: [Reply] Test Email 10 Invalid +Subject: Re: [Reply] Test Email Invalid ---===============3901140800483518865== +--===============4967285061131455909== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============3901140800483518865==-- +--===============4967285061131455909==-- diff --git a/packages/circuits/tests/emails/email_auth_test11_invalid.eml b/packages/circuits/tests/emails/email_auth_test11_invalid.eml index 12e49f68..3995ef6d 100644 --- a/packages/circuits/tests/emails/email_auth_test11_invalid.eml +++ b/packages/circuits/tests/emails/email_auth_test11_invalid.eml @@ -1,89 +1,98 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3747533mdb; - Sun, 22 Dec 2024 13:21:01 -0800 (PST) -X-Received: by 2002:a17:90b:5210:b0:2ee:9d36:6821 with SMTP id 98e67ed59e1d1-2f452ec3806mr15029681a91.27.1734902461377; - Sun, 22 Dec 2024 13:21:01 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734902461; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1040892mdg; + Fri, 25 Oct 2024 07:41:04 -0700 (PDT) +X-Received: by 2002:a17:902:e544:b0:20c:9d8d:1f65 with SMTP id d9443c01a7336-20fb994d810mr79073695ad.30.1729867263878; + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729867263; cv=none; d=google.com; s=arc-20240605; - b=dOWxaZxW1N/8rnwNJ1/GkyonDeDk7iU8CiM+vPRfFUncZXpvfhbve6c0NdDfXHz7L5 - M1OWx6CUqCLMtg1pSFVAnIWQwLLkG5ErO3XSXg9QWSG33ry0kRqpKHK9h57livG37+7p - rnWkMdKvi9bPg7kLl3k1rlEErObfXkG/SQfhW1anFf58XTn0333s2QzmwlwWsGqrUIk6 - CeUpmFbbDKAEQhTryGgG2c/ELFkxNMwShCC8QAzxxfEWZPzpRCm6AP6SfiShmQJ5bwKY - Idq56QPzeXFpq9+CaQW55EVvpj15gFVzfn75SjygYcYXeeHe/sJWdGG8MKBYFMyEUrxH - 9iUw== + b=b0Q+9VzThRKQBbRpT7G2X+gDYkjP4vahZQIixEMdVnxWwGAVh3MDAtAZScI7QoX3fZ + wZz3nlpP3F97+7AODdQushhfdgGFdFbcFj1wFHtT04UtJ1VFh5+q/FU1iPMV5ZgMU1dd + mJZi/tQY4KqZxFdtVDoRhfWd2Q/u8AClJOtb1DKS27AJiLOZABhAW6VH0g6mEq2ZVHq5 + A3RS/m6wIGZ7Zb6Xb2WeBB8zDGrtfd8+Iv66zGluLWsLiXgGfkm/Yyt7JYRYxZTgq66I + KwBGsNCq+9cCIlYftmEuh7jD5G6JqgE8zexVqPGO9iLmhARxIvjlDWaQgvuE2MLjVRcv + s2yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; - h=subject:to:from:date:message-id:dkim-signature; - bh=ToRZ1iirS6GctC/SBC+jTR4HqwryYzvtoJcJjUMHjGg=; + h=subject:to:from:mime-version:date:message-id:dkim-signature; + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=DH6gEi5MN0akMZ5kLfrBsJsCnsUnw+EtfaND6nrIwuZ43K47YIWe9wnu14u6S4tAVl - mh0aOStXFNX7T0iJzLQ98XFx0uLQgoBQRYg9xiaWDgO7825f7FDQlK8wcL9hxYmrbtXF - l4/sxfvuuqMXxzYaZ/PYirfYhhnRhWsZPVv2JrKuXTXQzSzxqNc1HUjd86jiSFn/O3lS - cluOBz4GBapSEPhrHQKN2OZriPRdUUwEMiNomy03dX0UmqO890mF79hb2RqdSI2RwawK - rBagWxvpxm1T8DQs/TRYVG2oiuFh4D3UUW+Ufkw58RNW5LL+E8slGziaI9q9JypfdzPU - Aupg==; + b=V6CR8wcQVdOM9ceeY6DcVnqRKwxprp72sHSgeth+GC3oB6JThZqA6xdiGzja4RRdXg + LnAzvyEfKMYNsd9D1uDbxwnmk0Q7tNYcr8bdZ0IbXGvYeytxF0NkM5g3GtgZQBubazpw + hxH2hcn5ctoySQhMaUNpbdKnbeiYFaRSYt/re2ouwyWkVN+HUI2oyl+eveYOiCJcA3sj + CZHxlqT1ZwJ/k//QkaR+7WfRzMdjX0yHBK7GoI3aVUGyjNMAkJQwV3p1u0t6PjDvLAFt + rKH/wx10/V1YJDfw2UNmG2HmRAf6wCahN1rvAV1ZHdTII6DUV+iGA2Lx8JyI4ZEKzgc5 + SU2A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=FYvNIW1U; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id 98e67ed59e1d1-2f44786382fsor4928654a91.3.2024.12.22.13.21.01 + by mx.google.com with SMTPS id d9443c01a7336-210bbfaa9aesor9989655ad.11.2024.10.25.07.41.03 for (Google Transport Security); - Sun, 22 Dec 2024 13:21:01 -0800 (PST) + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=FYvNIW1U; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=HBr27x2l; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734902460; x=1735507260; dara=google.com; - h=subject:to:from:date:message-id:from:to:cc:subject:date:message-id - :reply-to; - bh=ToRZ1iirS6GctC/SBC+jTR4HqwryYzvtoJcJjUMHjGg=; - b=FYvNIW1U5OUlyVRvRVQohdUoA5bR7rM/9O75+67lrb/1UIByIJL6lnXPoKMf130Afk - 1dfOJXwwE3q7c4CZ42R4xq70ajaaZtmdOvRTSKVwYNFvBlz66X2Ka9RX/1apNI9uNIy0 - O8nnN7G2HW9HgmZilLknNkeyblflHErkTMWhK/59hdn3V+9nw4v02b33+YvyxNfNqnWS - LNeKnpl/7Xt+aiNjGUY8jZIQpCKW9y1uofFfLPw6deCQf6CioARkHoNz5RzIM2WrqtcP - xXW+Gl7wQyOrGEtQ59TDVjiSsC3K8wCsr14bYMVxRkqPcMYEW7b7TEpW9u4lkUTRFzCt - l0vQ== + d=gmail.com; s=20230601; t=1729867263; x=1730472063; dara=google.com; + h=subject:to:from:mime-version:date:message-id:from:to:cc:subject + :date:message-id:reply-to; + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; + b=HBr27x2lZpi95mQM2o50nym8vqklTpXkE9xwxYw85iJqLYn+gcA8dHPqSf9ylGppuP + nkhjLZ0zs0+AwJcylx+DWjN5O2SfCuG/fQjvVF3Ag7bVW/zNTDHR9yvwRi0g+93umVo2 + 4rZjVfLCK9xQFpXcQh6vmNfVMhIgTVLK8jJd6S9FlTUAJ+c7p8YcATUdi7JmWiS+xhhX + YQv353cN9lN5+KwRXQ+fy7HUr8V4dUmnfQbOZfFrfWq+IVWeBr/wd3dvhLX/D/NCS4eT + BYWVd/wxy87UowXzgxkaWEZvQuv3f8W2hy0N/rRIGwAXDYNGtkY2qy9jKShnsaTwtlQk + qXbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734902460; x=1735507260; - h=subject:to:from:date:message-id:x-gm-message-state:from:to:cc - :subject:date:message-id:reply-to; - bh=ToRZ1iirS6GctC/SBC+jTR4HqwryYzvtoJcJjUMHjGg=; - b=ZMLSH42a8plCbR+K0UhxIASU3Kwwsvxvccunkx1Hh/G2he8f/hbZIhXKoGDXIfeFlg - 6h5gthkpaj0jGFz6mn8dawGKlP6w3O89o1WZnEZ1pBMkNxMvixrLdquval97X6OhKDAt - f/xIRPuIA+R8i9zuxlSF1OXsc95a2CyIqFekEW3PA1wfffBnrq0XwqP/94kHBl3BRaAw - GCyhUfPW+L+7/sjovqic1LryPQYsmuZIjJHWSGQYMaiqypo7lTzqf1bXQ+ID+qkdvqMu - R2ttonlAUpu/nZC4wO2NUI3y9QaFKyF1VYvXUjoll7jMtHwQKTkvsMUhOPl4+o77ezEm - ElLQ== -X-Gm-Message-State: AOJu0YyscGqZIV1KAT93lc7Kv76FGhmbMDWyanZBgFHK6KtRdbZE+KdZ - PiN06vIXGJmL5DpW3Th6MNT7XvnzfU9Y0OzuAC8J/J2m4KoVdnZC4RY5Mo+L -X-Gm-Gg: ASbGncvjgyYdiRaSNqYlk4/Z+cOR8Xqd/QWfrbIF/iWqQ3PS1JKF/3T1T73VdKw4Ers - NPYfWygUzw3zi74XYCZt5r6hATC5lWBh8q8BfBGrH4arAWAQbS6qKAwslZhzDlMEm+O+SHr5dhO - CBWv4ZHaVM79YCqfRqMSs4Esxz+aJLvfZ5vetaI/ptyyE4n5V83HUnHOKjX2ehcn4bPg4kN/7ui - oB6BJsYejkRsH/ecS/ZauefKLTN2K9ZRjVQNFU+AmY4xDEHNJeMSpIdMvCZ20pYeClOAEHFhcFz - qcY8hMWAzm0agNn9T0Lb80fDgGOS -X-Google-Smtp-Source: AGHT+IEpjIzvJ1g4OA9UfALZTffc0GcC6Eh3Ylzb4+xjgOwzZVLDG3v0Z+hZ4m1fggm2NGRN+g+INQ== -X-Received: by 2002:a17:90b:2744:b0:2ee:d7d3:3008 with SMTP id 98e67ed59e1d1-2f452e205b2mr19355608a91.12.1734902460568; - Sun, 22 Dec 2024 13:21:00 -0800 (PST) + d=1e100.net; s=20230601; t=1729867263; x=1730472063; + h=subject:to:from:mime-version:date:message-id:x-gm-message-state + :from:to:cc:subject:date:message-id:reply-to; + bh=PsLz804XfOcayfPHe0x6Z87/QdwLeZaJ8Aj7CjrmavU=; + b=PuMKz5sQ1iDTUhv9mI+RPC4IqR3/14ODfkScu+Q/TSKVnLo3Y0TqCf+WZZTsq09Zns + bBjmjVL5Rb9yd8wf0i+2JtzkA4bINTjH8flT/UoLa3HveMMH/HaLodRq3HUb5yS/wte9 + TCRdl3062NQIB631iA+M0xVUOsmvvV8jXappu11nHkl0/ZgRb7XPd8qa9PwHb7s/dzE6 + yuDyDmZXpZU6+mxOOf2RDlaCLXPa/UmQAV16MkngRfsCYF0y2nEIfpbZFl9QIbDbYFus + EPKU++6FQSa5QeXvGwI1k6TsSuyeP/fpNUtEVawPRnYlFAkUCvkg7pt/DtATtQ9bN6b8 + ihTQ== +X-Gm-Message-State: AOJu0YxfXANbbAXSeGAgpT+V7QvlqTiQJ2kBKVfNtApuF1IuThgpyA5f + PWDU649n5u/BUfgM2n0VjDSAnzAKoMBsA4k5rdL/Wq8s8txIU+K2A1HV8jyv +X-Google-Smtp-Source: AGHT+IFfMY0A/Nt6e8j11mefQBEn0hU/WB6YvijjE202nDyjVaWFjkR2TagHs4oR8GRebcMq93uWZA== +X-Received: by 2002:a17:902:db08:b0:20c:5cdd:a9e with SMTP id d9443c01a7336-20fb9949e31mr63347775ad.28.1729867263044; + Fri, 25 Oct 2024 07:41:03 -0700 (PDT) Return-Path: -Received: from invalid_email_with_non_utf8.txt ([86.48.13.43]) - by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f2ed62cd95sm9897068a91.19.2024.12.22.13.20.59 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf6d6e7sm10039395ad.71.2024.10.25.07.41.00 for - (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); - Sun, 22 Dec 2024 13:21:00 -0800 (PST) -Message-ID: <676882bc.170a0220.3b2449.46b9@mx.google.com> -Date: Sun, 22 Dec 2024 13:21:00 -0800 (PST) -from: emaiwallet.alice@gmail.com + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Fri, 25 Oct 2024 07:41:01 -0700 (PDT) +Message-ID: <671badfd.170a0220.f37ed.3f59@mx.google.com> +Date: Fri, 25 Oct 2024 07:41:01 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============4967285061131455909==" +MIME-Version: 1.0 +From: "Alice" To: suegamisora@gmail.com -Subject: Re: [Reply Needed] Test Email 11 Invalid - +Subject: Re: [Reply] Test Email Invalid -[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2�C Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end] -ZK email?ÿ +--===============4967285061131455909== +Content-Type: text/html; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit + + + +

Hello!

+

This is a test email with a basic HTML body.

+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
+

Thank you!

+ + + +--===============4967285061131455909==-- diff --git a/packages/circuits/tests/emails/email_auth_test2.eml b/packages/circuits/tests/emails/email_auth_test2.eml index d31925a6..0ac76ab3 100644 --- a/packages/circuits/tests/emails/email_auth_test2.eml +++ b/packages/circuits/tests/emails/email_auth_test2.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133827mdb; - Sat, 21 Dec 2024 08:30:37 -0800 (PST) -X-Received: by 2002:a17:90a:c88b:b0:2ef:83df:bb3b with SMTP id 98e67ed59e1d1-2f4435b595fmr16399530a91.8.1734798637112; - Sat, 21 Dec 2024 08:30:37 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798637; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1023919mdg; + Fri, 25 Oct 2024 07:17:13 -0700 (PDT) +X-Received: by 2002:a17:902:d507:b0:20b:5ea2:e06 with SMTP id d9443c01a7336-20fab31f644mr163925025ad.56.1729865832744; + Fri, 25 Oct 2024 07:17:12 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729865832; cv=none; d=google.com; s=arc-20240605; - b=WAlRvUmeq013yU50pVUWTRr6cekTpQxmrZhtZ2+WOvQukoKwIjSdRzIMK1I40Str8x - ARbGcFLtNrqVjvJLA+pq+AaOpNJf7OIFrn9W2DMGB3BwK77o7DrMY07001rb24wAKud6 - 4ydk9OElR954cLShlZrw4DF52fxPCB5bfCllbV6Y5K4tyKkK9rQI60BNa53UQM8Is1m5 - gp5+8yTmrqpXqasy7Lg3eWx2EmbnW0ahqpCUNcbYcBbvqJMCkifmrlEFEjU1Bx32rQc/ - g+Pqm19Sjasa+Ei8BTtXqGh7Gx7JTaV/zmLlTaijBeK8eWa0A4IFIpUF2EfDm3nX3RyT - P7Zg== + b=JpgZ1306kVvis5Wm1ndA0twPVvZe0/etFD/bMeDM/3DMeUVzuFECO2oTD0bfHE+oOX + 1zM5jr97aF/4sg5PdXBCXBUdiWPXL/esZAnkZ5q+L0rBxxu8Z7VyjlF8uOPzjlQ9fzFx + Sc9sJhQ5LKPR+Q6fga6kgsTL76rHlt2areeap4ufaydsywTQEoYxpq/iXZYS2yS2OIer + ZbPqIETjNbgiV+7ArK9KsNcc8OqHMIp7M2bDqsFUZJdVoJo142t3MxUO7zcmiv4OOIMa + 05DY875TmRJ1ychstgILDc9FCeR/l+W2FUghE8XIKgBQU/rdG0vtqtiwo5GQBvw6H2Pg + BH+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=9/rzAmATGu3s8HEXlI3yA+nzvwAt/l+/btLwU4TLZGQ=; + bh=YRN4OabpSP0B0hwWP9Hg/op1b+rgEXfwLU9but56ffQ=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=OuBT5BvQMmMx2yk1qkcbszWA0HGxqDyWOVDUDG5eaBZwisUkl4f0YX06tNdkrV26to - falZlPdJF9OxbhpTumiEdmRpWfoOBYS+tAenItWQfWG0V7QLK6Hoq/RV67Kk6NEtjHXD - rwcZ/OpgvpZGpj/PD2b55FPDsm3qJTbSXvD0zlFK466sZ/mhDsgP/xO5qLlxoFPLyA87 - OmYNmpo66+TludlsDkaU5f0/UowuJPxC3lvrhXoVfANsdCY3Qu/tVjcX5XVgC+Sdri4f - lZqx6j3fciThZWHUquZ6CPx8FYKDm9sbeplWR2YBv7VBva1vEy3xcRDP0+QUxTwPmfyq - vQzA==; + b=gLVT+Xz4WvQXUi9UfqkOpaGot5jdJq7jdzHbOwFBz/pQH6AgpCMkX7AxDCqAkhr1+J + f+DZ5GeFBFOjrPd8oyEzb6LlBwkPy8koTLBdaLubQnM3TBFbIX3zQwpRLPQh/e30pcet + iSZQXoQYts91HdB507zLuYqJHM/EJLXh1KC7YyzmGSmtDxrQEI+MTqM5KmizogEUeX0N + 95w660SCpDR36uKeTLwKXxx8CI2/C0fGc9R0bCS9dNlF/om7tL0bjJnlJaofpM5to+RA + /+ffZujWeKl1PEnXuMCZ0x4+p59VBAHjIIr4/1aGrD8pIWBn8cL0b2INHAql9cAturx4 + OLOw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b="g/hfKkdm"; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=VBQS3DB6; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d9443c01a7336-219dca3175fsor28201975ad.9.2024.12.21.08.30.37 + by mx.google.com with SMTPS id d9443c01a7336-210bbffdcc4sor9874345ad.12.2024.10.25.07.17.12 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:37 -0800 (PST) + Fri, 25 Oct 2024 07:17:12 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b="g/hfKkdm"; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=VBQS3DB6; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798636; x=1735403436; dara=google.com; + d=gmail.com; s=20230601; t=1729865832; x=1730470632; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=9/rzAmATGu3s8HEXlI3yA+nzvwAt/l+/btLwU4TLZGQ=; - b=g/hfKkdmgsKMOQzgSZkokZRvFVnKBnrrmKPW2GGBggUek0+WV0GfBlx+zrzqYLDVAs - f2JhuA8ZskvqGonAZxQKYkQ7WwwoxnsK/5IFC8nzhUq/0R6Dz9a9VDMyut3rIfy9EMl4 - WRKcET2G6bbbpJlQ/Zz3aJ6IAMdF/Z4my8IwuFtAJ+MeGssSq55lUEpfJqzHV/FLdI/I - kXZVlX0kKisKb+HVi4EI0KqYIBTBcUP9vGJTpbfuiw+GcPZedhusQSBX56pCia8+IoyW - LDNpIJaowGc3UDyWgfVVO4GzBUGuFXHUkMnw8EW7Ego5LgMeKigfQHHX93V9pZsA/24G - li2g== + bh=YRN4OabpSP0B0hwWP9Hg/op1b+rgEXfwLU9but56ffQ=; + b=VBQS3DB6vBI5dEUVHVFmMYgtWDjO0T8V8vNbT7Wvz2+KvOnffUty1/aP9jWV9OKEnY + WylijcGiDqPNMIP8rmgCySz5pmWLWZhU3EV93zF/SwsaJ+OpE4jtynAy7XOW7DRbdQLi + h+sonYAD1LbZLoGFgE4dZeYet3uTBngBxbCXhZpxMMxccLp3+6Y8KMxRg7h8LaDrFlsy + 4ZqSH1oTUAjbtk/nxmF4cFSgvB+A+s2QjeIz36Sa6kIm9wZp63w4n6xW3pCmk1G+ZF6n + TlseOadki3mUI8SUtZ2JP9Tn7wHXBdT4FK7IPLk06ESjtaaL1wzvTV+spLuPfwqw6MEL + s4Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798636; x=1735403436; + d=1e100.net; s=20230601; t=1729865832; x=1730470632; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=9/rzAmATGu3s8HEXlI3yA+nzvwAt/l+/btLwU4TLZGQ=; - b=nKGNpdhHTj+XTfPkn9XSbIX29e/zZFFb2tiJel3yZHyJKlvCPHlP+m+c7lbt1gM6PX - 9rCAF6Zm0i0U4miNk/vk3fgQQ9pyT66pnPxwqX8M7meeOx89I7c/GIBaw7+P1Sery9Ic - 1wpi5gwnYOu5fvUqcd6iX6uOQLprcWDVbO39LucNhQac1syvRAK4J71WWkJQVrQmZYUA - G3cYoqttCC4xLZJXMbHv7ltqnjGK9TY2Yvexz4T6H+/6eDKM0S3BXW71C4fyl+HpX3Z8 - G6h//ar3XbNYjX6zMCKknsGUWuVlB5WKYVWBZ1l47akSy6N7Kc4tyETudwSJQr3X4QME - T3nw== -X-Gm-Message-State: AOJu0YzTjR7uRkHsL++7oPnn/RK6b4FCDxVqNCw4pscE5QNNKx6n2ClR - eIy9407x0g/IGI+n86dUKJvXuJ4XQa+Oq2Kr08wXB4J+eSojCARbkKh1FfJx -X-Gm-Gg: ASbGncvHoUjTRV6NYZTFVCcyUbFrBZLbhXBxipY0J1ZT0WOmQkw6llG/cF+X4ddSZQj - q6YaH9LqmfqaEouFvWAoo0WaaGp28GkS3682etOPJBJXi4F1aakiklBhuwvZbZDuXt9jRKAHjAB - UOrR4amTYjxZF9GHAzXbCQG17jaXMHJbJ+Ifae7v7avjRc+uwAzG2zeJYOTMrtTeUiKfyq8oTxi - bZ4Q4AZvkNS1ExJJhBs3BfKWA4Zc3q37cBeVRWDcbmXy6rZnCgVIf4XGuYPGEixG/TOriBC9fly - vQONvSaOoDAlRA== -X-Google-Smtp-Source: AGHT+IHuNLAby2Py/peK/ABVUz2CWM+tgWyjfr4DcTJfrKvGn7SGhWqOpAthQHBevj1MJqqp4MFe9Q== -X-Received: by 2002:a17:903:2cc:b0:215:6c5f:d142 with SMTP id d9443c01a7336-219e6d5997dmr106103115ad.20.1734798635869; - Sat, 21 Dec 2024 08:30:35 -0800 (PST) + bh=YRN4OabpSP0B0hwWP9Hg/op1b+rgEXfwLU9but56ffQ=; + b=FKK81BEWE2CsThDjUIeMZs8yggYxyc2wWZBjgzdvCuCqWxRsvT0JS0iTCWXcNlf4SU + EQXKIxpp6ZNMPVtpOP2wQxHy4V/8FmMkt1h+m+x8dzdpSFtdxQnXnCSRDnKfEaqkKYPV + yv+1n94nNgy8CZYY30Curgo3RAWqb26fZygwFq3W2srTjeXnah74o84bu+BpQcCng7gM + CxAjXA2f/0YNiZskauHgMLADzaRgVgTqsssArtH8bn90zo/vsCa+EL62UQGZTY0pez4V + rh7uRXafBjq+In8A7uciXW5jWqlYQJ29RFcCv4hPT13s9Tvc2o5N0ksjaEyeS5LictoA + t6BQ== +X-Gm-Message-State: AOJu0Yy0lZffis9HHI9IMIfHlwJbUOlRj4fq5gSYSlyIuUUeEPhbqvww + RjpWpnVBkmkJHdwWqiq/oQ+m432yVwnOeIs/YYBeNP+WSR08/MjORV57J0hwiHY= +X-Google-Smtp-Source: AGHT+IGUTObaL9kK8PQ1UoBOJfKZF7ytkUSrTKeS9oav/MsLaKSgLqUKzMCoEUmMFm7tD7+RLZ2nig== +X-Received: by 2002:a17:90a:5145:b0:2e2:ffb0:8a5c with SMTP id 98e67ed59e1d1-2e76b6d5410mr9993199a91.27.1729865831827; + Fri, 25 Oct 2024 07:17:11 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9f7312sm45812475ad.225.2024.12.21.08.30.34 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e8e37720d5sm1465688a91.54.2024.10.25.07.17.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:35 -0800 (PST) -Message-ID: <6766ed2b.170a0220.239b16.c1bb@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:35 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============4507919070087413342==" + Fri, 25 Oct 2024 07:17:11 -0700 (PDT) +Message-ID: <671ba867.170a0220.103a99.55f2@mx.google.com> +Date: Fri, 25 Oct 2024 07:17:11 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============2125664866228297927==" MIME-Version: 1.0 From: emaiwallet.alice@gmail.com To: suegamisora@gmail.com Subject: [Reply Needed] Test Email 2 ---===============4507919070087413342== +--===============2125664866228297927== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Swap 1 ETH to DAI[zkemail-end]
+
Swap 1 ETH to DAI

Thank you!

---===============4507919070087413342==-- +--===============2125664866228297927==-- diff --git a/packages/circuits/tests/emails/email_auth_test3.eml b/packages/circuits/tests/emails/email_auth_test3.eml index a81c18a1..d9840bce 100644 --- a/packages/circuits/tests/emails/email_auth_test3.eml +++ b/packages/circuits/tests/emails/email_auth_test3.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133795mdb; - Sat, 21 Dec 2024 08:30:33 -0800 (PST) -X-Received: by 2002:a17:902:d50c:b0:215:9c06:272a with SMTP id d9443c01a7336-219da7ff40bmr159558005ad.24.1734798633403; - Sat, 21 Dec 2024 08:30:33 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798633; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1026457mdg; + Fri, 25 Oct 2024 07:20:33 -0700 (PDT) +X-Received: by 2002:a17:902:f78b:b0:20e:5777:1b83 with SMTP id d9443c01a7336-20fa9e48d1amr123657765ad.24.1729866033016; + Fri, 25 Oct 2024 07:20:33 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729866033; cv=none; d=google.com; s=arc-20240605; - b=KugWvpPgYkYzzT6qT+zirY48G+S6QYvYVt/J4maJzjF9MeYkqYZn1+4oWJstvs2lqS - UR+AETw9+zUVqkeRSGmL6cX9UVZosqsCphxg/85Vf5cngQKJvKlOB2BCOI3Vau7GAtW1 - UizVvEXvFJ/sgl/WIdzLVGMyIQxxxo+OTyWAES+dt0RAYb1ESxVr1UxffouXJ3r+N7wX - BPwiw/mX+EW3HKU8tUG66XPwHiusVzitkuCweFr8slni3O3ZDXfu0O3EBCtpLZ4jci6C - 1hpI+ABNVH1JUNvVdhpRSwQ7wEEROAYM7vji8hen6FajAxUAFCvQYBUhjsn3ZDqLArM2 - Lhog== + b=EmHTvYLz2pe5kSZfPfWgK0BQTq5o6ShJP3BhALa7H6vx7QBUm1fOahhnY4BEIlrvF2 + t+LMCigR7gc3OBY5E07O8dZURxU0ahA1RBVD1b4Mel2SsCF8DJZNwjOZ+A61pM8edcQl + 5piBcuP0rN2SQ6n6NfL+6QG3eis6W/shBF4XdeE3pVeM1QP8YMy+JZFh/CzrL3K3mOzX + hA3JMCSDFE4fS0Lm3hznrWMNABVg83dhblzeWRCokI0pIlDLi5AOelqg0TArQzpDaFip + CBZzFPl2FU5HyED4wpNJpJoWpOoV/AayMp0UvMZq9zQ+A4xDjB7jMhGMqX0ZuMk7Cw0I + amsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=rWKPVBaOSk9v8LIC+7Vdesztz3VPzfUgcKv8qX6GvY4=; + bh=wrHseP0aBOHr01LTA+P2fm6IQ8JhnLtsVT6E6jScTzo=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=L5hZRWOskeJl/KGxxfY0nYOesMEFHhKzHJ7PxELDYHd/A/C/ZHI/IE0He/5ueu2Xs2 - qrIsjxjYt94fxeIWDGo7qDO7jrY4qRt3s8ukQmIvfqAcn/thV0EQXnMFKo1gQZ0sh7Et - MyzhtipJjVGYojR6A/9qonfACz0gu5dIfoP9/L/LwySuRb7NXSt2sDcXP4+gzFZ9XeAk - a4zARbvN0qerX7urovOkGD9emN79GFLMS7Bv0pDbQhbo8jmrg2Eco1Dk5j9of30rYEOp - wD5fC6SubY9ph46MvU4MKj8K0dj2FztQFc16jXZmw8s0hOwib6fJD1rZmYkoc7B7Ob+L - xvUw==; + b=iQIksUyu6XvDYnbEA6Dy2HzkMJKtY+4RbjicfcjH4XzkwbcnMU0B1+U484/jN4uOs+ + 5Z/ZBe40P+XIM4nR/rvzWrBlesdB2GqfvEn+cvZ3BLGo/dL8V269J+g3JU9ApDFL1DAP + CRPtTROhc2BUvqjg2Qw9MmuSJCfsUJTI9GRrNHVKtf0P/aDN9MWyZguH0mjU1ZoWCsXu + 8sSbD+kDId5bDmcSk55vuTasISug1M1aEQ9SnUDyop++/bwn/hvyLleAnhPZpYUQEkoB + DRPuGvmhxMRyXTAGntEOu3g2RVKrlmnm4bf0S+BRsDZplTpxIv30mUGslGyEw6u8uHep + wacw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=doOpC91X; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=WuouU0ZN; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d9443c01a7336-219dc99c605sor28622065ad.3.2024.12.21.08.30.33 + by mx.google.com with SMTPS id d9443c01a7336-210bbd909ccsor8596745ad.0.2024.10.25.07.20.32 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:33 -0800 (PST) + Fri, 25 Oct 2024 07:20:33 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=doOpC91X; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=WuouU0ZN; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798632; x=1735403432; dara=google.com; + d=gmail.com; s=20230601; t=1729866032; x=1730470832; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=rWKPVBaOSk9v8LIC+7Vdesztz3VPzfUgcKv8qX6GvY4=; - b=doOpC91XdoUPX96ShvaddVRLrpGCSYIHBTk8vKZ6GE+XzucOD1L40K8B8vPXNiFlqK - RjwfnZH5NhPN6D9C02uO6OViloS+u4lOifVkUR5y9GF3KIYs4WDRXJpakP5WaOftyq/T - I6bls4xg+oGc5QxmWzAaDfGPth3xJtbokCh0ZtDAN4PiZHPnzqOfRMDVY876IyWcyxlR - dRrbA+ZIB4meHC4WodmxQvujH1s/fzKsdj8FSd+5GKvDoGLxa2ExJuJBOWPcHpPZkGQm - kZmzs8xgbxWWBEZ2oNPq01EQRm3tSRnylzAkid+HcdAZLFzvDH3QCZR7ong9K7TSFEPW - +TTQ== + bh=wrHseP0aBOHr01LTA+P2fm6IQ8JhnLtsVT6E6jScTzo=; + b=WuouU0ZNu+8wGVEc7u96TpN8dtTX+wGOynTAi7WpGOGAU1yrZrzKn2qxHqHD8lX+3T + d1D9dHl0m/ecFDl2jrhv6jT6zkDX0blu7GgX6oBluR12pztMJ7WZ/2VwG9XacSZrwQmL + VQgaw7O7chi5Ch3ahECcfMDUM/rkDZq0pxfll68jZXmrJ9FeFx5pzCgM6WrVlNcnijWW + uipHDyNmJIhUw7oZGaF5qL+x+KwzqUPgbajEBD9br4MdxdpTgHEUEXva5WeSZqY9LatE + KtMurWT6sArRzMOUKrUBoT+/45o5eeH5UVFXWb8a8H8DSR1fIk6oSTW7hj76TFwduxSY + tSfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798632; x=1735403432; + d=1e100.net; s=20230601; t=1729866032; x=1730470832; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=rWKPVBaOSk9v8LIC+7Vdesztz3VPzfUgcKv8qX6GvY4=; - b=gXFrgu1fxBv/DUVEZYa12dVH4lKSUXQJaGlo6qdyX4SQA9NUOm3rUj9UVmupFY/I2B - XA+oMIXlxRs/D0RebEqshd02PFjpgbiyg51EoeutMeKfVJODRlsaFxbwI9XAkA2J3471 - DUe7s97Q8MQqf/gUB6Ewi3NDB90yUbixfQums2ZoErVkgPpVxxIg2jl1mrPC9lSA9gxr - DBVXkROzquavyjHUzDPcJ2oFmbwkc+2sy7P8+c5ZDD7zM3KtHAyTRflpteaLqvs5aOkf - sZfHG65hqhXzUZidAMlr3+MyUrD/8VVsmZ0Irrg/lKoqQybDMFhYRXx5W7vHsHHWpNmg - TmMA== -X-Gm-Message-State: AOJu0Yx3bx9fCert9BNAnopbumVaeAhohuvqTlNLblSj3XMo76rLXaJN - BxYCCWFA3QwTwxyWkEZwFowB8tPOt8+X916+z8Re4wGo6Mja6LnxZjha7DFQ -X-Gm-Gg: ASbGncvRVujLt4g2PgtF7qv8+K11eZhvWWZlrLkukfN91oQYzTJbESQK9YlhW6AEXah - Za/x2k2Lz7vqhqsYuxk+edVx9VzTz1+IIghb21Uo2HefRUPd0m8nHD3TiMcOalcv2lH1LBWo02L - EGUZA8Zr244lzpRgMoqK5exVhmaddMzoQNXlvy2H6jlIa7wpBTh2W6SRn3Tyqm38I+Nlaiki7dR - 6sPK02RU+GqMapi4szZ1BeZRQfoi6TAEacBzSKFV6EGOuxOmTCVtmrCFm4orNx7KQtWLBNBVqwx - iW3DF1PynI9cIg== -X-Google-Smtp-Source: AGHT+IEjOuSLJh9KKkyIP8C3N8fkifxXLTMqi/ky3J/UywYj2VVXDT9UqpUvSMZOPJOxXXSqSwn4fQ== -X-Received: by 2002:a17:903:230e:b0:216:1079:82bb with SMTP id d9443c01a7336-219da7eff29mr188208105ad.19.1734798632260; - Sat, 21 Dec 2024 08:30:32 -0800 (PST) + bh=wrHseP0aBOHr01LTA+P2fm6IQ8JhnLtsVT6E6jScTzo=; + b=BmP7NAvTz/h39raGzNhlLf2zOaJWhaHx0PRaubmjC+LCKjWBTWwCXOH5GACwA7IM75 + sCBsRpKOQ4ocuoxS328U5kpHXEVFVpAyDa5ui0KXS6vsib34zWBKHL4PccBb/3WSTGyh + K60SNebuIZbeOqANBnSphpAv6jPpedQ3A8EAcIy8A1FEF1mzblPrnR8Hx1CBiU5BKFy3 + PpmpeLfM7najX2XeYU/wv9FouJDTcxAK01YbSXEqXMRV+jChPHU4dpb5r5ZSbEEd6Q/Z + 1nhfjvu4PEWxvqo6GwO6g4srmRpaWrUa796tXosVO+dN2HEKHKXOJSWI6JdVW9MWoJK2 + Sshw== +X-Gm-Message-State: AOJu0YxFmo8lSWZEIHzknG5G1CBMWPY01HXRa4jVjNh0uSebf92UgSSA + GvWdu/JPqCBgQEVoqEkzat9ToG2KEd8gj1BdmHcXcp1vkYr8xp/4+99nqunE +X-Google-Smtp-Source: AGHT+IEhwhplSCtP/HgP0hdOjZeHJy9rS5FX1jo00eRclVhwqFWDaLTkpBCJ8duRJnGgVZgU3nF+gw== +X-Received: by 2002:a17:903:1c6:b0:20e:95c9:4ed5 with SMTP id d9443c01a7336-20fa9de0cc3mr143277135ad.7.1729866032207; + Fri, 25 Oct 2024 07:20:32 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dca014b0sm46047905ad.233.2024.12.21.08.30.30 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc013699sm9771685ad.136.2024.10.25.07.20.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:31 -0800 (PST) -Message-ID: <6766ed27.170a0220.1d6836.c46f@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:31 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============8449178806862794146==" + Fri, 25 Oct 2024 07:20:31 -0700 (PDT) +Message-ID: <671ba92f.170a0220.176081.38b5@mx.google.com> +Date: Fri, 25 Oct 2024 07:20:31 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============0670125564578285345==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "dummy@outlook.com" To: suegamisora@gmail.com Subject: [Reply Needed] Test Email 3 ---===============8449178806862794146== +--===============0670125564578285345== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Send 1 ETH to bob@example.com[zkemail-end]
+
Send 1 ETH to bob@example.com

Thank you!

---===============8449178806862794146==-- +--===============0670125564578285345==-- diff --git a/packages/circuits/tests/emails/email_auth_test4.eml b/packages/circuits/tests/emails/email_auth_test4.eml index edfb6ca2..5e51f719 100644 --- a/packages/circuits/tests/emails/email_auth_test4.eml +++ b/packages/circuits/tests/emails/email_auth_test4.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133735mdb; - Sat, 21 Dec 2024 08:30:25 -0800 (PST) -X-Received: by 2002:a17:903:41c1:b0:215:b45a:6a63 with SMTP id d9443c01a7336-219e6ec0883mr102076055ad.32.1734798625413; - Sat, 21 Dec 2024 08:30:25 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798625; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1027504mdg; + Fri, 25 Oct 2024 07:21:53 -0700 (PDT) +X-Received: by 2002:a05:6a21:4d8a:b0:1d7:109f:cac4 with SMTP id adf61e73a8af0-1d98882f108mr10434238637.3.1729866113075; + Fri, 25 Oct 2024 07:21:53 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729866113; cv=none; d=google.com; s=arc-20240605; - b=WDAky2PUO4NisLJ/9H085InHKmpHKXkxkpnnC8THYYOarthJTtZ4Y44a9Z/YwyaAMQ - N/UhfrrryVCUDzZLclK+rGah11z6O5XrJExLDTgH/dC1bAsjQYUJ+xoLgB5uQ3acgLZd - G4tmyn036LCdyvt/wXPAuAGCnc+oJJokR+q0F+9Y8r28qhotl5N8seUnYUkaVpmbkVey - sM75PksskNfaCpBWlG/MP2YYyPfjVW+9ArGiO2W+IESV8abzlseHmVoMvF3Jf1XZnSu4 - poHO8GKd4d006sK1R/JJhkvJmeLQaHUHqim87r1DRqDgqM6+b9NqXi7/LmrAFMimN4Qh - 6QNw== + b=J4270JJKKC8AN5dsp13tVApYO4Gqrz1LnxNmDaytR/v/UTiqe11AuBiDHx7hV8zw2R + B3eTltyLM1bcfo9FmefoQcZbegNmk4FxViNoe88v1POnvlKE8229wp5i4O1ZrwGZwSLL + tavGEprlBSJPKZcBk/+C1mkeQXMJL+ZeloOc0kvnTpimq1RwWWtaGceslWKw/ilqSRGx + HAQEaykFyO8KzsHsgw2V/i8JE/6S5v6cIiettVqrEuRIj+hrnfdOvM12EVbjhtkp0Fmg + PEFemCSIHRYJRhB2uFoxjLkqjB/rTVuZMXELqR38r5fHRhsHILAqWWaIYuSmtGSk/imZ + M5Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=E/vevDOm3nAMJqSD60T/3l17wgEL2ZIEK9GozGDByE0=; + bh=O8D9QG6lml0dQlPVnHJ2HX1q6V3Qlql+zuCo5zC0XG4=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=P4jo0KnBuq16V87KVwvPbbcLGOJF7+7Tfxd60rvuJ5XunW474f/fOKbVk65jm26qYv - va2iVcAHPEfcVhhvJLISgN5YFJDb3HJAqwEwACOIVh0uS5FtweVpIziy3nb26uOCAgFx - oCDrgRHN5sQlQyTwhVEx4M7v2Jaho4cmF6J12ZluUQDfyAN6shNpZdC4QpaNs0V7edQW - aqPPes4nsd3diBqbZcYk89MEQyhVJgqlldaQJoabY2uQ1d8BM3h6xS908EPELLAB+NoJ - BVuXCXWHchqETutxGtIZXxjr27hxD/u2n5UGly5akqJRzUEw78L43xHoiy08YD3qTLoz - GqAg==; + b=bk+5eU9r/+D/5Vxpw6DWPrCOmxe0IKWcjjGwDDqmHRmsLEFt7818DegOOqjxix8rQl + 25O/XBja4OX7V4N37Tr1oLPpG82GFcXjcs46XfxOX0lxuHXpzRf93DR7IbnEcNHaNoxJ + +QVwM237RyFpV/KBl/H4uZ2inwc5OKgp3QxJ3aCsjPD+CD5grcokDC2RHtppi7N+vtYv + ASLBW5/uCrpBJuvIn/7xZZRyrKwkaZisBjbL5rJr5Fh64kFHJ57rkXKk1CikyDzFZ+Z/ + 9XALIrX+TK1uJeXptY1OpyNMdh2Fc7lv0OQFxo8pHz3WgYUpQzjTJeSnkFIY0mHsbQP5 + 215w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=iln9zjzn; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=d8VQVFp4; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id 41be03b00d2f7-842ba1a956esor2991615a12.3.2024.12.21.08.30.25 + by mx.google.com with SMTPS id 41be03b00d2f7-7edc75c3287sor751909a12.5.2024.10.25.07.21.52 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:25 -0800 (PST) + Fri, 25 Oct 2024 07:21:53 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=iln9zjzn; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=d8VQVFp4; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798624; x=1735403424; dara=google.com; + d=gmail.com; s=20230601; t=1729866112; x=1730470912; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=E/vevDOm3nAMJqSD60T/3l17wgEL2ZIEK9GozGDByE0=; - b=iln9zjznUq5nRjnnvq9W1ZvBaZIsgv935PKAwB9zpUD5W84+eDhvcJzH55F8sYTmlZ - MUIfImea6Ewp7zZJ+QZ0EYuFz9fUgVx6qAc4guo9Zw9Yz4vCRGpGgDy06F7cQ4FgRcfl - NXtpLAamEJ5rNFccRYFzRDQQTRK58+E9QejpEbqJEQgds4TlbEL9nZCIAQjdF7Tapkyn - JiEVFYFwE8dxRVc0OsScyDnMRS2JBV+Cyq3rqby3JlTtzvN+Ti+GkKZjIz2FoWdjyJ+y - ewoGBVbQ75F2RyUHt/+O0I1MTN11OYOduE8oOoiCeQ65K0dLSlRvRJI81ZiGDpiHdiHD - K2DQ== + bh=O8D9QG6lml0dQlPVnHJ2HX1q6V3Qlql+zuCo5zC0XG4=; + b=d8VQVFp4FbfQcVh3uZQ8kdJhwH7r8Lnluo5bluM/LxCkI6I3cNiKwUVivh5UcIiwFo + gHARXkXwFhig6MzfT1uLHQFqgCwMEE4M9Y/Bt+gMX9R8CsZl5HoHY1KiUM539gnRLCOa + +m/ShGPaRuBP2spV7ORzkAJTAqQ+GKTunq+lM4LruzzrZl4f7txMtrhdKL157BNHKyMw + tHWZlMSFgbJiP3tsv+0VeWAiHOQxt9uR/I2UWpmDhJmyUm2JVtHNGVLvjayT/tN80FMi + zRBjcgY/L56+h+Ia8iUBUzJM29IW9npJqerQlMPO3vQ700g1qU1YRYlZJ6fmzWjk5NMq + muUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798624; x=1735403424; + d=1e100.net; s=20230601; t=1729866112; x=1730470912; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=E/vevDOm3nAMJqSD60T/3l17wgEL2ZIEK9GozGDByE0=; - b=G68DCFypAUaW/ial/OV/yf1W5qCkIxL1jdb5nC+SNw8Eh+hkcb61PBcLl/gMKV8MW/ - 1QvU580x5AhFNWPIEs81Ke2A50CKQrkxSZ/47FgugNDp4emDLjmkek8OnVHV1if/12O/ - NOGFjpDwg0+xqVy6HEYpwN0WaOkW6y9e71RxzHIfK5wE7sdQNWuld+tC2BNpIcl8Nzn6 - bUTVHWUenRGJCgenkmk5iKXyNfJRQK0qlDhzBywgkBUvFu2ZjeKdE+c0tP/9CST9s5Li - yi+bYaHRHdkp6t9NDjo8GaQvEBX8LmK+F1tayKnGvKI5NRU9DSn2sScySKNwfz+0p03C - 4m1w== -X-Gm-Message-State: AOJu0YxdLoJbCX8WhOQr9N/VaZtNylGQLctnThFm3XxM/UQzUFqkCWX1 - zXZ5BwFS/sw+zg0BIb8h5fDqsF5x9lRDgagbzJjiDz1CIph3WXWKtpR90Zua -X-Gm-Gg: ASbGncsfmpRJgJnQmklt2aipgZl1PJ8OztCoQ2GPhLdacdEH7r8VPR23i3fwpKrO8UN - j1pxlWRFgcDPzLrPXITe46xkfdHegRIazj+DiduyI7Gcdi4xXMvw05nlRfSJi7LONqoqZes+jHM - j+89xAI17J8Nk/9QgqbvFy3gI5UPVCJzwHA1TEp1I/9Utp90k3ROGXWmmaJH/AXFIp2WQz6fnR9 - nx9QY0DG5gTwrHF6jbffWwxwgMjaLjx4E6lQ+u8qgW2ublr/tJyiWTvS27oPSMgdJHm+huvVW48 - pr9dmPoAp/eW5w== -X-Google-Smtp-Source: AGHT+IEv4jTg3aAclkpk1ylHZTmiDgfhn2X6plmbdl6f/cTiaxgIVfmEWq0wReA3BQQ9Zp0vlFLnHA== -X-Received: by 2002:a05:6a21:2d05:b0:1cf:27bf:8e03 with SMTP id adf61e73a8af0-1e5e049456fmr11473842637.26.1734798624208; - Sat, 21 Dec 2024 08:30:24 -0800 (PST) + bh=O8D9QG6lml0dQlPVnHJ2HX1q6V3Qlql+zuCo5zC0XG4=; + b=jF/N/1JFMN3lYPY+U3yV69aYOBQh8JJbg+lMPnbhW2YBpEy7SZJzTlo1CMqFi7oCko + AqRN558Hxf6jOlb8SyV63aQ7pRqpiMkLuOT17FFZzINDGyHtRrbEMktnrdJ00nEiKDaG + pRMVlZbJdYyWr3XoZ1ukAY4wsx4mWliolKKojV0k2t8nEFx2thL7Bq32E3bDOkIGvVpr + SXXGYaph5JMiOZ/5kFG/WJ0SgehCqpOSVsfVARP2N85ftQ71etAW10F1hubq1McDxcp7 + nXyzDBX/vFPE2fsKNs0Lp8wP5VmNXaUuWYQcrpamxCDrFY1TorR+obSJP+Tx7yVGNHTu + AICQ== +X-Gm-Message-State: AOJu0YxU4AXOMzl9OECxkRs0yyZNifte4MaQ4nWo6CD5oKn2GIFcSLnX + KySDJF8rL8EclKLvIlUcEt25sZBpGgImMrBtE+gxWsvJZCm+qONHRA9R+Hw7 +X-Google-Smtp-Source: AGHT+IGWoETv1mjfZshi2JICdojFxzSHiXXPewdG+O0ghimcnPg4uRQC6i7GJ20miAeXVOMTYxG5VA== +X-Received: by 2002:a05:6a21:4d8a:b0:1d7:109f:cac4 with SMTP id adf61e73a8af0-1d98882f108mr10434156637.3.1729866112282; + Fri, 25 Oct 2024 07:21:52 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad831160sm4943505b3a.59.2024.12.21.08.30.23 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057931921sm1107829b3a.66.2024.10.25.07.21.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:23 -0800 (PST) -Message-ID: <6766ed1f.050a0220.d7ab9.dcf9@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:23 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============5299575680610175502==" + Fri, 25 Oct 2024 07:21:51 -0700 (PDT) +Message-ID: <671ba97f.050a0220.10ba01.45af@mx.google.com> +Date: Fri, 25 Oct 2024 07:21:51 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============3475748289687066030==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "Alice" To: suegamisora@gmail.com Subject: [Reply Needed] Test Email 4 ---===============5299575680610175502== +--===============3475748289687066030== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Send 1 ETH to bob@example.com code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Send 1 ETH to bob@example.com code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============5299575680610175502==-- +--===============3475748289687066030==-- diff --git a/packages/circuits/tests/emails/email_auth_test5.eml b/packages/circuits/tests/emails/email_auth_test5.eml index ee663803..433b64ec 100644 --- a/packages/circuits/tests/emails/email_auth_test5.eml +++ b/packages/circuits/tests/emails/email_auth_test5.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133699mdb; - Sat, 21 Dec 2024 08:30:21 -0800 (PST) -X-Received: by 2002:a17:90b:3d45:b0:2ee:ee77:2263 with SMTP id 98e67ed59e1d1-2f452dfd00fmr11449950a91.7.1734798621325; - Sat, 21 Dec 2024 08:30:21 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798621; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1027898mdg; + Fri, 25 Oct 2024 07:22:27 -0700 (PDT) +X-Received: by 2002:a05:6e02:1c0a:b0:3a2:7651:9846 with SMTP id e9e14a558f8ab-3a4de7a35e4mr76681065ab.13.1729866147071; + Fri, 25 Oct 2024 07:22:27 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729866147; cv=none; d=google.com; s=arc-20240605; - b=CiWBBIPQ4fGVG/rDFFA0gaPE7kchTA8wtCBHvGo8aK5D9fNUqgmKebuHtJ1ONDJZst - JKHw3yIb6nthZMujbULfo0NGVggC8HromhdEoTKC355wbrFq3a1w+xrbCKUes74KLF2j - DWkmc+oSK1aRMl7n/U0xPLVgtYJt+ckNxMuVd+p5T03CS/xTE0YVhVBzI5VMwzx0pnLG - zPVpXlDd89GgeuEteyJK/D/FrdUYlJsDo+uxvLptFwMongBlgriTLSlbxERBxcisOcfZ - ZcezDQZUW57ordyuReu/adZISVlYVo7C+mGmk3falbfQBfhefgk4iraz/j1ys5hMKATF - qFdA== + b=X+KHpla/YYvO5+FQVKEeEwgrxYSL8LFzV7y/PGRZCyuTnZvjgTBzajAN3hZmrUcKdl + 8nGlxyXfWD1OhXZ/NEmiRVVMU4SrfjJ0Rhi66cqJ7hZE7fNaqQYFT+ZY3obuwdBSix1W + 9B0bzknV36nU14IQmd9nPSrpOzv5yBuSbpbnA5NAfyURUMhn5lky4b7kZreMTx6jV1iL + zr1F5F5Otshz9mBrD2fVzbpW8r3RmWFY9b0tk4JfM8m9geM1dtloXEBn24Qo0czaynbi + wPkQ1lhpBA0GhrRO/A4Ym0JxaFkSTi+XxRHFriClE29Al2MpRsn5ygOZ5mswI1QurVaN + EXSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=vCkQef87UafIHPaKBzjI/TNxaxdQ71z7xXhXjJ3IVh0=; + bh=6HItyPXrtmMM6i7cBA3Fnz+dvPzXNQf0ncXRv4X+xTs=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=RZQcpl0nGIKVos2ryFB8432Jnkzhz3L4XYmY+6PtdQboOfYhTg5T3eYjf2E5gyV9Yv - SMaXXzn2iAHeSZf77W/HhI8UK8m09eo2vrfz+Uwt6Y52NhYWNOer7O7S7zuuZDtMPjmc - xztBcoJtsUsazA5BYn5BFwudqyN2z1/0OEXbbraaxZKfRL8BJx+/iwrXNlKd/MaRS4iR - mX620RwwD+P3fsTMYRqJMvq8PNp71AX+oUeVvJ5KMXJyttD13aGQrOetHO9dY+JMBqtw - /L9keT7qDNGdHMCweOkGL7dNE/sBtTnA/cNdtWuwIP7K9aW1jMoO6EI5ao7rLOiaEaXX - e/qQ==; + b=EjLz+LeWtLYDOEj/PhsIc2pbzCN/qq2EnrtagCyagUNXcoSoskq9ZxSa4QuMNO5BUy + 0ZC9wDmoqjwYqxhvzr2gLMQ/c02CqcUGZ6zzPYX/RQcAb/h1ltCMIAuaprvOY1LWt1w/ + 8YJlXZhpfWd9VAcDdU7WSq5EBYYLhcA71EP/I+6kJyHHureg7cxhb/jEWhkU9330pRLR + 6F1VN9jLEEsIZHW4laUz6SRjzXRBPz5Vmm1i60tQvaw2p5ubZKXnryvFVGwKaWK22JJx + 9ix9VyZbzJwaY+5O4sM/zQQbG1l4r4HOlfgqiIh8o31NjmynGAsrSwwBIDvEy0E3xRsJ + i7rQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=OeQMGMJL; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=Wpa+lApl; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d9443c01a7336-219dca2b56fsor43344225ad.16.2024.12.21.08.30.21 + by mx.google.com with SMTPS id 41be03b00d2f7-7edc8bf823esor611123a12.7.2024.10.25.07.22.26 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:21 -0800 (PST) + Fri, 25 Oct 2024 07:22:27 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=OeQMGMJL; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=Wpa+lApl; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798620; x=1735403420; dara=google.com; + d=gmail.com; s=20230601; t=1729866146; x=1730470946; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=vCkQef87UafIHPaKBzjI/TNxaxdQ71z7xXhXjJ3IVh0=; - b=OeQMGMJLKVNcKhjAL0xZQj3G6ljH1HyiNDz6ohN4dlq2m0E3rVKM7LTFW/cijcTAr9 - OkWUQSinTWdQGcE7zjfTdhyY7LGyEXUnfY1D6uJ8Kxwu+0t0YM2Non3ApxWJvwAaLeNR - gNfnQNRlDCCqASsWCaFLjrLAGWAAeXcfu3H48nzmez7QfR5U1yRf5K0H+lTsMV8iG0ow - Sehyg5UiXc0uG0IAkO7kw+BGQEcsHOlXma4EvAUnwPobKk40m2s2ApewrHDakLRyJzOt - iLoSe5AFyRXgaTMQsAimpd5r+02oVmwRh92GNDeY1RhYApjr+2Y7zS5lv0nNqMu+79jb - +j1g== + bh=6HItyPXrtmMM6i7cBA3Fnz+dvPzXNQf0ncXRv4X+xTs=; + b=Wpa+lAplCI3vmlsiHpZ0sCGkB2yDjzqZPQrWsBP5cXK+YUlAqBsDerRI9wd3RcPY2H + EnOj6ZG/05VeThctryNBXm+40PI3/Z14nDctCAuIONkn8/8pCIOllj7FNX/rKW+F5j8s + aILJS4pHx9O2GFTsZVL4AniAR1Fyl7Z+emcU/F3PijAU3mgA9AiLu8SoDndPqPgGBqqQ + BF4GNDhJFv/fGqMtPLvicaumITXHz8QqHqCy142wqxP6zuc9jb5nFbZPA9M2pcHesM/1 + 3rGpFjk00Tq/B7r/KE8d2LppKXU22X/gaYTmZ+1EWBLvKdV0m+D664K/CtdtD6vo1asg + qbOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798620; x=1735403420; + d=1e100.net; s=20230601; t=1729866146; x=1730470946; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=vCkQef87UafIHPaKBzjI/TNxaxdQ71z7xXhXjJ3IVh0=; - b=S3blFj2usLTcwzum7sOOI2Ykro95N3gXwLZJ8kyA56j2jMCOsKbqqLh3exs+tI8Hqn - BtBZL48CiKVaFdPTppQB5cRZ17dITojU65dX1DU6iPFuHfC5ySvJQt9aFOXQexAxgWqg - VfUdaRBYAasJPtnTyNPS5ynIhCR2aZTeOdik2W+X1T8+WU3QdnvWhvHmDMUUN523j+N2 - 35Vs2vzTCdzaNz7O9HI/WvTnuQc6qTYRgy5SxBYSGgtGog3bZyd8AUlGJX3lKWE5Ui3q - kEMR4uQwceMNCWju19gdsOI/McQfVh+T5ZTe1f+s/bjw8ImJdEx63jKJ82XD+ttJrbP3 - bgFg== -X-Gm-Message-State: AOJu0Yz+Vpnc6B4qALYBKRaJpFKWYBLUudMYTAPH5STnWn833n4j3a/O - dvpTS+W1K1krNgMp7eB6Eso3+GiNczjpaecPWPiZNm8WR4wZGJ7vla6k5kte -X-Gm-Gg: ASbGncuRlMP1OxTy13VBubhw+oou319rmDJACRC7E5hklGhHW673SX/VHPtNGiYHzgK - /jffRrKfDl7s3Hq6eiND012grXQw6m5ftkyqriab+c70tH2n9b84Wg4c4FBM4CPCxzZK//N7MfQ - /nOdZ434jdUYuL63A47AUt4BMGDEbo5GWQhEATw/A+1deQL0pLMdRNP1Hyf66r0ktjvHUXJmrQ/ - Ixls3Oc8MvItpaLBu02w3foNNHKQXpKliM2K/2zLvWqUp8gpTRUwAtNR0opmBaYneeVec0RPzyu - lWjEALlmzCDVbw== -X-Google-Smtp-Source: AGHT+IGFtSzjrxZpld/A3WH7+5qxC6zPE1ngFq/O4Pfrlb5Die1s4C179UQcpgrJjPgfc5bK2p6rNw== -X-Received: by 2002:a17:902:e890:b0:212:996:353a with SMTP id d9443c01a7336-219e6e8c513mr118143945ad.12.1734798620578; - Sat, 21 Dec 2024 08:30:20 -0800 (PST) + bh=6HItyPXrtmMM6i7cBA3Fnz+dvPzXNQf0ncXRv4X+xTs=; + b=hiASFhPhxHXnaFrpXQw+tFPMBBX2qL1vY0YedaiztTnkdZ4nHLolZ9BD343lPrK6vr + Ed6JUX3hSKGk8bY8EYDxga22C/f0FeddwgWVS18wolsjHiPj6o4ilC3/y2ANVblT8rSX + hxXnOUi/Nj9chizOg+IUWIJRVksom8rGdLzPaMARvUHpRYQGwH43n++rXJrua15MUgtx + 1ibfT6VA72eFnKkrnEM8C2lI9Hx8E/Iil1+5TbyeJAUKQuX/uugpfSCV0mzMjlxQWYEV + FNPAY6zhMpFIVlnOu8SuIN8YS5G8Hs+AwlkdkdZeuXKZ5HANF4HXeJH7kuE0ltIzwD70 + rkpA== +X-Gm-Message-State: AOJu0YxBDr1bn7JXBdoZ/gGWykjgCVmmXoyFSlkFYb4ZV3a49lmSoQb/ + +HJxAukMq5F4RFzTQyaG4lzq+JKM0xLmOHcvKilxud5GK91oIAuaBnQ6HvGu +X-Google-Smtp-Source: AGHT+IGa25bEz/UR0PTxQUZSxs8Kd7BRfJdpsVjyhvmM8qNbwgZQk0EBmMVUjMco1V9JTtoO5RNyQA== +X-Received: by 2002:a05:6a21:e90:b0:1d5:14ff:a153 with SMTP id adf61e73a8af0-1d989a777demr6740320637.12.1729866146301; + Fri, 25 Oct 2024 07:22:26 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9705ccsm46079315ad.92.2024.12.21.08.30.19 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7205780e3f5sm1117929b3a.0.2024.10.25.07.22.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:20 -0800 (PST) -Message-ID: <6766ed1c.170a0220.663f2.c321@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:20 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============7460668934492534033==" + Fri, 25 Oct 2024 07:22:25 -0700 (PDT) +Message-ID: <671ba9a1.050a0220.775c9.43a8@mx.google.com> +Date: Fri, 25 Oct 2024 07:22:25 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============7169662076175162728==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "Alice" To: suegamisora@gmail.com Subject: [Reply Needed] Test Email 5 ---===============7460668934492534033== +--===============7169662076175162728== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============7460668934492534033==-- +--===============7169662076175162728==-- diff --git a/packages/circuits/tests/emails/email_auth_test6.eml b/packages/circuits/tests/emails/email_auth_test6.eml index 03602b57..86bacc90 100644 --- a/packages/circuits/tests/emails/email_auth_test6.eml +++ b/packages/circuits/tests/emails/email_auth_test6.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133934mdb; - Sat, 21 Dec 2024 08:30:47 -0800 (PST) -X-Received: by 2002:a17:902:d54a:b0:215:773a:c168 with SMTP id d9443c01a7336-219e6e894d3mr129080565ad.1.1734798647345; - Sat, 21 Dec 2024 08:30:47 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798647; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1028717mdg; + Fri, 25 Oct 2024 07:23:34 -0700 (PDT) +X-Received: by 2002:a17:902:e5c6:b0:20c:5bf8:bd6e with SMTP id d9443c01a7336-20fb9aca160mr62348705ad.48.1729866214624; + Fri, 25 Oct 2024 07:23:34 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729866214; cv=none; d=google.com; s=arc-20240605; - b=OuiNFpOZfY032ZZ52UEr8/KfRuKm0LjlUYnBMeAi34wUxT2VVDV5e/bjW2KjjrrgiT - y20061Fom3K6H55O85cMXrXnptAgYWWuNyR0p5mRiyejVrEHe95nGfP27ON+CjM71ye1 - uxKJdbTioSczbTyxWZF12hsCR012XLV4/Xsj2SRJhZ7MFwW6P5NDGTR/eMJIB0sqjn+p - jzq7Vv8CC/3k/qFaPmCkp8wp42XG3bV63N6VFFZh9bNa4mAcSp6nVdo/4jfZjbvK2eXs - Gk9U2BnpRJ4DWhmivT94vOOL8toyMkCipF6FDUufMqqiXGnfP0elOLeDv2Y4VoDjlORX - 6KmA== + b=UiY4Io8oOE7tVEFdLzehTudTY2WEV7a655LYJe/3zqGX1FQ1oLf82DgL4S9CP014Nx + RDY5Js7G3fRRkRpg+DAn94YJAvwMz4lQk+Ld8GGyOPUugzsgnIdzgCYtlo3hnw/wQgPm + F0nXIjvSyvOORNdfdKjnjPjW+HXK20sGnRCcIy99fsP8m4mTKOuK0+/aRzt57Hi6d4TJ + 6IOb5s1DJcyz20EehPaKsaY28OonW8ltL8Iyjd/IV63f81FFVUsWePNWjrqIdGQZjGGF + NQGsp9RRmSNkVnWYyDTwtkfEHtecvguOu2gTFNCo8l9URIroVMH/AQ/33kdFbomkk56l + wO5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=N6Hs/TcqfwsFrWdbvBtglUrO2xJdVPMGl08G81/Vo8o=; + bh=ln4eYrH1D79U8QvoIL3DxbustLn71hXsB2AuFftFFfI=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=dKhQR5kcPQn65VkPc1Bx+/PP0k/2JUM9utJu6ZRWnOpa/6bAK0oaoRHECxIBRJ3/rs - DcTuZ4kiqywHPcOZ/D+f0pYmY0vlcenkcbejE3tfDyhj1gzxpU8w/3pOIAajIkEie7os - QLf5WIXcpDBX5NQsNcTuW33FQ0w66LveuFyBc7IARYOM8jOjOTEKn5vdEi72pgiL306a - 0vVbKK1BnqBlMWf3pzQWmBCLdhSJM9CuFUsYYqR8FpOs3G34WVr0dS/d/85MY4TeAdjk - PTd5ZUCVtrMVIaG+nKwyynVZv5mGyPX/lAMlMWU+ijDh4lyqGXjw/K5NG1xFRRMpy7nS - SSgw==; + b=RgmHDmpqd2IVTsbocs+ipvbo9dmMt6e8+n6cn8AklhLk2VhPKakkaUkVQ+MByNQifj + Yh+24XF3LCSdAJZUtuljWPC0HNKGwApAxtwrTWQNMawhafXPODTjf5OKxqtBabivJ4li + oeCHaC0hiYpC7G19ddqRhAd62QUfDXSUD8wuw440sFVDv2AaAN6YWSA9DgeoJ20KE5hf + 17/CyiOBgTjM69WMNJBX7XxHRKChJ1z7ZoLHOJ1ib+mJpgPpKKmROhIX7ck6vXy9KzYH + QnZu/WjV69eDepmDFD1/I1j13Rm+5I1ZSnL0LD6Yin4ugZTI7bXVRRzy25WHho+m51Nj + sFfg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=QJf13QI1; + dkim=pass header.i=@gmail.com header.s=20230601 header.b="KrvSftF/"; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d9443c01a7336-219dca33ca7sor45999035ad.18.2024.12.21.08.30.47 + by mx.google.com with SMTPS id d9443c01a7336-210bc21b215sor9335105ad.20.2024.10.25.07.23.34 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:47 -0800 (PST) + Fri, 25 Oct 2024 07:23:34 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=QJf13QI1; + dkim=pass header.i=@gmail.com header.s=20230601 header.b="KrvSftF/"; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798645; x=1735403445; dara=google.com; + d=gmail.com; s=20230601; t=1729866214; x=1730471014; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=N6Hs/TcqfwsFrWdbvBtglUrO2xJdVPMGl08G81/Vo8o=; - b=QJf13QI1WqqeZGMiLatYdErTxyABrwSGAN0YkgU3fBjPvXPSIrF0aIlBqdnIKyLYWp - FMYEcLa7Wq+43D2NTP5+Lxe6+nVyRuRWy4cmblwfbGSqs0ITecUXFIK7jc8y99CZKKux - uJ9S26RfXIG0IdUOey5SHxi8yGoehO9NiCT6cX5iVB5DznMkA7VG/ejOZYOd8Fif6u7e - K//PvE8soegQWEMrp2nwoRAmHFBOpfI4H6wuR4+VpoqNmhGTBHVzwDEmHkUGnpOeweSm - md4Uar+hE4O1HJq6iUrajy/m7dcNDRROALaL52Kfoq4XPN15lBo+rUwmuZ40Pc3Z6l9b - 4EMA== + bh=ln4eYrH1D79U8QvoIL3DxbustLn71hXsB2AuFftFFfI=; + b=KrvSftF/Dhz3uF5pai+VwDkm+s04/mHB4/y8af0gUcXt3r+hZ1AcNfQA9VhSklQQT7 + fqdXed617Z5dMLKouLp4cWNYxrVBZkZD9udPyGaqEO7Fa1zidf9UzNkAikmWPTUbfPjh + lypVOIFwkmfX1dILxoo5nmIy26CIIV3ym6a6wKpXbJ/Gou80K3a22kDKM7lBOUFWX7Zv + pFDr5zFRIK/nbA2EaM9TW8tBjNpF4W1T8AVir6Da72782Bf4aa9bB9jAq7xahKq3BFjr + 7Bjea+2bGNh6gHrAU7I2Rh8bY3fV+Vmn37dzsAxKrdESWnVGup2Gndba4+3hIFl3PoeL + w3Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798645; x=1735403445; + d=1e100.net; s=20230601; t=1729866214; x=1730471014; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=N6Hs/TcqfwsFrWdbvBtglUrO2xJdVPMGl08G81/Vo8o=; - b=cU+PFY4K0afuIfcYaALYbdZndlZxNjpsiee2/luNIy5Mj2/Ash/eVqCPl9EQSXvpK+ - VQNfJSpkqvU/aiT9enXfuJWisiq033jBjDD6k6xJ4TTymMBa3m3NsT+WgAKaG+gfKyAT - j98x/6IFHdX390fNc1nKDTfKxYMxo2gKt7UBjAXDrxCI9jcuYNwbzhh9x4M2w+8Fyy3C - VwAZrUTSdS9H3FqbqhX/YI5TsXbwZCMjhoiP4CL61lpKBE2BlnOeXGpxWM/FoeuAEiVG - a4atffEe0Gg0XGKbv1CkKOGgLazJ/5znWOzFNOc8wk4zwr3jB7cgHoU/GkHescjIl/tj - FoHg== -X-Gm-Message-State: AOJu0Yw9wMyndXMsCGuprpU2n/frdZ4lqDnknjxIL19NddaGVWeLpuqV - Ict7nxc3uD68k+EisqWYSDb3DlD7Lvwsxcy6DzFHYZj+Ffy956fTAcHPaaG3 -X-Gm-Gg: ASbGncsd/NQ81rWj2clr47Q2cc8Jifmf0VsCrkI7htmdWXPa2bjZYjzDqVwb/QffVkl - jqFnI7ywXSVDidyPIz7m+surlaKRi+XPbrWXXQt89Yldg6CwqGaz3pR+Ph7OhBQBFmV3abrfLQZ - eBYgO9RWpcEKcYIWToc6VBkwlVEAM2TEKg/f4j7Ug8z1wZZTOUuVJE2S/jB0J3Jl4BH7VH607tk - 2ZlAXFUXsuqxuptc/acp0khtzt6XhkeuD7mxr06DxbwpwroHSU0vmEKPRczhYsXf/h5gaTMI5lg - rMF0GIDkjWuZpw== -X-Google-Smtp-Source: AGHT+IH7SkT0QdlEjX1WSl4mXiwqlt8AKzG2VizoqRd2OSu+GaDTmyTZEA0UvVRJKV76/3KUKYinuA== -X-Received: by 2002:a17:903:22cc:b0:216:50c6:6b47 with SMTP id d9443c01a7336-219e6f266bdmr92731085ad.46.1734798645606; - Sat, 21 Dec 2024 08:30:45 -0800 (PST) + bh=ln4eYrH1D79U8QvoIL3DxbustLn71hXsB2AuFftFFfI=; + b=GbYMbCsI400YqSo9jFm64o3pAXE79gvCO4Xk/4lSaryBB6hoLX+UitkyIyfI3lEJeC + bgi1C2Q+g6P6XK2HsAXpqDk264VnSyVQnzYcXHaVxzRYy4hUSdmtEVtFoya2bA1nrQFS + fOpPbm9Lqhh4Fg0+Dgh6ceh9ffe1iPkUgofPs2B46nTczIePZUR8E1slpt5R6tmWvQsM + tCY+aVcv80VmqYjoJgB5scyIWB+i7nLuu2VTDiMG9vk3d98Je7Wp00/vVWTesTl6wdeF + iBefyUY/CE+lesOXEFhVETYsmAgrMcfbAi9fHZOJCCcsYeLVzZSRp5f1VP9D52Rs7sAO + 7alw== +X-Gm-Message-State: AOJu0YzuLjl1RGUCa2R1WsTfXaybN/EiJ8Mp2JRelbD+xCQUqNgCsb18 + fjjuEO6cjigEs7Uvj2+yPOoqMRdBaa9k38sUutW4sMdMwuvcwFsHpBdEgoDY +X-Google-Smtp-Source: AGHT+IE5RKClLLsWii0Zz4+IpZAI9TLY8eOHXMXBiXmGYJjiLW0dMyOGP6+PclgFy5UVSWP/oiBOcQ== +X-Received: by 2002:a17:902:e883:b0:20c:d578:d72d with SMTP id d9443c01a7336-20fb98f1eb7mr80402645ad.7.1729866213877; + Fri, 25 Oct 2024 07:23:33 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9cdeb6sm45912645ad.163.2024.12.21.08.30.44 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ecdesm9892885ad.206.2024.10.25.07.23.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:45 -0800 (PST) -Message-ID: <6766ed35.170a0220.6ee40.c7ea@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:45 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============6650138698755798309==" + Fri, 25 Oct 2024 07:23:33 -0700 (PDT) +Message-ID: <671ba9e5.170a0220.2e7f0.3d9a@mx.google.com> +Date: Fri, 25 Oct 2024 07:23:33 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============1589864651930508876==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "Alice" To: suegamisora@gmail.com Subject: Re: [Reply Needed] Test Email 6 ---===============6650138698755798309== +--===============1589864651930508876== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============6650138698755798309==-- +--===============1589864651930508876==-- diff --git a/packages/circuits/tests/emails/email_auth_test7.eml b/packages/circuits/tests/emails/email_auth_test7.eml index d87ec271..ea04faff 100644 --- a/packages/circuits/tests/emails/email_auth_test7.eml +++ b/packages/circuits/tests/emails/email_auth_test7.eml @@ -1,91 +1,86 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133878mdb; - Sat, 21 Dec 2024 08:30:43 -0800 (PST) -X-Received: by 2002:aa7:88cc:0:b0:725:df1a:285 with SMTP id d2e1a72fcca58-72abddff55cmr8569257b3a.12.1734798642800; - Sat, 21 Dec 2024 08:30:42 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798642; cv=none; +Received: by 2002:a05:7010:2284:b0:415:a8ba:b98c with SMTP id r4csp1031766mdg; + Fri, 25 Oct 2024 07:27:57 -0700 (PDT) +X-Received: by 2002:a05:6a00:22d3:b0:71e:4930:162c with SMTP id d2e1a72fcca58-72030a517f5mr13453926b3a.6.1729866477028; + Fri, 25 Oct 2024 07:27:57 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1729866477; cv=none; d=google.com; s=arc-20240605; - b=ORIa53BSdaROD2VUSuPOc2D7olmRoWrrwZCZQt/PUw9L3TJgRgY2mRy/IohIqSgOdI - G96INGJCFIPQxqfO20A4c36LCay7nqlzpaP4aZGsFZNuh5eU7FaXspV0bQqQDdNai0Pk - gvvL72FJGQITe1sOAbdLEUdmM2UZ8JSriffJvzcAh242l8Wz4IFLiEwTrNHX8p/sCoR6 - OnWncAJr910bZbm68GRGuoBiQJncgSqAuyultFfPBGUVTE3K6HhPuMqmn1e9dxJJ5Nqs - RAbKoB44t2rx1x1nE3Wx06kfbxhM3nfcR1QpFJ8itJDRuPNSkFtTifqvI2w3DyNamV+X - wK4g== + b=XmTjknQ4dHK4Jpz+h4JVxCS5kiJbCyBTNRh3AM45bJYeYqYOBEnNvNoAqFkstrS4DY + u2lMT9FuS9OWyASXl/ZuDegFjlXbYVUDQ+zyYCxZDbg6WjKhnGevutQEWfPzEBHQUbkq + GguM3+QpHEvv0MSK3H8P/FjucQmwnPPjg3xErUDiACgB2qdaa/qNrsSbGqPKIgk9Xltq + ohrQ4fz+W18mW6tNgE6ijFfqt31xtUBqyXpWembFHnNLnFHCVe+3nSdpDWw6be8ar5G4 + /i6QmK2OJKJGUt8q1Mcw7xMOQ8Jr22LyYw/uSZMLY1HysiZ8DYHfpzeTZO6UkRJolLTZ + ioMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=b3i9CdSZjxzCRD82nH58MlhBFAjSXfseNvzMl/hNPzA=; + bh=LC/5Oq6OtPdl+4eOPJE2ZXrJpnslw2SMedCRl0ndjHM=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=coTrkHIVTtXVgJJbi3Wfm+VHNLbcJlVBWR8ow/p7Ab9ZWJ4zM87pZueRzJxksUiRZ1 - LTu8e28jrpCEHppqAQyJRuHjgMUH0Guaz2K8ZoVFeDHRbXWMmzWDy8PPqs5GUrubIta+ - iXPiitkZEH9LCtzgJNingacs4zH9KOhMkcu3M1yg2UaEPV/CgiCLWqkd7zWYPT8Ddbcx - PDhJ8mgCi2jOMP3g69q0bUeqUZAl5Ijjpa4mgWgh4dMhIVkAHb6xaZHkccO6sRMCQUze - kvdIqhPbSHdHtOgoOxsAYpjYqKIU75Y0gTdHFiTjSeTMyNdl2ex7N8tUpJRlKCw1iBx0 - bM8Q==; + b=a5T8tfxqMK/b9hEKgZvYWPDYWg+ATNDbi88i1Uh6ID2yjtRzx88IIa3OKGI7JfX5XP + 0wbK7tMlrox8d8Sh/PKzoQMn7KcwFzZ4kvrxG8vXzTz7m/evw9/2XwnajcfrkGpMVAX8 + CZe4piv6x0LcGjlDFQtmaMDqrYGtEv2h39LsH6qb6hvg5Ud+7vMr7RlpGBaZ/j67jfVD + FFXjsZoQ98ASZA4dwEJedaF4VDoaZVLN7lLiOmgmxByXbLlPfRuoqjC57Gna9SQaGbZw + OvPbCBlpxM9mRk7mzuopuRtqyjNCS9wlhZiz2GiKbCqIXn3wEu4si5VP/Q3ayzJBWnuT + J5aQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b="j/M6zHB+"; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=anDrqw2E; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d2e1a72fcca58-72aad83ae4bsor3003794b3a.2.2024.12.21.08.30.42 + by mx.google.com with SMTPS id d2e1a72fcca58-72057939682sor863659b3a.5.2024.10.25.07.27.56 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:42 -0800 (PST) + Fri, 25 Oct 2024 07:27:57 -0700 (PDT) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b="j/M6zHB+"; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=anDrqw2E; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798642; x=1735403442; dara=google.com; + d=gmail.com; s=20230601; t=1729866476; x=1730471276; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=b3i9CdSZjxzCRD82nH58MlhBFAjSXfseNvzMl/hNPzA=; - b=j/M6zHB+O+T9meFodvTwVG0LNtC5Q3U/CC9kCDgVtrMhrgWKxB4mPCBJ58qvtMgctR - 45PLLFzSangQDcjMmo/FuoE68XHR8RHoHiy2MtkhzVjQ66TutPXYT+tT8NYfuFK78yQ3 - ZbLYnPzWwERT1sqT2/kML+rmbUPBwQL67mFk2+1U4n5+udcJco7IWu6ULMoxS7AeVZHy - iWlME2Rv26XDyNSHx7O/3CJ3CAA7PRqKL6Uv0T+quqNG9ngGt0WQgmcb3EKoJvoJPWeY - d34njCg/JF4Z2FfitWwqmM5SFrG6Ml8Wte5esQNDxT2yoc+fU9CpAZYykK01K3pvVRZS - w/IQ== + bh=LC/5Oq6OtPdl+4eOPJE2ZXrJpnslw2SMedCRl0ndjHM=; + b=anDrqw2EPChWGBU7AuarTKA2sKxGxo7/ixgBP+RLZgzfdoL3gguGtySNOGnOyGM6cF + 9hWbNKpSRpaTXzshtcri+Ikf+2hjIPRoNYDVB/4AcPUrCjqCGhiu90fnrxaVU20jT2Vr + sJj5mqBblj3B763sKaHmx52z6G17l2fv1n9cXVA3LwbGUglzrEdgDS4dQ38zqqxnSgYj + KystOX95LvO9q+RgKNPrJ+eMnMYD6dvm3umTebxWlG5mRojaRZQGdNdmeniD4+/bwJ3c + pfFOQ8FjGoypJPK0tqS76saWgR21xc/blc7K6xBQLyQ2qrI7pDmtUlDnW8mgeC64a/CW + eP0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798642; x=1735403442; + d=1e100.net; s=20230601; t=1729866476; x=1730471276; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=b3i9CdSZjxzCRD82nH58MlhBFAjSXfseNvzMl/hNPzA=; - b=mhzILU5q3MwUg7M47wL88LFRJCgFITJiA1o2q3JP7sVqMYqA1GAhx60cMbblQfStcB - qBJaDw7WVb1FuGT5ycBsYQYrR0CYn+jsGNB+HzFn0C2GT2ckG09YmpS7hxpEv0fRdaw7 - 2QJv6vBx11QbssY/uSS0PB0yg0/W8sBoy7gMSxhgqqQFlCRiOsoqgdG6apkex8vrZX/T - f3ePI5Xmkkwgd0bX6oypCDAGlZSP0n21d48FsEU0VY/Y8TltwFM5sNef/KxehCw/Yhtj - QqY79CclW6OZaa74BwbXEGMF8gXDKzdaofdLL7c0PjBGJn9bEbR5hzHStesoTrOzHMfq - 3q+w== -X-Gm-Message-State: AOJu0Yw6wxbeevNLhd5c284VMPHl3jLw7Xgk4IUN3qHE1FI0ByKa3gxB - wi6jeRoq/EVM3O0FCD4S+aqjRtstZ4/+iw1YPyzQ574+q6DP76i7p8knr5lz -X-Gm-Gg: ASbGnctIRvbbKUUpc88VGYZRw+AQRfGhHk/JDuFglF6xRtJ7P/F9BXjoHI5bOR3IRa7 - goj/YjSCGvxJer9N6ADo92lUPaPxTUBKrxTsvLVda3fo3oBLMckdbpYAFUBQDbQKDdSvicAa5u+ - QLd88XR/Gm4U0DOdjL3cqnHTMRVHTZOZJ2adYvtHYYXcTLLGxuwpwYmywapqSgFOAFqwm++VtOv - VPQHCmpmxNjABkK9pBCfoXL6gHHanX5ahtiZxMgQ3Th2oNhNupE0lUwqoJUgAGt0NcLbZphRoZp - m9pktoYJ+NMUFA== -X-Google-Smtp-Source: AGHT+IHSxKalGENKw28hDd1uq2IjVsrhS88AlswzaGYB8t1EkotqxUTCFkKXl2upHFoYm3kLa874sw== -X-Received: by 2002:a05:6a00:21c2:b0:728:e9d1:218a with SMTP id d2e1a72fcca58-72abdeaaa3fmr10039941b3a.17.1734798642032; - Sat, 21 Dec 2024 08:30:42 -0800 (PST) + bh=LC/5Oq6OtPdl+4eOPJE2ZXrJpnslw2SMedCRl0ndjHM=; + b=S+yBX9UilDOty1GGjXv08moJZPwI32wfakEbgVgD2qt9gHjnM1pdD3VJFmqLWBbE6G + EPQsuVmdii/AazgiWK07N+MAZbrOlCOuUMbtdDfSBZwB/mmoCu02mfD7NJCgMKi/4FMT + B1tyJSHe+911xkzZhp3Q9wjL3NphToMb05te/+JfViR2NCFsak5q0lwkqJgmI1chNGt+ + XEFxrU0+svICuyJ0bcWI+uJypRc0jYXotW++yoJr9sd+9TOUbI4GFg4hnCEZOY8Vv7Kj + UNAR9rNhQAD/lUqWiTpM+vU/iuMMvEKUPPTZ3wUfOF1VTd2KzEjCQqc0sCw+5+wXQhuv + FnEw== +X-Gm-Message-State: AOJu0YyBoiRAIml7mTwqM6BxAlcMvxEnTLvTiUF2C4nwxiY0fUWGbag0 + LKiVP9kkW4VI7l04BWHqg0Z04CHQJgg/tyi45s6Am8F1puedqhpKmAC+X2Kh +X-Google-Smtp-Source: AGHT+IFHsmfCzGx0FAHdtSI9/BuidaiAzep1CqKERtZh1qOeguO6USAYGK2SHtvLXXHeGE7pwPrYGA== +X-Received: by 2002:a05:6a20:d805:b0:1d9:2018:9e24 with SMTP id adf61e73a8af0-1d978aead30mr12276795637.10.1729866476232; + Fri, 25 Oct 2024 07:27:56 -0700 (PDT) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad8dbb65sm5107559b3a.122.2024.12.21.08.30.40 +Received: from SoraMacBook-4.local ([93.118.43.168]) + by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7edc8660a6asm1144014a12.9.2024.10.25.07.27.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:41 -0800 (PST) -Message-ID: <6766ed31.a70a0220.4594f.eaef@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:41 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============6247470194495948825==" + Fri, 25 Oct 2024 07:27:54 -0700 (PDT) +Message-ID: <671baaea.630a0220.389df1.4b77@mx.google.com> +Date: Fri, 25 Oct 2024 07:27:54 -0700 (PDT) +Content-Type: multipart/alternative; boundary="===============0054196134273425787==" MIME-Version: 1.0 -From: emaiwallet.alice@gmail.com +From: "Alice" To: suegamisora@gmail.com Subject: FWD: FWD: [Reply Needed] Test Email 7 ---===============6247470194495948825== +--===============0054196134273425787== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +90,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============6247470194495948825==-- +--===============0054196134273425787==-- diff --git a/packages/circuits/tests/emails/email_auth_test8.eml b/packages/circuits/tests/emails/email_auth_test8.eml index 376a5e69..bcea2f47 100644 --- a/packages/circuits/tests/emails/email_auth_test8.eml +++ b/packages/circuits/tests/emails/email_auth_test8.eml @@ -1,91 +1,92 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133774mdb; - Sat, 21 Dec 2024 08:30:30 -0800 (PST) -X-Received: by 2002:a05:6a21:3189:b0:1e1:ab8b:dda1 with SMTP id adf61e73a8af0-1e5e080c4a2mr13262368637.35.1734798630223; - Sat, 21 Dec 2024 08:30:30 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798630; cv=none; +Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp11790259mdb; + Mon, 6 Jan 2025 01:59:22 -0800 (PST) +X-Received: by 2002:a05:6a00:35c3:b0:71e:13ac:d835 with SMTP id d2e1a72fcca58-72abde01ab3mr69360198b3a.11.1736157561948; + Mon, 06 Jan 2025 01:59:21 -0800 (PST) +ARC-Seal: i=1; a=rsa-sha256; t=1736157561; cv=none; d=google.com; s=arc-20240605; - b=e003LG7WQ85eme9lYbZeLb3Ue0l07V7HQmWqhGBTW9V41P+x5+3XPq1YE4TW77dUN2 - tNeEk5qfv3rM6DTCU5IuR5bK7q6DkGIvrdjnZhnM20BawB9x4R4zJxgMQX6WY/jt0J/d - D3EtrE/g/2cajEP0DyFf//DenWiCN+SEnQbL44F2C/dOsP5WmdTFoTxTez5GeuSm2Esv - +QduXVo7VJU+RnDzfesUZjWFykeTyYfOdqlMZMZFFDUPYgDDYmGQ0FD/bbv3qO7dgr6V - LzgYyHIzhD7FM6WdyjEq0hOSSdkfyKzl0GVDV9BL2+R5AhKRqkv5UR2+J7PC75iy5cx+ - DIkg== + b=Qh+kFg8g7hRwybXmZ5nGTDb2T4qyDc2EFMsLqTdWn/RS+KPHBwRCgMXFvWZiuGXw0N + +L6byiRKEtVtR6/dmHFbSKb2JP2ZPjfKELPX4bofEzqZ2hPrasVJZ74fR2CTT735xecG + R7fszu7R7Feiz4Kff8jPaMFnwvID8BBhYbc/TmCeXAabSgi7+Q/9GSsWOyLa0rBFB5Z5 + WPznqmW1cDJ+JCvoHnylWMiscQgbjG04bdXql88asg0KROXzSwnECJ8BcBlGtivO32/s + tdrT3qdIuuXXh/14pnfdtj5AEZWW+Z0F3FWmdZhdhjn7a4MxfQBfAmBKXjtrL3a++oie + kp3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=rcCzxIDyd4OmeFIo6TyXitT2ZUWmc5rn1iSO8rUa8X4=; + bh=TuEe7KeX76bH+qVW7l4M+Io0e047z1dE4X1rYNDQtL8=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=ZLok658WnDIHVsmZbGTp0gJSHPLsB+UTzurb+2OYYC11w0/eQo4WvC2HC29tCJFwzZ - 3WY/icenMf41IF9TLfDweFBvUmpn70HqBDzK4nPdgEfq+l3X684wJQQi0ca23L6AVgoN - Yvjp4SQJmYpRBRBUyLNZeKcIjqS5xSR/jX2LsvrW7CcSVRVGLpJib9qPEZmAtQ0kfz/D - NGm7wd0RF8DyX0/RvF+/crJgZt2SYjVAs92GiXDSZRunqgCAJY1PlbHO2Pr0KS7q3AAO - fE3QY6cTO8/D/bAN2mDtfNL5A14MdJ3GQqrmXmNEYWRm1az4Zyj9m1y9HVNs0t4IGnij - FbIw==; + b=fibTqHFnFbunUMBxmg0fuNCFixbbUg18rTH9yVLLAYQPVbm3ZOJpORpbIDTH7WSCV2 + OTNgMyEiSG//4jyUAc2GR1JfZkGauTcOcjfxj+25ECorrQyVEHkR46BhsTRCdkvUOHLL + bvz0PnAN8AWe3AEExo42OLEa9QCVrQYwyQ5shfW/v26GeHKgNtQZjt+yRySSkzfkunj3 + 8UQOjFK7C9aRo2sKHUzw5zEURo/4H3KypEvcOgigTEGPlPv6X5J+IVH+PzUdkEiEilL8 + 3gsiLmOa/0WtQDBPjqtVbx1s/D5syXp+FLfFBDkfcd2vUaexc6oZqO8Cl4D2m8zeCzkl + Od+w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=CYCi+18F; + dkim=pass header.i=@gmail.com header.s=20230601 header.b="AM/Xv7tD"; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d2e1a72fcca58-72aad861ce9sor2900669b3a.4.2024.12.21.08.30.30 + by mx.google.com with SMTPS id d2e1a72fcca58-72aad975461sor24899368b3a.9.2025.01.06.01.59.21 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:30 -0800 (PST) + Mon, 06 Jan 2025 01:59:21 -0800 (PST) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=CYCi+18F; + dkim=pass header.i=@gmail.com header.s=20230601 header.b="AM/Xv7tD"; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798629; x=1735403429; dara=google.com; + d=gmail.com; s=20230601; t=1736157561; x=1736762361; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=rcCzxIDyd4OmeFIo6TyXitT2ZUWmc5rn1iSO8rUa8X4=; - b=CYCi+18FrnYW6jo/zUDVIE16wSTguUcl5eJOG3NuQftFfKk1j3F3OTqvTn6uyaaNBM - YM7PT0uMJxuV7g+1Dy5+rUIEaVV7p8S7BdBg16BsOhGpbchIf5cXv8A+MB9poouXESCL - k7yDa39j9pyX+FXhKSnrOebybovQiPBIlSIbf2KnZxkXNuWUWwlKCgJLzdBrZevLfA/t - HVS4N5w8fJbXiHPkJHW0NdaMn/09l12tuL1TiPuxTTMu4wQCiBTFG8O8rlW050O8isAY - snH5cRBhN31NtOJd6+7xbrseae6/aTA9FVU+Z/pab6hu/XH1v5olQ8TzKdqOJPuwEo0A - INaw== + bh=TuEe7KeX76bH+qVW7l4M+Io0e047z1dE4X1rYNDQtL8=; + b=AM/Xv7tDOtSMo8FzOwL4sVXmiCj0Vn7Keepa5Ww9DUsTbptS35vmkkjHI2N//CScNp + QLSHn1gSimg+TOr6d1qwpVpXGNnAPjNLnN1hLjdLE5eUKVGWNIpuPdmJlt0783ZsfBtS + ZHlBxoygBMMzW4Nx0iLeVqnspZRcGm307JIi2KHlJPOnFp+41bTGU1ysRz4X3Rd6zsMD + OA91yb689IdoXJaUfQdLfH8vF7M4el7CfWv8np1ddKXfZJ7FOkHd9+fsZyTlfvNAt83f + motO+cE1l+FfzwoWpfaHNhn6a99EnDTBTp4+q1ZlNABhA6/7Qs4SgyaHW52yCJ+tZW9D + IcGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798629; x=1735403429; + d=1e100.net; s=20230601; t=1736157561; x=1736762361; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=rcCzxIDyd4OmeFIo6TyXitT2ZUWmc5rn1iSO8rUa8X4=; - b=C5hNaLdyyFtbuTffituxXFVK2qu1mycwlS8QwhgWjbK/jqO+6J4FA9S8qpcxPnOjQB - enKdjwIbGvyZQa8PCmyoscTCl3PVmnroC67oShFp/ehveUfUnViD8mTQuN78pLrAsl6C - +WTYF4V0mMgFLVBkCcteuxAyTl6lKfz4spLmKVWWZl1EbA3mIhxemfDOopH8KZD/lFN2 - Tn6pqZyeuKk3FrmRW7fIBE7/8ut993YNtKNPcB545gndOcGxmk5gPaasN7rAAcqNgMV8 - TWAuQxvAU8USlVaQkG2nRt/lYC99Br2pC5oJo8+0aKJN8Retf5P5Dx9hbgR/806Ranc3 - Lt6g== -X-Gm-Message-State: AOJu0Yzby7iI9l0SbwqvXP9hh0WQLC4ibFdJH2RG3gtKW7e0s84IqHIh - xdI8KXYLYWcTTvIImiyL7H0xc+zpM4/Y2XU8sHOcqugxPSJckVDjkPt71AuB -X-Gm-Gg: ASbGncuOA+AK2UWQK8a3Qy90kU2lOZehwyOdQ5x3c9YJkVNOVJIpe7NcKqGtRkB9OL8 - 37IhHU7KrmUTAr5zO/xsU90mcUw1vPSlLW4PCB0znYe9QhsEnPxHso2J8BgSAJMQtMgOcbu2GeV - uEzc8p1frLKGY5g8HVseCuI0tHjUQFVjCWwNGLLpoxaLaorJHGylWq2qgocMo6Gh40E2Xp5h+W3 - gYSjcf4DOvDCfZt56YdoCLgtPfipFYyYOaR5FYXle1AasA9DgifHY/gtBTODGCpQTNKn5D60Qh3 - DdvX2Gw55Tndeg== -X-Google-Smtp-Source: AGHT+IE+Ct9MqvIqU+AeZJH0tN+5BC7NjOJ6F+Rw1TvnuLXMQYuOHZyKYBLlUCGbOsN1bBq7hpKU4w== -X-Received: by 2002:a05:6a00:398c:b0:726:41e:b313 with SMTP id d2e1a72fcca58-72abdeaabdemr9126021b3a.16.1734798629060; - Sat, 21 Dec 2024 08:30:29 -0800 (PST) + bh=TuEe7KeX76bH+qVW7l4M+Io0e047z1dE4X1rYNDQtL8=; + b=g1IrJkGLQ+tJQPN6R9RbO6yWfqWPvqJQjhSeS97zl19Y6vLu2ncm53nFN9y5BF9XxJ + 2R7di3fJD78e2v53TkP56ldPsfzjV1bLhbDC9aH6XzqWuoMJ32EMxmKU7YzplqxPsv6P + XQzrdsA3SuOquaZqMOPn2WHH8lfOZmBcqAJ4WWZK8+naLNReX9x1TpBinauq9mhhWs5+ + Sg8sqFKJ7O/Uo5ylpBBKlXLnthNQ5B7oRWLmVZ4Wro8On2rY+zv7WI91oU0pyu0gQyiF + JZXn4Sp1oT6i7kuK//n7cZQORVm8XPYI3PqpJ1pruVaXcaEJGA99GL3TYiBkMwM/J27q + yCNA== +X-Gm-Message-State: AOJu0YyLdhumHv259Wb28inKKKcn8/NoHY5ijRMNzGao05haJf8pIT/2 + CF4end7jHY4uIH77cDYnRnENlUB+6uuhbFE4uxmisHoB8QJzmqYZimgncSAx +X-Gm-Gg: ASbGnct0HoqKN2Do6beej6o2wHyMoHiTYHeEPEuoN/eIvMwOArvKOyeqaOrySu2DYFX + Af1dpr+D1DLle7HRS0FfGMWkakLsyhjQkXiSIYi5Vfph0X6rMgCVhRmAJ4HBh0xp5VVHNkr09JV + p2wuRQw9DfpMxsN1gEV9IpP/TsWic4/aUD70+uJtYeX5JK313PiZV80sFWgBO++00GkYMhTkb9e + mbKPDdBbSX9EtvQPqCVUuBNLHIH8YcDjlaArTnJiZfA4//vIfgLweAstOeIz0clFJKvfzPR1k4x + sUW0a/EhxIyT3BHp+i9AonXBgBRXPPHCjfmVOEmvRoWEWlet/tYG4jl30NUbiwqna14LXNtmhft + QhOo+DbwzeUeyxqzMYQ== +X-Google-Smtp-Source: AGHT+IHy2WfxGFlt6R8Hd+zdWd+tem873NgNZAh1+x2T4uGbOxKq1HHKKu8l5d8Ni1kpGlubuBl9qw== +X-Received: by 2002:a05:6a21:33a8:b0:1e1:bee3:50ea with SMTP id adf61e73a8af0-1e5e0481b36mr91590209637.11.1736157561181; + Mon, 06 Jan 2025 01:59:21 -0800 (PST) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad8dbb87sm4946383b3a.113.2024.12.21.08.30.26 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([240d:1e:4e1:3300:a4e5:d3ca:ba9e:a6f3]) + by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad831148sm30987490b3a.53.2025.01.06.01.59.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:28 -0800 (PST) -Message-ID: <6766ed24.050a0220.1825c1.d8d8@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:28 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============7337785757624271155==" + Mon, 06 Jan 2025 01:59:20 -0800 (PST) +Message-ID: <677ba978.050a0220.4888c.5578@mx.google.com> +Date: Mon, 06 Jan 2025 01:59:20 -0800 (PST) +Content-Type: multipart/alternative; boundary="===============0064324877274646449==" MIME-Version: 1.0 From: emaiwallet.alice@gmail.com To: suegamisora@gmail.com Subject: Ynt: [Reply Needed] Test Email 8 ---===============7337785757624271155== +--===============0064324877274646449== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +96,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============7337785757624271155==-- +--===============0064324877274646449==-- diff --git a/packages/circuits/tests/emails/email_auth_test9.eml b/packages/circuits/tests/emails/email_auth_test9.eml index d19aeb18..4432912c 100644 --- a/packages/circuits/tests/emails/email_auth_test9.eml +++ b/packages/circuits/tests/emails/email_auth_test9.eml @@ -1,91 +1,92 @@ Delivered-To: suegamisora@gmail.com -Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp3133670mdb; - Sat, 21 Dec 2024 08:30:18 -0800 (PST) -X-Received: by 2002:a05:6a00:1411:b0:725:f376:f4f4 with SMTP id d2e1a72fcca58-72abde01aa8mr9512964b3a.13.1734798618169; - Sat, 21 Dec 2024 08:30:18 -0800 (PST) -ARC-Seal: i=1; a=rsa-sha256; t=1734798618; cv=none; +Received: by 2002:a05:7010:980b:b0:420:b530:eccd with SMTP id cl11csp11790237mdb; + Mon, 6 Jan 2025 01:59:19 -0800 (PST) +X-Received: by 2002:a05:6300:6681:b0:1e1:a48f:1212 with SMTP id adf61e73a8af0-1e5e1e045afmr90640238637.4.1736157558754; + Mon, 06 Jan 2025 01:59:18 -0800 (PST) +ARC-Seal: i=1; a=rsa-sha256; t=1736157558; cv=none; d=google.com; s=arc-20240605; - b=XHyQ4HK8LawoFnOPlvDBxDpZlaSSs7DY65IlYnfi0AtPqxUNmGPhPUaq0pTqp+cEN3 - t33zvhdlCubdgW2LS0VVe4Y2Qbm4hLgm0XtrMvZogFJNGp0ysUEsL9FXsNsX1aHgDVyA - lNEpxPkY4ZlbfOVM3ZUQwHZxIQCk+fLSLiL7D53TSEwcX51wG98yL+fadDe2sVjiCHPL - n3ZeMgJaThySYTDWgUrhILq0xKecvDrDSCnRRQzJpi8+CYXf9rxHqGBuxYdVpbo+DBgy - syLew82xM0+j3kJdwMWTht8J59jnqBiImF/4BnfH2pXNxtEyYlfAhAFlWZAPAIW2RWQ9 - ceWw== + b=L2eHDCTaOYuDudSqZaZl7vfh0OLxoRu/wDv3HT4GKhRoWhoel2bW83KI4vzqAlpx2P + piwKUIHqKmrwBWT6n7wjkc1Dp1IN/55Q/MI6duZtwH44sgma4CHLPVO9EMJ+Cx4H6eAe + PwmFchvtCUdK5wIF0X+oumMWJ0spwAE8Nho/eIwLM0SJufDn+zY9FM/1neHKnylhGeUA + 6RFfvUqJnC9iorYDa07fZgVs8NUzZNXwvQTymGl6lEjXxlX1/RQShKc/jodewIt5NEgy + U5eARDQzgb+JycCv0tbRHInV1wKOh5+JzYb2UnZZQ8AmeRAb7JyCekXgXuZMBEvYlFFX + LEtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=subject:to:from:mime-version:date:message-id:dkim-signature; - bh=PJlZrxDrAYMUHxY9BzahqCFg+QakUDe4bowN0beQXPk=; + bh=S5Yb/w37XTcXmVIfAs8BMCM75OJY6R8cLHliqbuqLY8=; fh=r9ZW45D/4i7BIl/4UeFGrkYKwbplztqhOVKfbV+WD3I=; - b=PnXzUvLksyYYMd/0Ii+dhz0FnoYwZ5+whAnzY7cmb9NMu+TLzb1QZ/p8BAcSZEQRsJ - L3jSDVG3yefPS5XXJjmr8vT0VIKgDImw45P8rco+Wz0VIhv9AeK/JjcgZ8Vh4YJAwEer - naeiKWSPQ4o2P/+rRUdsjQUU55aFAyapc4ChXq+r8cCc5HKd/ZzBlb9nfXmQ+mi8h6z1 - ECx/OCGtqqp/+T/qHtnYKRUDQOe04odsA5wm1Q5eYOYYv5GpyMpvUC+mIdiCJGN3ICqa - TH09+Pj4RDjUKFTcnf2JNTwHa+n1Dt1xH1z60IRG+VegRSG/ql6QrtbWRgzO8B0ejgLA - CmZA==; + b=HD0tUCuBi2JxnyvHGbAJG8Ubf+g6OHI8D6/JaxyzcZxAOk6A8cH0OjS2LzlRmVcWp4 + zBhnHAJ4LuL1aePMkSmbzstcLJRdIUDWkMzEtWxIsJ2oAqD4G+xpx+zCRVm9LwE8CNZZ + OxU9RatloxuuXEbgQH1+bqxX1Wautj/+IDZnlO/9GJY2EMvccKbD9NAJkQXRe+2fIOC5 + oyxeVOefaXGp991Ppl2bWiOgPLMHCqoNeV5NBOLCvsgGPBB02H7ST+hP42rfGiRM6Ojn + g0f1oG6wnokAmep8pEVL9YrQX2qwp4zP9VCayHIazrknyspbOVQ2v2UkWQ9TeEZjv/dV + C5zg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=PyEbQtEI; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=aYr0y3DH; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) - by mx.google.com with SMTPS id d2e1a72fcca58-72aad841441sor3172428b3a.1.2024.12.21.08.30.18 + by mx.google.com with SMTPS id d2e1a72fcca58-72aad8ed48dsor15107253b3a.3.2025.01.06.01.59.18 for (Google Transport Security); - Sat, 21 Dec 2024 08:30:18 -0800 (PST) + Mon, 06 Jan 2025 01:59:18 -0800 (PST) Received-SPF: pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; - dkim=pass header.i=@gmail.com header.s=20230601 header.b=PyEbQtEI; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=aYr0y3DH; spf=pass (google.com: domain of emaiwallet.alice@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=emaiwallet.alice@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=gmail.com; s=20230601; t=1734798617; x=1735403417; dara=google.com; + d=gmail.com; s=20230601; t=1736157558; x=1736762358; dara=google.com; h=subject:to:from:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; - bh=PJlZrxDrAYMUHxY9BzahqCFg+QakUDe4bowN0beQXPk=; - b=PyEbQtEIXATbQobMg5hVP4KFqbXJtN3df87fefPnFFocCriLrWcQL5ZWvMWvI9qtBF - 5A8PMG/B/Lpc8sQbYqcGFBVPWA55t28mXbAEAmTbOtQJ2nFQtLcoSkvOAHXHi1G/GmTK - VhMOAx0emAnsgD9f/ipMYi4OpsGOuSwmvmN7n73NYexTFaja3jeO2f9rwv1kfBGldx/y - 4oxcGHS2cZJWXOWFRg/XDaN6eGWDHMuPgZnDHWk9dfejKkWWgET54Sf8Y5TVqfAgYwRm - BM70sJF5jrxsYVOA8acmO5Cp6fsuoNCTUERnp7oWPpZ66MYPAK5G5z+jI8lvX5VRE6yj - tMRw== + bh=S5Yb/w37XTcXmVIfAs8BMCM75OJY6R8cLHliqbuqLY8=; + b=aYr0y3DHjbOyI6A/Fx2Atqj0F/sRzzTkFHo0n2lcUBpqsazc19VVwtcN28zNc556u5 + EQ+66mCzhnjtesGLxbj8+WvJY+GwSBi/aho3PQ6Cv3B0lzCdSmyR4fDaUrA4eYliGv8Q + PSX5Mz3G3RvpADTG8q+tw6+VbPx8/UCZI7mI4xS7vm6lzKBzCvGA3Qzo0CG1e6tfafmj + lHCq63XKW8s6eDm7Yq+a+DVR18nH+4P9fucAYw6FZE8DRLZDrWztUmE2rII8iAHhqmQq + Q9YOMnZoHMYdkZe0+OROiSN10vvYgHwEQV/s0utULVmF4yqdtWuFLs1YXHOd6C727Lzu + oQ5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1734798617; x=1735403417; + d=1e100.net; s=20230601; t=1736157558; x=1736762358; h=subject:to:from:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; - bh=PJlZrxDrAYMUHxY9BzahqCFg+QakUDe4bowN0beQXPk=; - b=FO2Bb5BCMLvc4p67jQJlRjFlYA5OZNJy1X0VoW+WBHFhm2raxcqd+MVh9usMtV7kMU - TZO0yGx4c3sM+pjHvIdtA5G5QU43bsq0ZuYxWzAd8rO/tUjdLTvpCzUh5y8XU8VY6clQ - j50j55KBVMRg0QNY80TlTMoxdMKTBn4LWsPygsz0f8uruq1joFsqpou6T8S2L+e5ybUy - rSVZhm18oo+oSKGyS2hsJOJMA5c4u/jrB3mZkPXIpzJl8Gupa4hiCyjpv62xVh4gwz5V - mhxhcRpd7ZS7mIFT7fORxwKVLcBZkWsOt5vsP/rtG/nMb0X5Cil3Gix6HicF4IWYXjws - Vm1w== -X-Gm-Message-State: AOJu0YyFbeAUsfz/cnErFiUIjeAlcXAre5lGhN1O6O3Nprz0HPfxuoh2 - QQWqQm5I6VW7z++8NBfO5WcqsP0TGbahjuDCaUgIL4bIP1f3lsLRclNFOGoe -X-Gm-Gg: ASbGncvJv33DiugPeQcA7XyZ0Joxgw6yUY6jqpbYSwSka2drj8UfbEiglGC7IS491j5 - QpqggmRHp9preeYA8H9PcZnixMkusrHWmGHPnpx6xD6HeEOuTe3HB+W4qFWZRP9AniTNVFlgwA8 - aBJNZjrcHWKAkoIQoGqdYkA8XAwybqcA4dRFyQal9cp0gyRZ9i98tKILV32XYKe/o1GIfA+OFbO - AjOQgd4RtJ4ERFM7kesmTbwmKpCDZeVGU1ohOYe5zULJ49pvGb7kNBaZCXl+ljVttxp3yMBXjWs - wpEaDrb1KYqCqg== -X-Google-Smtp-Source: AGHT+IHcVUNiqSW9gg0Cqtzb5NQVDRsvbI1w9uSXqrFZTdTx1oWXUqbo++vGp9cbDqM6tEU4XwAOrg== -X-Received: by 2002:a05:6a20:d045:b0:1e4:8fda:78ea with SMTP id adf61e73a8af0-1e5e08661eemr13343836637.46.1734798616898; - Sat, 21 Dec 2024 08:30:16 -0800 (PST) + bh=S5Yb/w37XTcXmVIfAs8BMCM75OJY6R8cLHliqbuqLY8=; + b=Peib7bUAogypbSD43o4rtsZ8F2De0NsnoTp8yfC7BHjy4Me1k4nRylZfxJdbSx6yzz + Vkl1uv3k9SRE7btAHypnPzB/WzdL/uv3QhUNrBTUD55/2+RJsIHhDaKQ4hKQq0A0rQgm + fxTC58hZwlU5GV+I2chiq+lwsgpgQltu5yyOcE3hlRmbT2MO7Mj3u3+lESySPHjc8KJx + Y/oA76yTmoPYV2dt16g0bv+mqX6QCzk1TLq7msGmO01sWWpJSnrQl+8XULMa8XJbZrd9 + iJlQH8NkHCqMgcnP7qc8Y5cvx6VBURQ5xj9sJjI/hB2fWaUVZpE20UImpbAZCDrp9raA + AENw== +X-Gm-Message-State: AOJu0YyhNKz0BUAGplGQjA4WxdI9YyuRA8BJmO4pBXceaXp2IfCeZ9G6 + EsosndcWZxTEmjF5ofjEuhpDr+tadBS7k/XHWSm+90P+7+d8p+fadXpQyNs3 +X-Gm-Gg: ASbGnct9samorDi52cLrts57SBGnCrWE/Yy7K9U7YhJzZCa7II1mJai/vbH2V8iEhLe + FLjgmAiCM722tNiu6Ec5sb+4qd+batoR0TmIdYUPMnLEzkeXlS2v0jn3l8EVRXOky1uH3e/t9nl + ezz7NJoXRkTiUt6EGG5xuWBI/9UsFZETn8cwrqn/8y6RxytusBRrnMs7Jdd8WlnRKNQamVBJ+Qt + roVAPNPWFB/X+56KHIDFDH6B5rrhxswA+H2vaJ6fuKC8Wjedrg6Hl8R1wl86I2stu+F47Qs4Tsc + TejwTHngh8bsCoGf7F9hCCazhsR1Y+Lc/CT0Jags389wkvtgY39UT3zZBgCecRkrTIMIWa2LtrO + DodbCH/gpNFvAp9UPyA== +X-Google-Smtp-Source: AGHT+IEJGG705gtK/KJ03Up/iFGGcvz6MuLB9fJmfE2pi7jk4D1pXz7GKIZXZlwnE8+8o1dpOGYXBw== +X-Received: by 2002:a05:6a20:2583:b0:1e1:aef4:9cd9 with SMTP id adf61e73a8af0-1e5e1fa2be3mr99024898637.23.1736157558038; + Mon, 06 Jan 2025 01:59:18 -0800 (PST) Return-Path: -Received: from SoraMacBook-4.local ([86.48.12.156]) - by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-842aba72f7csm4503099a12.4.2024.12.21.08.30.15 +Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa ([240d:1e:4e1:3300:a4e5:d3ca:ba9e:a6f3]) + by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad8fb8adsm31851084b3a.143.2025.01.06.01.59.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 21 Dec 2024 08:30:16 -0800 (PST) -Message-ID: <6766ed18.630a0220.3967cb.c37c@mx.google.com> -Date: Sat, 21 Dec 2024 08:30:16 -0800 (PST) -Content-Type: multipart/alternative; boundary="===============7786713304109607090==" + Mon, 06 Jan 2025 01:59:17 -0800 (PST) +Message-ID: <677ba975.050a0220.cc4a.927e@mx.google.com> +Date: Mon, 06 Jan 2025 01:59:17 -0800 (PST) +Content-Type: multipart/alternative; boundary="===============1639675887801477466==" MIME-Version: 1.0 From: emaiwallet.alice@gmail.com To: suegamisora@gmail.com Subject: Re: Re: [Reply Needed] Test Email 9 ---===============7786713304109607090== +--===============1639675887801477466== Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit @@ -95,9 +96,9 @@ Content-Transfer-Encoding: 7bit

Hello!

This is a test email with a basic HTML body.

-
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
+

Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76

Thank you!

---===============7786713304109607090==-- +--===============1639675887801477466==-- diff --git a/packages/circuits/tests/emails/recovery_gmail_from_apple_mail.eml b/packages/circuits/tests/emails/recovery_gmail_from_apple_mail.eml new file mode 100644 index 00000000..25f542d0 --- /dev/null +++ b/packages/circuits/tests/emails/recovery_gmail_from_apple_mail.eml @@ -0,0 +1,295 @@ +Delivered-To: arbitrum@sendeth.org +Received: by 2002:a05:7300:a189:b0:150:7837:3792 with SMTP id co9csp6195243dyb; + Fri, 27 Dec 2024 05:15:12 -0800 (PST) +X-Received: by 2002:a17:902:dace:b0:216:3732:ade3 with SMTP id d9443c01a7336-219e6f25fd1mr350882965ad.35.1735305312412; + Fri, 27 Dec 2024 05:15:12 -0800 (PST) +ARC-Seal: i=1; a=rsa-sha256; t=1735305312; cv=none; + d=google.com; s=arc-20240605; + b=Csua6iokxQkfrncVPuNPhoP+wMIrqzloVPbi5SvUBWpDF++kAn5u09qTIy4e48kvAd + m7D5VYnqbrMiqMjhqG4jPr78uS9MPz0Habh5rilk62XA7d633gq1e6XE87ZYyO+DJ+nO + gDhqNx8MYPAwbMtmf5BnxcxdBplgniPHNcBlRQLl2ClXM8t9STwz3XGUsgPQcDK3XA/G + jfvhIJjfpnqkKfyIqGlVTZ2yXGgyJjDzF7N1cZvgPUw1nKuNO7xOfHE5E6plSI7W4gb0 + PZ9Ip0a5qJfvw9J+oQ+KqZCc2A3bxnWt1+z2WkJbG9JFLZs2c7y59s8QHhf40UEJlcJs + qEFQ== +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; + h=to:in-reply-to:references:message-id:date:subject:mime-version:from + :content-transfer-encoding:dkim-signature; + bh=K/W/cFvnMwzxYPgtJfj75It4M3R7fI/t7bx8gD6ae24=; + fh=NiFfXpGsf4NiPgQyu56KYLs/TS2Vqsd4I8WrbqKeOhg=; + b=GsvokxzjU9w34s8NZWSyDOZNoNVUcEPG/imvUV/AWXcfrjumX3PGae6TenYqxmCzya + Navsj4kbmTWamn0/P+7sq6SbwKNj7ayfu/OZzEV73eQ56t8bcg2Mc+OK4RLQxZKWgGbr + 8grgZLMHH3J4eE9rPZhFwDLv1wdCdqblginFwdAFFkvThiCUVa/h7e7HeVko0wfYOQpA + 5Ju9sP3UyYYPb0X4R+o4+RNx5gAq02oyD8nrfFIWBZuscgTSJ/KoUk84HRat1aDy42lW + aJdzyxzcdkL1A6oA7DDwnUSm5/ImVOWDkx8jf7X8wtAslKBT8VrnKuGStYNUTEuqLxUj + 7n6Q==; + dara=google.com +ARC-Authentication-Results: i=1; mx.google.com; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=Y5QEmYnz; + spf=pass (google.com: domain of suegamisora@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=suegamisora@gmail.com; + dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; + dara=pass header.i=@sendeth.org +Return-Path: +Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) + by mx.google.com with SMTPS id d9443c01a7336-219dc7f9a74sor135575245ad.0.2024.12.27.05.15.12 + for + (Google Transport Security); + Fri, 27 Dec 2024 05:15:12 -0800 (PST) +Received-SPF: pass (google.com: domain of suegamisora@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; +Authentication-Results: mx.google.com; + dkim=pass header.i=@gmail.com header.s=20230601 header.b=Y5QEmYnz; + spf=pass (google.com: domain of suegamisora@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=suegamisora@gmail.com; + dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; + dara=pass header.i=@sendeth.org +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20230601; t=1735305312; x=1735910112; darn=sendeth.org; + h=to:in-reply-to:references:message-id:date:subject:mime-version:from + :content-transfer-encoding:from:to:cc:subject:date:message-id + :reply-to; + bh=K/W/cFvnMwzxYPgtJfj75It4M3R7fI/t7bx8gD6ae24=; + b=Y5QEmYnzk/axJVZAoPWNtFbvGmh2Y+cPh1VOjaEb4lJP9t4jgdC661b1rrXh8OBS6O + IMy2E7qapsbGjDjaLKKBsomMBkdhJEm4ztEqD+ZQJh+yxF0Gbg5+tSpCP9Fj8qF6VtBf + Zx3IbSIar5q3TjTmEtVGitoonhOACjGF4cjmsWFonB8DuHMdO1eCBoLCfzjEUK9TkYAO + Evm4+tBj+ljwnyojB1AkgQAN27rffNb1K+W4v+gsT0Vu9tiYVx65IUwoB4XSZX0IyzTg + 4RzvdSNWNvdEjGXXopvp8v8YZjJQ5KZ+vOvM1a8ypBWxnv8co+rbKzQPebblReN/rjPP + izzg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20230601; t=1735305312; x=1735910112; + h=to:in-reply-to:references:message-id:date:subject:mime-version:from + :content-transfer-encoding:x-gm-message-state:from:to:cc:subject + :date:message-id:reply-to; + bh=K/W/cFvnMwzxYPgtJfj75It4M3R7fI/t7bx8gD6ae24=; + b=re41oGdHzFV3a49OZyz49fSaRoxuWOvYZWsFlghErZRvCLCaUwb6aMLl94+g7bf1WT + HHqAoB4oZrvMB/UrT0bgAjix5Zw5Sz7OQC3DrryiSJpjMK6169FZhD4zHlU9L+a9ZpU4 + xXY4NaJEVXGWTAR30DV4Bpe2onmbbxtKXONxe9Rr2x8cpducSRiBLOVkjYeg4PgN12do + DmdIDV49svHIKJTtbw4Bqjf/2kpPCFQ+DVoqH8BmrZFlwntOPHpxqm9KC5zgDTfa3nmM + AJ/gmZV9dSOH1ieHo/+8syFRcBAfr2YjPwciRbbbO68n2p9O2CAg7bz14iqZRkAKEcz9 + T3NQ== +X-Gm-Message-State: AOJu0YzkUKJTje9pCg/dgXj+StwAGACxx/Mnibtrds6YFDeWY1LXpQVL + ABCt2dP5/iGzpSgjLp2kxVYVGJC16VAgPcIDHb1bIhkEoE+kTIAHR7f82g== +X-Gm-Gg: ASbGncseXdGKqBfdY92bP2QG19Kib6cypZnB2EfDoE1T1J5zc5r1fPQ9rirPQrSLXWH + HVFguWZSi3myTIWRwFieNj+QAz7CV5FhTpPnU7MJN35oWPnRgo+6RUVPzsvpcagE5BF8E1u95jr + OwtMaVZmXuRRGr+0Py+ThZ88BTIn+XpegOYgzK9MD+scp4xYYYhVrCYt7tCwViikdQGWzgOLwIR + wH6oKRq/GgMFloowKXfSFxYU5CvDUIfJvWs8saWtrecQdY4WqgHQGD24t331T8b19k/AUvj/Oc= +X-Google-Smtp-Source: AGHT+IEt/TNLcxSfVgsPp6a3CK6xWCvQHyBDbKHlb3HKKXMwW/V1YNIejBQEb2JXFaoYqyr3iGF7rg== +X-Received: by 2002:a17:902:dac6:b0:216:32c4:f807 with SMTP id d9443c01a7336-219e6f25fdcmr317972615ad.45.1735305311491; + Fri, 27 Dec 2024 05:15:11 -0800 (PST) +Return-Path: +Received: from smtpclient.apple ([45.94.210.237]) + by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-842aba7310bsm11345300a12.1.2024.12.27.05.15.10 + for + (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); + Fri, 27 Dec 2024 05:15:10 -0800 (PST) +Content-Type: multipart/alternative; boundary=Apple-Mail-796E5E50-7F4E-4214-A04C-B681F4FB247C +Content-Transfer-Encoding: 7bit +From: Sora Suegami +Mime-Version: 1.0 (1.0) +Subject: Re: [Reply Needed] Recovery: Acceptance Request +Date: Fri, 27 Dec 2024 22:14:55 +0900 +Message-Id: <50198312-F2A0-4893-A90D-66691D0841FA@gmail.com> +References: +In-Reply-To: +To: arbitrum@sendeth.org +X-Mailer: iPhone Mail (22A3354) + + +--Apple-Mail-796E5E50-7F4E-4214-A04C-B681F4FB247C +Content-Type: text/html; + charset=utf-8 +Content-Transfer-Encoding: quoted-printable + +Confirm
iPhone=E3=81=8B=E3=82=89=E9=80=81=E4=BF=A1

2024/12/27 22:14=E3=80=81arbitrum= +@sendeth.org=E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB:

= +
=EF=BB=BF + + + =20 + + + + =20 + =20 + + + + +
+ + +
+ + + + + + + + + + + + +
+ Hi, suegamisora@gmail.com! +
+ You have received an guardian request from the wallet addres= +s 0x952541bdfe8aae3805d5b9a37d5ae5e1ee68346f. Reply "Confirm" to this email to accept the request. + Your request ID is #671422888. + +

+ If you did not initiate this request, please contact us imme= +diately. + + +
+

+ Cheers,
The ZK Email Team +

+
+ + + + + + +
+

+ Powered by + ZK Email +

+ + + + + + + +
+ 3D"= + + 3D"Twitt= + + 3D= + + 3D= +
+
+
+
Accept guardian reques= +t for 0x952541bDfe8aae3805D5b9A37D5Ae5e1EE68346f Code 1162ebff40918afe5305e6= +8396f0283eb675901d0387f97d21928d423aaa0b20
+ =20 + +
= + +--Apple-Mail-796E5E50-7F4E-4214-A04C-B681F4FB247C-- diff --git a/packages/circuits/tests/templates/email_auth_test1.json b/packages/circuits/tests/templates/email_auth_test1.json index 8a7c074f..efb326e4 100644 --- a/packages/circuits/tests/templates/email_auth_test1.json +++ b/packages/circuits/tests/templates/email_auth_test1.json @@ -1,4 +1,4 @@ { "subject": "[Reply Needed] Test Email 1", - "body": "[zkemail-begin]Send 0.1 ETH to alice@gmail.com[zkemail-end]" + "body": "
Send 0.1 ETH to alice@gmail.com
" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test10.json b/packages/circuits/tests/templates/email_auth_test10.json index fa74e68d..362c0fb7 100644 --- a/packages/circuits/tests/templates/email_auth_test10.json +++ b/packages/circuits/tests/templates/email_auth_test10.json @@ -1,5 +1,5 @@ { "subject": "Re: [Reply] Test Email 10 Invalid", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test11.json b/packages/circuits/tests/templates/email_auth_test11.json index 50349f4a..a13d52c8 100644 --- a/packages/circuits/tests/templates/email_auth_test11.json +++ b/packages/circuits/tests/templates/email_auth_test11.json @@ -1,5 +1,5 @@ { "subject": "Re: [Reply Needed] Test Email 11 Invalid", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2ÿC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2ÿC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test2.json b/packages/circuits/tests/templates/email_auth_test2.json index bb63c5ff..c5d51d9e 100644 --- a/packages/circuits/tests/templates/email_auth_test2.json +++ b/packages/circuits/tests/templates/email_auth_test2.json @@ -1,4 +1,4 @@ { "subject": "[Reply Needed] Test Email 2", - "body": "[zkemail-begin]Swap 1 ETH to DAI[zkemail-end]" + "body": "
Swap 1 ETH to DAI
" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test3.json b/packages/circuits/tests/templates/email_auth_test3.json index d2f6bb02..670b5a76 100644 --- a/packages/circuits/tests/templates/email_auth_test3.json +++ b/packages/circuits/tests/templates/email_auth_test3.json @@ -1,5 +1,5 @@ { "subject": "[Reply Needed] Test Email 3", - "body": "[zkemail-begin]Send 1 ETH to bob@example.com[zkemail-end]", + "body": "
Send 1 ETH to bob@example.com
", "fromName": "\"dummy@outlook.com\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test4.json b/packages/circuits/tests/templates/email_auth_test4.json index cdb04819..1cb45696 100644 --- a/packages/circuits/tests/templates/email_auth_test4.json +++ b/packages/circuits/tests/templates/email_auth_test4.json @@ -1,5 +1,5 @@ { "subject": "[Reply Needed] Test Email 4", - "body": "[zkemail-begin]Send 1 ETH to bob@example.com code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Send 1 ETH to bob@example.com code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test5.json b/packages/circuits/tests/templates/email_auth_test5.json index 8ad25984..5edc8436 100644 --- a/packages/circuits/tests/templates/email_auth_test5.json +++ b/packages/circuits/tests/templates/email_auth_test5.json @@ -1,5 +1,5 @@ { "subject": "[Reply Needed] Test Email 5", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test6.json b/packages/circuits/tests/templates/email_auth_test6.json index e4061442..4d9bda58 100644 --- a/packages/circuits/tests/templates/email_auth_test6.json +++ b/packages/circuits/tests/templates/email_auth_test6.json @@ -1,5 +1,5 @@ { "subject": "Re: [Reply Needed] Test Email 6", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test7.json b/packages/circuits/tests/templates/email_auth_test7.json index c037c0e8..17430cb4 100644 --- a/packages/circuits/tests/templates/email_auth_test7.json +++ b/packages/circuits/tests/templates/email_auth_test7.json @@ -1,5 +1,5 @@ { "subject": "FWD: FWD: [Reply Needed] Test Email 7", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test8.json b/packages/circuits/tests/templates/email_auth_test8.json index 689e3431..e17dd1df 100644 --- a/packages/circuits/tests/templates/email_auth_test8.json +++ b/packages/circuits/tests/templates/email_auth_test8.json @@ -1,5 +1,5 @@ { "subject": "Ynt: [Reply Needed] Test Email 8", - "body": "[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]", + "body": "
Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/circuits/tests/templates/email_auth_test9.json b/packages/circuits/tests/templates/email_auth_test9.json index af42a8f4..d1ae2808 100644 --- a/packages/circuits/tests/templates/email_auth_test9.json +++ b/packages/circuits/tests/templates/email_auth_test9.json @@ -1,5 +1,5 @@ { "subject": "Re: Re: [Reply Needed] Test Email 9", - "body": "
[zkemail-begin]Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76[zkemail-end]
", + "body": "

Accept guardian request for 0x04884491560f38342C56E26BDD0fEAbb68E2d2FC Code 01eb9b204cc24c3baee11accc37d253a9c53e92b1a2cc07763475c135d575b76
", "fromName": "\"Alice\"" } \ No newline at end of file diff --git a/packages/contracts/README.md b/packages/contracts/README.md index 6b0eb5b9..591161b7 100644 --- a/packages/contracts/README.md +++ b/packages/contracts/README.md @@ -24,8 +24,9 @@ $ yarn test Run integration tests -Before running integration tests, you need to make a `packages/contracts/test/build_integration` directory, download the zip file from the following link, and place its unzipped directory under that directory. -https://drive.google.com/file/d/1XDPFIL5YK8JzLGoTjmHLXO9zMDjSQcJH/view?usp=sharing +Before running integration tests, you need to make a `packages/contracts/test/build_integration` directory, download wasm and zkey files from the following link, and place its unzipped directory under that directory. +- https://storage.googleapis.com/circom-ether-email-auth/v1.1.0/email_auth.zkey +- https://storage.googleapis.com/circom-ether-email-auth/v1.0.2/email_auth.wasm Then, move `email_auth_with_body_parsing_with_qp_encoding.zkey` and `email_auth_with_body_parsing_with_qp_encoding.wasm` in the unzipped directory `params` to `build_integration`. diff --git a/packages/contracts/lib/safe-singleton-deployer-sol b/packages/contracts/lib/safe-singleton-deployer-sol deleted file mode 160000 index cf2b89c3..00000000 --- a/packages/contracts/lib/safe-singleton-deployer-sol +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cf2b89c33fed536c4dd6fef2fb84f39053068868 diff --git a/packages/contracts/package.json b/packages/contracts/package.json index e2affe77..37f4c040 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,6 +1,6 @@ { "name": "@zk-email/ether-email-auth-contracts", - "version": "1.0.3", + "version": "1.1.0", "license": "MIT", "scripts": { "build": "forge build --skip '*ZKSync*'", diff --git a/packages/contracts/remappings.txt b/packages/contracts/remappings.txt index 335e802b..c22d4aa9 100644 --- a/packages/contracts/remappings.txt +++ b/packages/contracts/remappings.txt @@ -8,5 +8,4 @@ ds-test/=../../node_modules/ds-test/src solady/=../../node_modules/solady/src/ accountabstraction/=../../node_modules/accountabstraction/ solidity-stringutils/=../../node_modules/solidity-stringutils/ -openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/ -safe-singleton-deployer/=lib/safe-singleton-deployer-sol/src/ \ No newline at end of file +openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/ \ No newline at end of file diff --git a/packages/contracts/script/DeployRecoveryController.s.sol b/packages/contracts/script/DeployRecoveryController.s.sol index 6243da87..40a47b31 100644 --- a/packages/contracts/script/DeployRecoveryController.s.sol +++ b/packages/contracts/script/DeployRecoveryController.s.sol @@ -6,10 +6,12 @@ import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import {SimpleWallet} from "../test/helpers/SimpleWallet.sol"; import {RecoveryController} from "../test/helpers/RecoveryController.sol"; import {Verifier} from "../src/utils/Verifier.sol"; +import {Groth16Verifier} from "../src/utils/Groth16Verifier.sol"; +import {ECDSAOwnedDKIMRegistry} from "../src/utils/ECDSAOwnedDKIMRegistry.sol"; import {EmailAuth} from "../src/EmailAuth.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {UserOverrideableDKIMRegistry} from "@zk-email/contracts/UserOverrideableDKIMRegistry.sol"; import {BaseDeployScript} from "./BaseDeployScript.sol"; -import {SafeSingletonDeployer} from "safe-singleton-deployer/SafeSingletonDeployer.sol"; contract Deploy is BaseDeployScript { using ECDSA for *; @@ -20,82 +22,54 @@ contract Deploy is BaseDeployScript { address simpleWallet; address recoveryController; - function deploySingleton( - uint256 deployerPrivateKey, - bytes memory creationCode, - bytes memory initData, - bytes32 salt - ) private returns (address) { - return - SafeSingletonDeployer.broadcastDeploy( - deployerPrivateKey, - creationCode, - initData, - salt - ); - } - function run() public override { super.run(); - uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - address initialOwner = vm.envOr("INITIAL_OWNER", address(0)); + vm.startBroadcast(deployerPrivateKey); // Deploy User-overrideable DKIM registry dkim = vm.envOr("DKIM", address(0)); - if (dkim == address(0)) { + if (address(dkim) == address(0)) { address dkimSigner = vm.envAddress("DKIM_SIGNER"); - require(dkimSigner != address(0), "DKIM_SIGNER env var not set"); + if (dkimSigner == address(0)) { + console.log("DKIM_SIGNER env var not set"); + return; + } uint256 timeDelay = vm.envOr("DKIM_DELAY", uint256(0)); + console.log("DKIM_DELAY: %s", timeDelay); - dkim = deploySingleton( - deployerPrivateKey, - type(UserOverrideableDKIMRegistry).creationCode, - abi.encode(initialOwner, dkimSigner, timeDelay), - keccak256("DKIM_REGISTRY") + dkim = deployUserOverrideableDKIMRegistry( + initialOwner, + dkimSigner, + timeDelay ); } - console.log("UserOverrideableDKIMRegistry: %s", dkim); // Deploy Verifier verifier = vm.envOr("VERIFIER", address(0)); - if (verifier == address(0)) { - verifier = deploySingleton( - deployerPrivateKey, - type(Verifier).creationCode, - abi.encode(initialOwner), - keccak256("VERIFIER") - ); + if (address(verifier) == address(0)) { + verifier = deployVerifier(initialOwner); } - console.log("Verifier: %s", verifier); // Deploy EmailAuth Implementation emailAuthImpl = vm.envOr("EMAIL_AUTH_IMPL", address(0)); if (emailAuthImpl == address(0)) { - emailAuthImpl = deploySingleton( - deployerPrivateKey, - type(EmailAuth).creationCode, - "", - keccak256("EMAIL_AUTH_IMPL") - ); + emailAuthImpl = deployEmailAuthImplementation(); } - console.log("EmailAuth: %s", emailAuthImpl); - // Create RecoveryController - recoveryController = deploySingleton( - deployerPrivateKey, - type(RecoveryController).creationCode, - abi.encode(initialOwner, verifier, dkim, emailAuthImpl), - keccak256("RECOVERY_CONTROLLER") + // Create RecoveryController as EmailAccountRecovery implementation + recoveryController = deployRecoveryController( + initialOwner, + address(verifier), + address(dkim), + address(emailAuthImpl) ); - console.log("RecoveryController: %s", recoveryController); // Deploy SimpleWallet Implementation - simpleWallet = deploySingleton( - deployerPrivateKey, - type(SimpleWallet).creationCode, - abi.encode(initialOwner, recoveryController), - keccak256("SIMPLE_WALLET") + simpleWallet = deploySimpleWallet( + initialOwner, + address(recoveryController) ); - console.log("SimpleWallet: %s", simpleWallet); + + vm.stopBroadcast(); } } diff --git a/packages/contracts/src/utils/Groth16Verifier.sol b/packages/contracts/src/utils/Groth16Verifier.sol index 507e1ff8..cf095c2e 100644 --- a/packages/contracts/src/utils/Groth16Verifier.sol +++ b/packages/contracts/src/utils/Groth16Verifier.sol @@ -27,126 +27,126 @@ contract Groth16Verifier { uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // Verification Key data - uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042; - uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958; - uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132; - uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731; - uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679; - uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856; + uint256 constant alphax = 16428432848801857252194528405604668803277877773566238944394625302971855135431; + uint256 constant alphay = 16846502678714586896801519656441059708016666274385668027902869494772365009666; + uint256 constant betax1 = 3182164110458002340215786955198810119980427837186618912744689678939861918171; + uint256 constant betax2 = 16348171800823588416173124589066524623406261996681292662100840445103873053252; + uint256 constant betay1 = 4920802715848186258981584729175884379674325733638798907835771393452862684714; + uint256 constant betay2 = 19687132236965066906216944365591810874384658708175106803089633851114028275753; uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; uint256 constant gammay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant deltax1 = 17321117490467991551004039976141713368755273259054816981094885308298257468746; - uint256 constant deltax2 = 12206727395119032572075275407523163442640631937249159592734225098709365609525; - uint256 constant deltay1 = 4417177391410880611353118834592763024626678905178826818545984339262284861270; - uint256 constant deltay2 = 2880796425164205982474607914269871986813613330489984606315585308781367270397; + uint256 constant deltax1 = 10264548714561178023199180875646797929252572511673269331763091491411145960772; + uint256 constant deltax2 = 18311575787560507146958693096350917774373079228269069858880619696687209239156; + uint256 constant deltay1 = 15364192743383586712577160784335601317663308697309919234290044903285384079519; + uint256 constant deltay2 = 865431301441011786816114454471335882030231200282491476064342442243395470609; - uint256 constant IC0x = 19613578381454247848148468609153373990024337494801498093921075984524147080543; - uint256 constant IC0y = 19679656485159147880034357576194217721231340550694429843056245208166780538462; + uint256 constant IC0x = 15202293611052609963793495512467254159525935701952156579860017919463680904977; + uint256 constant IC0y = 21661005325338063078677013303929203363922048001197630562247322848427814167028; - uint256 constant IC1x = 20052449153036221687572299937401285311091266095435132578335153498340904649938; - uint256 constant IC1y = 15764417163307122469614065240362232192291517572328697755027198294221542220380; + uint256 constant IC1x = 6452955991179147115246107219429817574024379162049674324925726287356258935551; + uint256 constant IC1y = 1046765160185674313241656418982162550792459336028800222786437867754715411953; - uint256 constant IC2x = 4361517835180741166515344626308622049060007638001045593444587215635621996689; - uint256 constant IC2y = 19201118643799061914335981039124676275112293983941093735550301860322607185724; + uint256 constant IC2x = 19561639896993505362129801692608602738073625583833671944648945381547014922029; + uint256 constant IC2y = 16578191314849960975440386484587520749095058197266524744875542035396142224979; - uint256 constant IC3x = 8876661120575601408049826812959595719763878999267389038360460236791625333498; - uint256 constant IC3y = 11408196638239702010260637829946753653272842440125670418009263038135112927486; + uint256 constant IC3x = 6848044820898772807251245352999299723732963485322714031830239563848700077224; + uint256 constant IC3y = 2651857088234354311303576559129256483017639270071990898705867309911277075744; - uint256 constant IC4x = 4239144839679807249062740088136704318835964394268252599125355261839612326699; - uint256 constant IC4y = 5305729015352955614096892880070008473514985516056595021878643414352723669327; + uint256 constant IC4x = 2368020592197748386535215526517962820178664923849697226874744178021374761681; + uint256 constant IC4y = 12405348435978174377662066841808892817975298275719433954945459872424998071839; - uint256 constant IC5x = 6209359433845184752441518023754219467295768715213761781519952067601204069919; - uint256 constant IC5y = 9300024374482983486251270877008817421099686830332198268743686751353681532955; + uint256 constant IC5x = 12538400703934928967761620107286471911808571054792037306376531644420655213601; + uint256 constant IC5y = 5250913866312777687398128331360175028718921856999591936365321282877989184554; - uint256 constant IC6x = 12106352208806738559239844895709244585236125664695914715895703182907405752772; - uint256 constant IC6y = 12169017124318029069947938293568830762109203408506294175081510718204143749505; + uint256 constant IC6x = 21618258444494928915811318893263107924740504125944838336461987588498540593641; + uint256 constant IC6y = 2413936983943311614040050831359105896959820096643403180384172770646720886542; - uint256 constant IC7x = 20780394989550764148402256088161661630374493293607428046910806329309032750020; - uint256 constant IC7y = 16341246603919770827395793332837619123496041758688559121949577020747410740066; + uint256 constant IC7x = 9712390331435193528924418117411029699629191054855717365288341052594339984129; + uint256 constant IC7y = 2901890001751330239457872918991982397824036405720917553836999774204044455623; - uint256 constant IC8x = 15273319685285300222061403474341956813625975413923991163073854032157409432542; - uint256 constant IC8y = 13934881112826992721068177636581665370208256355674730445070453023022897818665; + uint256 constant IC8x = 15974463782248120842322037142570537184584834522125034585921335575378575808731; + uint256 constant IC8y = 907969419061262461168959968625500836314075317901922012544307573862997420676; - uint256 constant IC9x = 269883730317641118471454602280297193522715547266189568215262161691355396617; - uint256 constant IC9y = 10579523671127870981324428930871610698697199332504112952913935688156838061436; + uint256 constant IC9x = 593520515785869763751321392905809175096343673588301633790700045661419391225; + uint256 constant IC9y = 13590538885742242839583031853957508852299822005933772806256906067517430335152; - uint256 constant IC10x = 15111720043996775547713630069493963041953312032250805602669920240778353496821; - uint256 constant IC10y = 17989754330060974481869521730703295915420829292748691869649062021951031371064; + uint256 constant IC10x = 5126169742944031682914481076896674210863618620274411658445473618966611691186; + uint256 constant IC10y = 11064730524220376902728653747571499563397123195029671857363423441040030329460; - uint256 constant IC11x = 14309709138812924151496804149663234196517987779452581957826923427186324508466; - uint256 constant IC11y = 837564419038165927572233024557522340451880222689623753927716929766721822671; + uint256 constant IC11x = 7259905309705066795127861568175002956910167005984267721335918540367744711170; + uint256 constant IC11y = 18060290263760873381165903451091718347725372544343300414984343301594481434248; - uint256 constant IC12x = 10321198050713737286170261705402053793625935903140320789889366321292914251208; - uint256 constant IC12y = 4524416596287920392675000779441485998355015958867826264807157325136243801801; + uint256 constant IC12x = 20630593989712907614329227879257173969981449059516858515932180120315541561010; + uint256 constant IC12y = 21233726060276660013525937027407792589490085528161401072805191653312390912746; - uint256 constant IC13x = 8676292686822308711756028186506093866012138224700264771038267765026451550597; - uint256 constant IC13y = 18969591884459718843910524676874201450616288035619279382729639384728200508616; + uint256 constant IC13x = 21561014780309254670962294569241599431921262891245404626628451318723403477889; + uint256 constant IC13y = 14995299258320870787097856185937491178710155807159202012928750913696984420098; - uint256 constant IC14x = 15563542753094730123101169924291055479710918417215433030518219966471148128151; - uint256 constant IC14y = 17111989507874615469628834743237220942801630385676523374878722472431595036581; + uint256 constant IC14x = 15280115641601385582695107490819213341046876675730545125336451012678022158547; + uint256 constant IC14y = 3320140604782147564819602725346016709067873440446178893087399954861063843693; - uint256 constant IC15x = 5509158201572470332907095600723763909057186852110620187003814815954837361777; - uint256 constant IC15y = 14311147044839837160066318525388156132525662071848030002355307403690774376097; + uint256 constant IC15x = 17581987119415701930284019851842751354356227331927930316001806538430223682555; + uint256 constant IC15y = 11705390309586641220857009322374633789357714112517459725585094189993550500502; - uint256 constant IC16x = 14677743861372785820161151384220897789625254753896556246859891915913603504306; - uint256 constant IC16y = 1429215591329653255001162130636255241911946736663016835912667541984025166977; + uint256 constant IC16x = 8730931148876341537574019799386064417181454807640745687902577256185621504752; + uint256 constant IC16y = 17468060086293611644001868640796316902388876060470858956528235204288140360575; - uint256 constant IC17x = 8330186929780175733196396762124227608381163961173800695023464516247486333263; - uint256 constant IC17y = 4597254121875995921390507919194438594696876097442425656270240724488166574710; + uint256 constant IC17x = 8861089091657651141391517128205040995769246836643614743523809351020752533882; + uint256 constant IC17y = 2480113299000827096835342659230864215648139204515758667998468461670896051319; - uint256 constant IC18x = 14368983875670204746503693769930434933153164318252156418865233460373122990571; - uint256 constant IC18y = 10680359054182279337819246384127370429967400645228614505289030767934830336475; + uint256 constant IC18x = 17939336806984939360292212764988364743099223651317677582855107905643819103567; + uint256 constant IC18y = 11345872484067084307070331806785082787094115795567848618971963992433132980105; - uint256 constant IC19x = 2412714978665454349001966685910328283720162252476680242398512702173047691731; - uint256 constant IC19y = 11885856244776875594242344088767217187536932814943264630115201914669944275197; + uint256 constant IC19x = 17872444896804360649027636059356355146821158031152682850483070881386442953397; + uint256 constant IC19y = 5216957782766764544695058326427041135266417604395823288983956514263254735763; - uint256 constant IC20x = 18289231848126275227577863148521314660781498938707070617828304112905647968715; - uint256 constant IC20y = 8513932016374398177043257859024450141574205800853362921137786684488025096959; + uint256 constant IC20x = 18614603351333566941561341323477869570590042690081796211106802966274611143634; + uint256 constant IC20y = 6117879660203592329824485391814611137557595216579378075477245855577866972763; - uint256 constant IC21x = 11204496744439255005167888881955294182201674714572088918166576037933634669201; - uint256 constant IC21y = 5954132986264800569399428708359117857207034336062600579463301755579456053780; + uint256 constant IC21x = 21778815968256885187175750646471987903451308718075604716026343917461433675766; + uint256 constant IC21y = 15945045594185327054143762990907113241468460444847255176566320744907818510192; - uint256 constant IC22x = 1579436161381136948037312549427982862867142445956843001422244845405511915973; - uint256 constant IC22y = 11270016119244540030245230838492838401037777449982924630237306346053235677476; + uint256 constant IC22x = 9420414154372262062101448921210266527775069404690917420602160684490398686167; + uint256 constant IC22y = 17925640305786657666580892876791489338459889323848286283099304226197949920700; - uint256 constant IC23x = 19222425621733822408665255021639433191626781312130349499870495696798642594450; - uint256 constant IC23y = 18626154357239088324211752510289613809361903867026572709226587397740785436454; + uint256 constant IC23x = 1970536739758456323127804199327246259716526231320855273266665875199442007659; + uint256 constant IC23y = 16758858790649768578768857243572869296075602760261863455857563135567659592212; - uint256 constant IC24x = 9043465757034661879127749573004202958761045369253982299243691087808173452700; - uint256 constant IC24y = 15858196034482479542868339952979980853295216375615500956111001748997632082783; + uint256 constant IC24x = 10923895606766058814188172080806452656128446108501130817389994541753802960573; + uint256 constant IC24y = 20801878558750282858098578295551361461395721372368916692122569109866370311341; - uint256 constant IC25x = 6917402819437793636040222189729201861581384771715620553749805837959641939049; - uint256 constant IC25y = 6041609440566157668537907200592715465452263725722577850002365652281187363646; + uint256 constant IC25x = 8489780023908430543526842780524979232609226423787632005008601601225833157113; + uint256 constant IC25y = 4882582226086767973432420175935156928604793616650145375822401109295644872290; - uint256 constant IC26x = 20421907491566831010057929508425834000183320273949928342681253375534821855774; - uint256 constant IC26y = 9233228711350515434396055181583836719834685746449974659541706695648528554673; + uint256 constant IC26x = 11525629913109296967959183393964549768747692615404212892337575203974334462608; + uint256 constant IC26y = 5878533926249768910424982091808268978504398559551627740747771443356632204094; - uint256 constant IC27x = 1817862696055069434606208047668389481945798272780116639601259183341357367548; - uint256 constant IC27y = 20474784378402300555574024310151799509654179572885655462796858927365879570596; + uint256 constant IC27x = 20002913036260116795212867763287810702267097115043025643887673607407969655268; + uint256 constant IC27y = 558044083063510890683196204447038476167425982867815116695618624970741997206; - uint256 constant IC28x = 20412382334653840408741372931822166569523675681492549089987127447923660099190; - uint256 constant IC28y = 2615852020450208508170048463579025570053217852769146340153323228316693486419; + uint256 constant IC28x = 1455294901156212354915725105606392225281168194446399988016218564927279753087; + uint256 constant IC28y = 9265622034244521221313827609264536748455417116388928838433754993889267207246; - uint256 constant IC29x = 19322897614335540496155566349033616210890856727051642283922882740789415044519; - uint256 constant IC29y = 5329476994034592291783990066575595810349071013010990171460281424177145984403; + uint256 constant IC29x = 8492175542357327224267566257065741731581922730718422493423394842590799449908; + uint256 constant IC29y = 8652814149387146191572014893807964965786548948516478706728617370415006735859; - uint256 constant IC30x = 14654941388315187356240834653008968740589619812848216128964007208951143921496; - uint256 constant IC30y = 6842213503427756213451745362778229317550540666290695532745346632315605527377; + uint256 constant IC30x = 12945456920857623223065695579160061866066134561035673979412297019686810647455; + uint256 constant IC30y = 20767400459502682189711659499059158554474212104305263580689920062950451183406; - uint256 constant IC31x = 19452447505252996167969632489303247089274474143229604415951002887777739336153; - uint256 constant IC31y = 11755045308581471821100871107652961200377962670420150703890212992989408956552; + uint256 constant IC31x = 12452000809319676201338573627410389364483992019034748753979874328000765644471; + uint256 constant IC31y = 9324011591882185536935801579598120405827218960543046741826186886199801685754; - uint256 constant IC32x = 16051822794119353044809709223388793424030383242597414626613716386341732708154; - uint256 constant IC32y = 2563323817812875962821888876003755618429526614758447054208353391126076067627; + uint256 constant IC32x = 15117130650862375233097846251624547965782822125792934165533788502663832777561; + uint256 constant IC32y = 7327519711005978007931795867820761677338128328833770281221248240709259394804; - uint256 constant IC33x = 19665898005128799077002736538398936679532383659852546423033234091085747243971; - uint256 constant IC33y = 16872339203740752897816186177273626330644745948744098356754727104027249273282; + uint256 constant IC33x = 16999413180918098033592863681849974488877027642144119408578586494899105578070; + uint256 constant IC33y = 8919753301308754243845409919393688372970831151960044671687393095909635721078; - uint256 constant IC34x = 2313636355664267900891158409780312400641397608951873414354429704076959945753; - uint256 constant IC34y = 16242744344345043419668293386869828290431287925635551708181153382960812327795; + uint256 constant IC34x = 15649719163199433869832445862913171035095625562338955896073041648298851160839; + uint256 constant IC34y = 9189039051945082657627610414917017925248648316171459951020666357043783770327; // Memory data diff --git a/packages/prover/Dockerfile b/packages/prover/Dockerfile index ec1a32d5..73c259c5 100644 --- a/packages/prover/Dockerfile +++ b/packages/prover/Dockerfile @@ -47,7 +47,7 @@ RUN ls /root RUN mkdir params WORKDIR /root/params -RUN curl https://storage.googleapis.com/circom-ether-email-auth/v1.0.2/email_auth_prod1.zkey --output ./email_auth.zkey +RUN curl https://storage.googleapis.com/circom-ether-email-auth/v1.1.0/email_auth.zkey --output ./email_auth.zkey # RUN curl https://storage.googleapis.com/circom-ether-email-auth/v1.0.2/email_auth.wasm --output ./email_auth.wasm RUN mkdir ./email_auth_cpp WORKDIR /root/params/email_auth_cpp diff --git a/packages/prover/local_setup.sh b/packages/prover/local_setup.sh index 4bab72cd..4cc97e07 100755 --- a/packages/prover/local_setup.sh +++ b/packages/prover/local_setup.sh @@ -7,7 +7,7 @@ npm install -g snarkjs@latest pip install -r requirements.txt mkdir build && cd build # gdown "https://drive.google.com/uc?id=1XDPFIL5YK8JzLGoTjmHLXO9zMDjSQcJH" -curl https://storage.googleapis.com/circom-ether-email-auth/v1.0.2/email_auth_prod1.zkey --output ./email_auth.zkey +curl https://storage.googleapis.com/circom-ether-email-auth/v1.1.0/email_auth.zkey --output ./email_auth.zkey mkdir ./email_auth_cpp cd ./email_auth_cpp curl https://storage.googleapis.com/circom-ether-email-auth/v1.0.2/email_auth --output ./email_auth diff --git a/packages/prover/modal_server.py b/packages/prover/modal_server.py index b28e1a4b..845618c6 100644 --- a/packages/prover/modal_server.py +++ b/packages/prover/modal_server.py @@ -6,7 +6,7 @@ from google.cloud.logging_v2.handlers import setup_logging from google.oauth2 import service_account -app = modal.App("email-auth-prover-v1.5.4") +app = modal.App("email-auth-prover-v1.6.0") image = modal.Image.from_dockerfile("Dockerfile") diff --git a/packages/relayer/Cargo.toml b/packages/relayer/Cargo.toml index e6119111..b6b4c8b0 100644 --- a/packages/relayer/Cargo.toml +++ b/packages/relayer/Cargo.toml @@ -19,12 +19,12 @@ async-native-tls = { version = "0.5.0", default-features = false, features = [ "runtime-tokio", ] } serde = { version = "1.0", features = ["derive"] } -webbrowser = "0.8.11" +# webbrowser = "0.8.11" serde_json = "1.0.68" tiny_http = "0.12.0" lettre = { version = "0.10.4", features = ["tokio1", "tokio1-native-tls"] } ethers = { version = "2.0.10", features = ["abigen"] } -relayer-utils = { version = "0.4.2", git = "https://github.com/zkemail/relayer-utils.git" } +relayer-utils = { version = "0.4.60", git = "https://github.com/zkemail/relayer-utils.git" } futures = "0.3.28" sqlx = { version = "=0.7.3", features = [ "postgres", @@ -60,6 +60,7 @@ ic-utils = "0.37.0" candid = "0.10.10" thiserror = "1.0.63" rustc-hex = "2.1.0" +home = "=0.5.9" [build-dependencies] ethers = "2.0.10" diff --git a/packages/relayer/src/abis/user_overridable_dkim_registry.rs b/packages/relayer/src/abis/user_overridable_dkim_registry.rs index 9320b21d..cb2b8bc4 100644 --- a/packages/relayer/src/abis/user_overridable_dkim_registry.rs +++ b/packages/relayer/src/abis/user_overridable_dkim_registry.rs @@ -1172,13 +1172,13 @@ pub mod user_overridable_dkim_registry { ::ethers::core::abi::Abi, > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15`\x13W`\0\x80\xFD[P`\x80Qa8ra\0=`\09`\0\x81\x81a\"\"\x01R\x81\x81a\"K\x01Ra$l\x01Ra8r`\0\xF3\xFE`\x80`@R`\x046\x10a\x01\x8BW`\x005`\xE0\x1C\x80c}F6H\x11a\0\xD6W\x80c\xAD<\xB1\xCC\x11a\0\x7FW\x80c\xE7\xA7\x97z\x11a\0YW\x80c\xE7\xA7\x97z\x14a\x05\x92W\x80c\xF0\xBF\xB1\x97\x14a\x05\xB2W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xEDW`\0\x80\xFD[\x80c\xAD<\xB1\xCC\x14a\x04\xAFW\x80c\xD5\x07\xC3 \x14a\x04\xF8W\x80c\xE3\x08\xDE\x0C\x14a\x05AW`\0\x80\xFD[\x80c\x81.\x12\xCE\x11a\0\xB0W\x80c\x81.\x12\xCE\x14a\x04/W\x80c\x82\xBF\xF8\xCD\x14a\x04EW\x80c\x8D\xA5\xCB[\x14a\x04eW`\0\x80\xFD[\x80c}F6H\x14a\x03\x90W\x80c\x7F\x8E)\xBA\x14a\x03\xE2W\x80c\x7F\xF1\x03\xDA\x14a\x04\x0FW`\0\x80\xFD[\x80cL\x93\x06\x07\x11a\x018W\x80cWI\0\xDD\x11a\x01\x12W\x80cWI\0\xDD\x14a\x03 W\x80caJD\x85\x14a\x03[W\x80cqP\x18\xA6\x14a\x03{W`\0\x80\xFD[\x80cL\x93\x06\x07\x14a\x02\xCAW\x80cO\x1E\xF2\x86\x14a\x02\xEAW\x80cR\xD1\x90-\x14a\x02\xFDW`\0\x80\xFD[\x80c\"Z\x08\xD4\x11a\x01iW\x80c\"Z\x08\xD4\x14a\x02AW\x80c2\xE1\xE1\x94\x14a\x02\x8AW\x80cK\xCB\xBE\x96\x14a\x02\xAAW`\0\x80\xFD[\x80c\x07\xF1\xEA\xF5\x14a\x01\x90W\x80c\x0BU\xB3|\x14a\x01\xEFW\x80c\x17\x94\xBB<\x14a\x02\x1FW[`\0\x80\xFD[4\x80\x15a\x01\x9CW`\0\x80\xFD[Pa\x01\xD9`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\x01\xE6\x91\x90a.\xF4V[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xFBW`\0\x80\xFD[Pa\x02\x0Fa\x02\n6`\x04a0#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x08hWP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x08\x85WP0;\x15[\x90P\x81\x15\x80\x15a\x08\x93WP\x80\x15[\x15a\x08\xCAW`@Q\x7F\xF9.\xE8\xA9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x16`\x01\x17\x85U\x83\x15a\t+W\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[a\t4\x88a \x82V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x17\x90U`\x01\x86\x90U\x83\x15a\t\xDAW\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPV[`\0\x84Q\x11a\n5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\n\x82W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\x0BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x83\x16\x03a\x0B\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`4`$\x82\x01R\x7FmainAuthorizer cannot reactivate`D\x82\x01R\x7F the public key hash\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x0CBW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7Fpublic key hash is already react`D\x82\x01R\x7Fivated\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[a\x0CL\x83\x83a\x1E\x8FV[`\x01\x14a\x0C\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7Frevoke threshold must be one\0\0\0\0`D\x82\x01R`d\x01a\x06[V[`\x02a\x0C\xA8\x85\x85\x85a\x1F\x82V[\x10\x15a\r\x1CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7Fset threshold must be larger tha`D\x82\x01R\x7Fn two\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x0FCW`\0a\r{`@Q\x80`@\x01`@R\x80`\x0B\x81R` \x01\x7FREACTIVATE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\r\x88\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x0E\xB5W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\r\xFB\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\x18W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E<\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x0E\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x0F@V[`\0a\x0E\xC1\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x0F>W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\0\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F2\x89\x9A\x1E\xA4\xD8\xE4\x91|k=l\x1Ci\xFDLp\x949C\xB0'\xFE\x9D\x83+ R\xE7\xEF\xF8\xD6\x91\x90\xA3PPPPV[``\x83\x83a\x0F\xD8\x84a \xF8V[`@Q` \x01a\x0F\xEA\x93\x92\x91\x90a5\xCFV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x10\na!|V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x10\x93W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`(`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be zero\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x82\x16\x03a\x11JW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`J`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be the same as the current main`d\x82\x01R\x7FAuthorizer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x84\x82\x01R`\xA4\x01a\x06[V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x91\x7F;\xB1\x96\x11\xD1\x15f1\xA8\\Y\xDD\xFEvhT\x1A/\0\xE6\xBA+~q\xCB\x0C`\xEC\xE0\xD5\xE5[\x91\xA2PV[a\x11\xBFa\"\nV[a\x11\xC8\x82a#\x0EV[a\x11\xD2\x82\x82a#\x16V[PPV[`\0a\x11\xE0a$TV[P\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x90V[`\0\x84Q\x11a\x12VW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\x12\xA3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x13,W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\x02\x84`@Qa\x13<\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x86\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15a\x13\xC7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash is already set\0\0`D\x82\x01R`d\x01a\x06[V[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x14mW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x16\x94W`\0a\x14\xCC`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\x14\xD9\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x16\x06W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x15L\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15iW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\x8D\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x16\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x16\x91V[`\0a\x16\x12\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x16\x8FW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\x01`\x02\x85`@Qa\x16\xA6\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x81\x16\x80\x84R\x91\x90\x94R\x91\x81 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x94\x15\x15\x94\x90\x94\x17\x90\x93U\x91T\x16\x90\x03a\x178W`\x01Ta\x17(\x90Ba6\xDBV[`\0\x84\x81R`\x05` R`@\x90 U[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83\x85`@Qa\x17^\x91\x90a6\x90V[`@Q\x90\x81\x90\x03\x81 \x90\x7F}a~\xDC\x9D\n\xDE/\xB7hC\xEF_sr\xBD'0\xE9\0\xFA\x12\xE6t\xBE\xCA\xA8\xAD\x01\xEA\xB6\xCB\x90`\0\x90\xA4PPPPV[a\x17\x9Ca!|V[a\x17\xA6`\0a$\xC3V[V[\x82Q\x84Q\x14a\x17\xF9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Finvalid publicKeyHashes length\0\0`D\x82\x01R`d\x01a\x06[V[\x81Q\x84Q\x14a\x18JW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Finvalid authorizers length\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x80Q\x84Q\x14a\x18\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid signatures length\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[`\0[\x84Q\x81\x10\x15a\x19\x1FWa\x19\x17\x85\x82\x81Q\x81\x10a\x18\xBCWa\x18\xBCa6\xEEV[` \x02` \x01\x01Q\x85\x83\x81Q\x81\x10a\x18\xD6Wa\x18\xD6a6\xEEV[` \x02` \x01\x01Q\x85\x84\x81Q\x81\x10a\x18\xF0Wa\x18\xF0a6\xEEV[` \x02` \x01\x01Q\x85\x85\x81Q\x81\x10a\x19\nWa\x19\na6\xEEV[` \x02` \x01\x01Qa\x12\x05V[`\x01\x01a\x18\x9EV[PPPPPV[`\0\x84Q\x11a\x19wW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\x19\xC4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x1AMW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x1A\xF3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x1D\x1AW`\0a\x1BR`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\x1B_\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x1C\x8CW`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x1B\xD2\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xEFW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1C\x13\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x1C\x87W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x1D\x17V[`\0a\x1C\x98\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x1D\x15W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F5P6\xB8\xAD\x96>\x18^\t\xF0t\xE8VU\x96H:\0\x12\xCB\xE6 \xF5\x07\xC0\xF3IP\xA2\xF0\xB3\x91\x90\xA3PPPPV[`\0\x803s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\xF0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1E\x14\x91\x90a7\x1DV[\x90Pa\x1E!\x84\x84\x83a\x06\rV[\x91PP[\x92\x91PPV[a\x1E3a!|V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x1E\x83W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01a\x06[V[a\x1E\x8C\x81a$\xC3V[PV[`\0\x82\x81R`\x03` \x90\x81R`@\x80\x83 \x83Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x90\x91R\x81 T\x81\x90`\xFF\x16\x15\x15`\x01\x03a\x1E\xDCWa\x1E\xD9`\x01\x82a6\xDBV[\x90P[`\0\x84\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F&Wa\x1F#`\x02\x82a6\xDBV[\x90P[\x80`\x01\x14\x80\x15a\x1FjWP`\0\x84\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x14[\x15a\x08\x16Wa\x1Fz`\x01\x82a7:V[\x94\x93PPPPV[`\0\x80`\0\x90P`\x02\x85`@Qa\x1F\x99\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 \x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a \x17W`\0\x84\x81R`\x05` R`@\x90 TB\x10\x15a \tWa \x02`\x01\x82a6\xDBV[\x90Pa \x17V[a \x14`\x02\x82a6\xDBV[\x90P[`\x02\x85`@Qa '\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1FzWa y`\x02\x82a6\xDBV[\x95\x94PPPPPV[a \x8Aa%YV[a\x1E\x8C\x81a%\xC0V[`\0a \x9F\x82Qa%\xC8V[\x82`@Q` \x01a \xB1\x92\x91\x90a7MV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x80`\0\x80a \xDE\x86\x86a&\x86V[\x92P\x92P\x92Pa \xEE\x82\x82a&\xD3V[P\x90\x94\x93PPPPV[``a\x1E%\x82a!t\x84`\xFF`\x80o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x90\x81\x02\x92\x90\x92\x1C`@g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1C` c\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1Ca\xFF\xFF\x81\x11`\x10\x81\x81\x02\x92\x90\x92\x1C\x94\x90\x94\x11`\x02\x90\x94\x02`\x04\x90\x92\x02`\x08\x90\x93\x02\x94\x02\x93\x90\x93\x01\x01\x91\x90\x91\x01\x01\x90V[`\x01\x01a'\xD7V[3a!\xBB\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x17\xA6W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x06[V[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\"\xD7WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\"\xBE\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x17\xA6W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\x8Ca!|V[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a#\x9BWP`@\x80Q`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01\x90\x92Ra#\x98\x91\x81\x01\x90a7\xA8V[`\x01[a#\xE9W`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x04\x82\x01R`$\x01a\x06[V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x81\x14a$EW`@Q\x7F\xAA\x1DI\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[a$O\x83\x83a)\xF5V[PPPV[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x17\xA6W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90`\0\x90\xA3PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16a\x17\xA6W`@Q\x7F\xD7\xE6\xBC\xF8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E3a%YV[```\0a%\xD5\x83a*XV[`\x01\x01\x90P`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xF5Wa%\xF5a/\x07V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a&\x1FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x81\x81\x01` \x01[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\n\x86\x06\x1A\x81S`\n\x85\x04\x94P\x84a&)WP\x93\x92PPPV[`\0\x80`\0\x83Q`A\x03a&\xC0W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa&\xB2\x88\x82\x85\x85a+:V[\x95P\x95P\x95PPPPa&\xCCV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a&\xE7Wa&\xE7a7\xC1V[\x03a&\xF0WPPV[`\x01\x82`\x03\x81\x11\x15a'\x04Wa'\x04a7\xC1V[\x03a';W`@Q\x7F\xF6E\xEE\xDF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a'OWa'Oa7\xC1V[\x03a'\x89W`@Q\x7F\xFC\xE6\x98\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[`\x03\x82`\x03\x81\x11\x15a'\x9DWa'\x9Da7\xC1V[\x03a\x11\xD2W`@Q\x7F\xD7\x8B\xCE\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[``\x82`\0a'\xE7\x84`\x02a7\xF0V[a'\xF2\x90`\x02a6\xDBV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\nWa(\na/\x07V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a(4W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x7F0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\0\x81Q\x81\x10a(kWa(ka6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP\x7Fx\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\x01\x81Q\x81\x10a(\xCEWa(\xCEa6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP`\0a)\n\x85`\x02a7\xF0V[a)\x15\x90`\x01a6\xDBV[\x90P[`\x01\x81\x11\x15a)\xB2W\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83`\x0F\x16`\x10\x81\x10a)VWa)Va6\xEEV[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a)lWa)la6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x92\x90\x92\x1C\x91a)\xAB\x81a8\x07V[\x90Pa)\x18V[P\x81\x15a\x1E!W`@Q\x7F\xE2.'\xEB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x86\x90R`$\x81\x01\x85\x90R`D\x01a\x06[V[a)\xFE\x82a,4V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a*PWa$O\x82\x82a-\x03V[a\x11\xD2a-}V[`\0\x80z\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x10a*\xA1Wz\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x04\x92P`@\x01[m\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x10a*\xCDWm\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x04\x92P` \x01[f#\x86\xF2o\xC1\0\0\x83\x10a*\xEBWf#\x86\xF2o\xC1\0\0\x83\x04\x92P`\x10\x01[c\x05\xF5\xE1\0\x83\x10a+\x03Wc\x05\xF5\xE1\0\x83\x04\x92P`\x08\x01[a'\x10\x83\x10a+\x17Wa'\x10\x83\x04\x92P`\x04\x01[`d\x83\x10a+)W`d\x83\x04\x92P`\x02\x01[`\n\x83\x10a\x1E%W`\x01\x01\x92\x91PPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a+uWP`\0\x91P`\x03\x90P\x82a,*V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a+\xC9W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a, WP`\0\x92P`\x01\x91P\x82\x90Pa,*V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;`\0\x03a,\x9DW`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x04\x82\x01R`$\x01a\x06[V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84`@Qa--\x91\x90a6\x90V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a-hW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a-mV[``\x91P[P\x91P\x91Pa y\x85\x83\x83a-\xB5V[4\x15a\x17\xA6W`@Q\x7F\xB3\x98\x97\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a-\xCAWa-\xC5\x82a.DV[a\x08\x16V[\x81Q\x15\x80\x15a-\xEEWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15[\x15a.=W`@Q\x7F\x99\x96\xB3\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01a\x06[V[P\x80a\x08\x16V[\x80Q\x15a.TW\x80Q\x80\x82` \x01\xFD[`@Q\x7F\xD6\xBD\xA2u\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a.\xA1W\x81\x81\x01Q\x83\x82\x01R` \x01a.\x89V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra.\xC2\x81` \x86\x01` \x86\x01a.\x86V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\x16` \x83\x01\x84a.\xAAV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a/}Wa/}a/\x07V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a/\x96W`\0\x80\xFD[\x815` \x83\x01`\0\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x11\x15a/\xB7Wa/\xB7a/\x07V[P`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01a/\xEA\x81a/6V[\x91PP\x82\x81R\x85\x83\x83\x01\x11\x15a/\xFFW`\0\x80\xFD[\x82\x82` \x83\x017`\0\x92\x81\x01` \x01\x92\x90\x92RP\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1E\x8CW`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a0QW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0hW`\0\x80\xFD[a0t\x86\x82\x87\x01a/\x85V[\x93PP` \x84\x015\x91P`@\x84\x015a0\x8C\x81a0\x1AV[\x80\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a0\xACW`\0\x80\xFD[\x835a0\xB7\x81a0\x1AV[\x92P` \x84\x015a0\xC7\x81a0\x1AV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a0\xEEW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\x05W`\0\x80\xFD[a1\x11\x87\x82\x88\x01a/\x85V[\x94PP` \x85\x015\x92P`@\x85\x015a1)\x81a0\x1AV[\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1EW`\0\x80\xFD[a1Q\x87\x82\x88\x01a/\x85V[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`\0``\x84\x86\x03\x12\x15a1rW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\x89W`\0\x80\xFD[a1\x95\x86\x82\x87\x01a/\x85V[\x93PP` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\xB2W`\0\x80\xFD[a1\xBE\x86\x82\x87\x01a/\x85V[\x93\x96\x93\x95PPPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a1\xE2W`\0\x80\xFD[\x815a\x08\x16\x81a0\x1AV[`\0\x80`@\x83\x85\x03\x12\x15a2\0W`\0\x80\xFD[\x825a2\x0B\x81a0\x1AV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a2'W`\0\x80\xFD[a23\x85\x82\x86\x01a/\x85V[\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a2PW`\0\x80\xFD[\x825\x91P` \x83\x015a2b\x81a0\x1AV[\x80\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a2\x7FW`\0\x80\xFD[P5\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a2\xA0Wa2\xA0a/\x07V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a2\xBBW`\0\x80\xFD[\x815a2\xCEa2\xC9\x82a2\x86V[a/6V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\xF0W`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805\x83R` \x92\x83\x01\x92\x01a2\xF5V[P\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a3(W`\0\x80\xFD[\x815a36a2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3XW`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805a3p\x81a0\x1AV[\x83R` \x92\x83\x01\x92\x01a3]V[`\0\x82`\x1F\x83\x01\x12a3\x8FW`\0\x80\xFD[\x815a3\x9Da2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3\xBFW`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xE3W`\0\x80\xFD[a3\xF2\x88` \x83\x8A\x01\x01a/\x85V[\x84RP` \x92\x83\x01\x92\x01a3\xC4V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a4\x17W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4.W`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a4?W`\0\x80\xFD[\x805a4Ma2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x89\x83\x11\x15a4oW`\0\x80\xFD[` \x84\x01[\x83\x81\x10\x15a4\xB1W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\x93W`\0\x80\xFD[a4\xA2\x8C` \x83\x89\x01\x01a/\x85V[\x84RP` \x92\x83\x01\x92\x01a4tV[P\x96PPPP` \x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\xD1W`\0\x80\xFD[a4\xDD\x87\x82\x88\x01a2\xAAV[\x93PP`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\xFAW`\0\x80\xFD[a5\x06\x87\x82\x88\x01a3\x17V[\x92PP``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a5#W`\0\x80\xFD[a1Q\x87\x82\x88\x01a3~V[`\0\x80`@\x83\x85\x03\x12\x15a5BW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a5YW`\0\x80\xFD[a5e\x85\x82\x86\x01a/\x85V[\x95` \x94\x90\x94\x015\x94PPPPV[\x82\x81R`@` \x82\x01R`\0a\x1Fz`@\x83\x01\x84a.\xAAV[`\0` \x82\x84\x03\x12\x15a5\x9FW`\0\x80\xFD[\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x08\x16W`\0\x80\xFD[`\0\x84Qa5\xE1\x81\x84` \x89\x01a.\x86V[\x7Fdomain=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x83\x01\x90\x81R\x84Qa6\x1B\x81`\x07\x84\x01` \x89\x01a.\x86V[\x7F;public_key_hash=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x07\x92\x90\x91\x01\x91\x82\x01R\x83Qa6Y\x81`\x18\x84\x01` \x88\x01a.\x86V[\x7F;\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x18\x92\x90\x91\x01\x91\x82\x01R`\x19\x01\x95\x94PPPPPV[`\0\x82Qa6\xA2\x81\x84` \x87\x01a.\x86V[\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x1E%Wa\x1E%a6\xACV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a7/W`\0\x80\xFD[\x81Qa\x08\x16\x81a0\x1AV[\x81\x81\x03\x81\x81\x11\x15a\x1E%Wa\x1E%a6\xACV[\x7F\x19Ethereum Signed Message:\n\0\0\0\0\0\0\x81R`\0\x83Qa7\x85\x81`\x1A\x85\x01` \x88\x01a.\x86V[\x83Q\x90\x83\x01\x90a7\x9C\x81`\x1A\x84\x01` \x88\x01a.\x86V[\x01`\x1A\x01\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a7\xBAW`\0\x80\xFD[PQ\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`!`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x1E%Wa\x1E%a6\xACV[`\0\x81a8\x16Wa8\x16a6\xACV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V\xFE\xA2dipfsX\"\x12 q>\xE1\xC5W\xFE\x9D\x8C[\xE2@\x07\x8D\xB2Z\xAAQ\xB4PX\x8F\x10\\I\xA8\x0Bv \x05\x81\x99\x9CdsolcC\0\x08\x1A\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R0`\x80R4\x80\x15`\x12W_\x80\xFD[P`\x80Qa7Ma\09_9_\x81\x81a!\xC4\x01R\x81\x81a!\xED\x01Ra$\x0E\x01Ra7M_\xF3\xFE`\x80`@R`\x046\x10a\x01\x83W_5`\xE0\x1C\x80c}F6H\x11a\0\xD1W\x80c\xAD<\xB1\xCC\x11a\0|W\x80c\xE7\xA7\x97z\x11a\0WW\x80c\xE7\xA7\x97z\x14a\x05qW\x80c\xF0\xBF\xB1\x97\x14a\x05\x90W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xC9W_\x80\xFD[\x80c\xAD<\xB1\xCC\x14a\x04\x92W\x80c\xD5\x07\xC3 \x14a\x04\xDAW\x80c\xE3\x08\xDE\x0C\x14a\x05\"W_\x80\xFD[\x80c\x81.\x12\xCE\x11a\0\xACW\x80c\x81.\x12\xCE\x14a\x04\x15W\x80c\x82\xBF\xF8\xCD\x14a\x04*W\x80c\x8D\xA5\xCB[\x14a\x04IW_\x80\xFD[\x80c}F6H\x14a\x03{W\x80c\x7F\x8E)\xBA\x14a\x03\xCBW\x80c\x7F\xF1\x03\xDA\x14a\x03\xF6W_\x80\xFD[\x80cL\x93\x06\x07\x11a\x011W\x80cWI\0\xDD\x11a\x01\x0CW\x80cWI\0\xDD\x14a\x03\x0FW\x80caJD\x85\x14a\x03HW\x80cqP\x18\xA6\x14a\x03gW_\x80\xFD[\x80cL\x93\x06\x07\x14a\x02\xBBW\x80cO\x1E\xF2\x86\x14a\x02\xDAW\x80cR\xD1\x90-\x14a\x02\xEDW_\x80\xFD[\x80c\"Z\x08\xD4\x11a\x01aW\x80c\"Z\x08\xD4\x14a\x025W\x80c2\xE1\xE1\x94\x14a\x02}W\x80cK\xCB\xBE\x96\x14a\x02\x9CW_\x80\xFD[\x80c\x07\xF1\xEA\xF5\x14a\x01\x87W\x80c\x0BU\xB3|\x14a\x01\xE5W\x80c\x17\x94\xBB<\x14a\x02\x14W[_\x80\xFD[4\x80\x15a\x01\x92W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\x01\xDC\x91\x90a.XV[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xF0W_\x80\xFD[Pa\x02\x04a\x01\xFF6`\x04a/\x97V[a\x05\xE8V[`@Q\x90\x15\x15\x81R` \x01a\x01\xDCV[4\x80\x15a\x02\x1FW_\x80\xFD[Pa\x023a\x02.6`\x04a/\xEEV[a\x07\xF2V[\0[4\x80\x15a\x02@W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x0B\x81R` \x01\x7FREACTIVATE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x02\x88W_\x80\xFD[Pa\x023a\x02\x976`\x04a0,V[a\t\xB6V[4\x80\x15a\x02\xA7W_\x80\xFD[Pa\x01\xCFa\x02\xB66`\x04a0\xACV[a\x0F\x94V[4\x80\x15a\x02\xC6W_\x80\xFD[Pa\x023a\x02\xD56`\x04a1\x1AV[a\x0F\xCBV[a\x023a\x02\xE86`\x04a15V[a\x11~V[4\x80\x15a\x02\xF8W_\x80\xFD[Pa\x03\x01a\x11\x9DV[`@Q\x90\x81R` \x01a\x01\xDCV[4\x80\x15a\x03\x1AW_\x80\xFD[Pa\x02\x04a\x03)6`\x04a1\x82V[`\x04` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T`\xFF\x16\x81V[4\x80\x15a\x03SW_\x80\xFD[Pa\x023a\x03b6`\x04a0,V[a\x11\xCBV[4\x80\x15a\x03rW_\x80\xFD[Pa\x023a\x17OV[4\x80\x15a\x03\x86W_\x80\xFD[P_Ta\x03\xA6\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\xDCV[4\x80\x15a\x03\xD6W_\x80\xFD[Pa\x03\x01a\x03\xE56`\x04a1\xB0V[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x01W_\x80\xFD[Pa\x023a\x04\x106`\x04a37V[a\x17bV[4\x80\x15a\x04 W_\x80\xFD[Pa\x03\x01`\x01T\x81V[4\x80\x15a\x045W_\x80\xFD[Pa\x023a\x04D6`\x04a0,V[a\x18\xDFV[4\x80\x15a\x04TW_\x80\xFD[P\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x03\xA6V[4\x80\x15a\x04\x9DW_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7F5.0.0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x04\xE5W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x05-W_\x80\xFD[Pa\x02\x04a\x05<6`\x04a/\x97V[\x82Q` \x81\x85\x01\x81\x01\x80Q`\x02\x82R\x92\x82\x01\x95\x82\x01\x95\x90\x95 \x91\x90\x94R\x83R_\x91\x82R`@\x80\x83 \x90\x93R\x81R T`\xFF\x16\x81V[4\x80\x15a\x05|W_\x80\xFD[Pa\x02\x04a\x05\x8B6`\x04a4[V[a\x1DSV[4\x80\x15a\x05\x9BW_\x80\xFD[Pa\x02\x04a\x05\xAA6`\x04a1\x82V[`\x03` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T`\xFF\x16\x81V[4\x80\x15a\x05\xD4W_\x80\xFD[Pa\x023a\x05\xE36`\x04a1\x1AV[a\x1D\xD9V[_\x80\x84Q\x11a\x06>W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[\x82a\x06\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x07\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x83\x16\x03a\x07\xA4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7Fauthorizer cannot be mainAuthori`D\x82\x01R\x7Fzer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_a\x07\xAF\x84\x84a\x1E#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x08=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x07\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x0E{W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x0F\nV[_a\x0E\x8B\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x0F\x08W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[_\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F2\x89\x9A\x1E\xA4\xD8\xE4\x91|k=l\x1Ci\xFDLp\x949C\xB0'\xFE\x9D\x83+ R\xE7\xEF\xF8\xD6\x91\x90\xA3PPPPV[``\x83\x83a\x0F\xA1\x84a \x9AV[`@Q` \x01a\x0F\xB3\x93\x92\x91\x90a5\x0BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x0F\xD3a!\x1EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x10\\W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`(`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be zero\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x82\x16\x03a\x11\x12W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`J`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be the same as the current main`d\x82\x01R\x7FAuthorizer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x84\x82\x01R`\xA4\x01a\x065V[_\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x91\x7F;\xB1\x96\x11\xD1\x15f1\xA8\\Y\xDD\xFEvhT\x1A/\0\xE6\xBA+~q\xCB\x0C`\xEC\xE0\xD5\xE5[\x91\xA2PV[a\x11\x86a!\xACV[a\x11\x8F\x82a\"\xB0V[a\x11\x99\x82\x82a\"\xB8V[PPV[_a\x11\xA6a#\xF6V[P\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x90V[_\x84Q\x11a\x12\x1BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x82a\x12hW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x12\xF1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[`\x02\x84`@Qa\x13\x01\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x86\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15a\x13\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash is already set\0\0`D\x82\x01R`d\x01a\x065V[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x140W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x16RW_a\x14\x8E`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\x94V[\x90P_a\x14\x9A\x82a 8V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x15\xC5W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x15\r\x90\x84\x90\x87\x90`\x04\x01a4\x9DV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15(W=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15L\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x15\xC0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x16OV[_a\x15\xD0\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x16MW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[`\x01`\x02\x85`@Qa\x16d\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x81\x16\x80\x84R\x91\x90\x94R\x91\x81 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x94\x15\x15\x94\x90\x94\x17\x90\x93U\x91T\x16\x90\x03a\x16\xF4W`\x01Ta\x16\xE5\x90Ba5\xE0V[_\x84\x81R`\x05` R`@\x90 U[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83\x85`@Qa\x17\x1A\x91\x90a5\xA8V[`@Q\x90\x81\x90\x03\x81 \x90\x7F}a~\xDC\x9D\n\xDE/\xB7hC\xEF_sr\xBD'0\xE9\0\xFA\x12\xE6t\xBE\xCA\xA8\xAD\x01\xEA\xB6\xCB\x90_\x90\xA4PPPPV[a\x17Wa!\x1EV[a\x17`_a$eV[V[\x82Q\x84Q\x14a\x17\xB3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Finvalid publicKeyHashes length\0\0`D\x82\x01R`d\x01a\x065V[\x81Q\x84Q\x14a\x18\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Finvalid authorizers length\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x80Q\x84Q\x14a\x18UW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid signatures length\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[_[\x84Q\x81\x10\x15a\x18\xD8Wa\x18\xD0\x85\x82\x81Q\x81\x10a\x18uWa\x18ua5\xF3V[` \x02` \x01\x01Q\x85\x83\x81Q\x81\x10a\x18\x8FWa\x18\x8Fa5\xF3V[` \x02` \x01\x01Q\x85\x84\x81Q\x81\x10a\x18\xA9Wa\x18\xA9a5\xF3V[` \x02` \x01\x01Q\x85\x85\x81Q\x81\x10a\x18\xC3Wa\x18\xC3a5\xF3V[` \x02` \x01\x01Qa\x11\xCBV[`\x01\x01a\x18WV[PPPPPV[_\x84Q\x11a\x19/W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x82a\x19|W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x1A\x05W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x1A\xAAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x1C\xCCW_a\x1B\x08`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\x94V[\x90P_a\x1B\x14\x82a 8V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x1C?W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x1B\x87\x90\x84\x90\x87\x90`\x04\x01a4\x9DV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xA2W=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B\xC6\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x1C:W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x1C\xC9V[_a\x1CJ\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x1C\xC7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F5P6\xB8\xAD\x96>\x18^\t\xF0t\xE8VU\x96H:\0\x12\xCB\xE6 \xF5\x07\xC0\xF3IP\xA2\xF0\xB3\x91\x90\xA3PPPPV[_\x803s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\x9EW=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1D\xC2\x91\x90a6 V[\x90Pa\x1D\xCF\x84\x84\x83a\x05\xE8V[\x91PP[\x92\x91PPV[a\x1D\xE1a!\x1EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x1E0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R_`\x04\x82\x01R`$\x01a\x065V[a\x1E9\x81a$eV[PV[_\x82\x81R`\x03` \x90\x81R`@\x80\x83 \x83Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x90\x91R\x81 T\x81\x90`\xFF\x16\x15\x15`\x01\x03a\x1E\x88Wa\x1E\x85`\x01\x82a5\xE0V[\x90P[_\x84\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1E\xD1Wa\x1E\xCE`\x02\x82a5\xE0V[\x90P[\x80`\x01\x14\x80\x15a\x1F\x14WP_\x84\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x14[\x15a\x07\xEBWa\x1F$`\x01\x82a6;V[\x94\x93PPPPV[_\x80_\x90P`\x02\x85`@Qa\x1FA\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 \x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F\xBDW_\x84\x81R`\x05` R`@\x90 TB\x10\x15a\x1F\xAFWa\x1F\xA8`\x01\x82a5\xE0V[\x90Pa\x1F\xBDV[a\x1F\xBA`\x02\x82a5\xE0V[\x90P[`\x02\x85`@Qa\x1F\xCD\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F$Wa \x1E`\x02\x82a5\xE0V[\x95\x94PPPPPV[a /a$\xFAV[a\x1E9\x81a%aV[_a C\x82Qa%iV[\x82`@Q` \x01a U\x92\x91\x90a6NV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[_\x80_\x80a \x80\x86\x86a&%V[\x92P\x92P\x92Pa \x90\x82\x82a&nV[P\x90\x94\x93PPPPV[``a\x1D\xD3\x82a!\x16\x84`\xFF`\x80o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x90\x81\x02\x92\x90\x92\x1C`@g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1C` c\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1Ca\xFF\xFF\x81\x11`\x10\x81\x81\x02\x92\x90\x92\x1C\x94\x90\x94\x11`\x02\x90\x94\x02`\x04\x90\x92\x02`\x08\x90\x93\x02\x94\x02\x93\x90\x93\x01\x01\x91\x90\x91\x01\x01\x90V[`\x01\x01a'qV[3a!]\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x17`W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x065V[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\"yWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\"`\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x17`W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E9a!\x1EV[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a#=WP`@\x80Q`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01\x90\x92Ra#:\x91\x81\x01\x90a6\x88V[`\x01[a#\x8BW`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x04\x82\x01R`$\x01a\x065V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x81\x14a#\xE7W`@Q\x7F\xAA\x1DI\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[a#\xF1\x83\x83a)\x89V[PPPV[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x17`W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90_\x90\xA3PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16a\x17`W`@Q\x7F\xD7\xE6\xBC\xF8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1D\xE1a$\xFAV[``_a%u\x83a)\xEBV[`\x01\x01\x90P_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x94Wa%\x94a.jV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a%\xBEW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x81\x81\x01` \x01[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\n\x86\x06\x1A\x81S`\n\x85\x04\x94P\x84a%\xC8WP\x93\x92PPPV[_\x80_\x83Q`A\x03a&\\W` \x84\x01Q`@\x85\x01Q``\x86\x01Q_\x1Aa&N\x88\x82\x85\x85a*\xCCV[\x95P\x95P\x95PPPPa&gV[PP\x81Q_\x91P`\x02\x90[\x92P\x92P\x92V[_\x82`\x03\x81\x11\x15a&\x81Wa&\x81a6\x9FV[\x03a&\x8AWPPV[`\x01\x82`\x03\x81\x11\x15a&\x9EWa&\x9Ea6\x9FV[\x03a&\xD5W`@Q\x7F\xF6E\xEE\xDF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a&\xE9Wa&\xE9a6\x9FV[\x03a'#W`@Q\x7F\xFC\xE6\x98\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[`\x03\x82`\x03\x81\x11\x15a'7Wa'7a6\x9FV[\x03a\x11\x99W`@Q\x7F\xD7\x8B\xCE\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[``\x82_a'\x80\x84`\x02a6\xCCV[a'\x8B\x90`\x02a5\xE0V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA3Wa'\xA3a.jV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a'\xCDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x7F0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81_\x81Q\x81\x10a(\x03Wa(\x03a5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP\x7Fx\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\x01\x81Q\x81\x10a(eWa(ea5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP_a(\x9F\x85`\x02a6\xCCV[a(\xAA\x90`\x01a5\xE0V[\x90P[`\x01\x81\x11\x15a)FW\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83`\x0F\x16`\x10\x81\x10a(\xEBWa(\xEBa5\xF3V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a)\x01Wa)\x01a5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP`\x04\x92\x90\x92\x1C\x91a)?\x81a6\xE3V[\x90Pa(\xADV[P\x81\x15a\x1D\xCFW`@Q\x7F\xE2.'\xEB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x86\x90R`$\x81\x01\x85\x90R`D\x01a\x065V[a)\x92\x82a+\xBFV[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90_\x90\xA2\x80Q\x15a)\xE3Wa#\xF1\x82\x82a,\x8DV[a\x11\x99a-\x03V[_\x80z\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x10a*3Wz\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x04\x92P`@\x01[m\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x10a*_Wm\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x04\x92P` \x01[f#\x86\xF2o\xC1\0\0\x83\x10a*}Wf#\x86\xF2o\xC1\0\0\x83\x04\x92P`\x10\x01[c\x05\xF5\xE1\0\x83\x10a*\x95Wc\x05\xF5\xE1\0\x83\x04\x92P`\x08\x01[a'\x10\x83\x10a*\xA9Wa'\x10\x83\x04\x92P`\x04\x01[`d\x83\x10a*\xBBW`d\x83\x04\x92P`\x02\x01[`\n\x83\x10a\x1D\xD3W`\x01\x01\x92\x91PPV[_\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a+\x05WP_\x91P`\x03\x90P\x82a+\xB5V[`@\x80Q_\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a+VW=_\x80>=_\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a+\xACWP_\x92P`\x01\x91P\x82\x90Pa+\xB5V[\x92P_\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;_\x03a,'W`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x04\x82\x01R`$\x01a\x065V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[``_\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84`@Qa,\xB6\x91\x90a5\xA8V[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a,\xEEW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a,\xF3V[``\x91P[P\x91P\x91Pa \x1E\x85\x83\x83a-;V[4\x15a\x17`W`@Q\x7F\xB3\x98\x97\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a-PWa-K\x82a-\xCAV[a\x07\xEBV[\x81Q\x15\x80\x15a-tWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15[\x15a-\xC3W`@Q\x7F\x99\x96\xB3\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01a\x065V[P\x80a\x07\xEBV[\x80Q\x15a-\xDAW\x80Q\x80\x82` \x01\xFD[`@Q\x7F\xD6\xBD\xA2u\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x81Q\x80\x84R\x80` \x84\x01` \x86\x01^_` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R_a\x07\xEB` \x83\x01\x84a.\x0CV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`A`\x04R`$_\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a.\xDEWa.\xDEa.jV[`@R\x91\x90PV[_\x82`\x1F\x83\x01\x12a.\xF5W_\x80\xFD[\x815` \x83\x01_\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x11\x15a/\x15Wa/\x15a.jV[P`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01a/H\x81a.\x97V[\x91PP\x82\x81R\x85\x83\x83\x01\x11\x15a/\\W_\x80\xFD[\x82\x82` \x83\x017_\x92\x81\x01` \x01\x92\x90\x92RP\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1E9W_\x80\xFD[_\x80_``\x84\x86\x03\x12\x15a/\xA9W_\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/\xBFW_\x80\xFD[a/\xCB\x86\x82\x87\x01a.\xE6V[\x93PP` \x84\x015\x91P`@\x84\x015a/\xE3\x81a/vV[\x80\x91PP\x92P\x92P\x92V[_\x80_``\x84\x86\x03\x12\x15a0\0W_\x80\xFD[\x835a0\x0B\x81a/vV[\x92P` \x84\x015a0\x1B\x81a/vV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[_\x80_\x80`\x80\x85\x87\x03\x12\x15a0?W_\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0UW_\x80\xFD[a0a\x87\x82\x88\x01a.\xE6V[\x94PP` \x85\x015\x92P`@\x85\x015a0y\x81a/vV[\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\x94W_\x80\xFD[a0\xA0\x87\x82\x88\x01a.\xE6V[\x91PP\x92\x95\x91\x94P\x92PV[_\x80_``\x84\x86\x03\x12\x15a0\xBEW_\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\xD4W_\x80\xFD[a0\xE0\x86\x82\x87\x01a.\xE6V[\x93PP` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\xFCW_\x80\xFD[a1\x08\x86\x82\x87\x01a.\xE6V[\x93\x96\x93\x95PPPP`@\x91\x90\x91\x015\x90V[_` \x82\x84\x03\x12\x15a1*W_\x80\xFD[\x815a\x07\xEB\x81a/vV[_\x80`@\x83\x85\x03\x12\x15a1FW_\x80\xFD[\x825a1Q\x81a/vV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1lW_\x80\xFD[a1x\x85\x82\x86\x01a.\xE6V[\x91PP\x92P\x92\x90PV[_\x80`@\x83\x85\x03\x12\x15a1\x93W_\x80\xFD[\x825\x91P` \x83\x015a1\xA5\x81a/vV[\x80\x91PP\x92P\x92\x90PV[_` \x82\x84\x03\x12\x15a1\xC0W_\x80\xFD[P5\x91\x90PV[_g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a1\xE0Wa1\xE0a.jV[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a1\xF9W_\x80\xFD[\x815a2\x0Ca2\x07\x82a1\xC7V[a.\x97V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2-W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805\x83R` \x92\x83\x01\x92\x01a22V[P\x95\x94PPPPPV[_\x82`\x1F\x83\x01\x12a2cW_\x80\xFD[\x815a2qa2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\x92W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805a2\xAA\x81a/vV[\x83R` \x92\x83\x01\x92\x01a2\x97V[_\x82`\x1F\x83\x01\x12a2\xC7W_\x80\xFD[\x815a2\xD5a2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\xF6W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\x19W_\x80\xFD[a3(\x88` \x83\x8A\x01\x01a.\xE6V[\x84RP` \x92\x83\x01\x92\x01a2\xFBV[_\x80_\x80`\x80\x85\x87\x03\x12\x15a3JW_\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3`W_\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a3pW_\x80\xFD[\x805a3~a2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x89\x83\x11\x15a3\x9FW_\x80\xFD[` \x84\x01[\x83\x81\x10\x15a3\xE0W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xC2W_\x80\xFD[a3\xD1\x8C` \x83\x89\x01\x01a.\xE6V[\x84RP` \x92\x83\x01\x92\x01a3\xA4V[P\x96PPPP` \x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xFFW_\x80\xFD[a4\x0B\x87\x82\x88\x01a1\xEAV[\x93PP`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4'W_\x80\xFD[a43\x87\x82\x88\x01a2TV[\x92PP``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4OW_\x80\xFD[a0\xA0\x87\x82\x88\x01a2\xB8V[_\x80`@\x83\x85\x03\x12\x15a4lW_\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\x82W_\x80\xFD[a4\x8E\x85\x82\x86\x01a.\xE6V[\x95` \x94\x90\x94\x015\x94PPPPV[\x82\x81R`@` \x82\x01R_a\x1F$`@\x83\x01\x84a.\x0CV[_` \x82\x84\x03\x12\x15a4\xC5W_\x80\xFD[\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x07\xEBW_\x80\xFD[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a5\x16\x82\x86a4\xF4V[\x7Fdomain=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Ra5F`\x07\x82\x01\x86a4\xF4V[\x90P\x7F;public_key_hash=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Ra5x`\x11\x82\x01\x85a4\xF4V[\x7F;\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x01\x01\x96\x95PPPPPPV[_a\x07\xEB\x82\x84a4\xF4V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x1D\xD3Wa\x1D\xD3a5\xB3V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a60W_\x80\xFD[\x81Qa\x07\xEB\x81a/vV[\x81\x81\x03\x81\x81\x11\x15a\x1D\xD3Wa\x1D\xD3a5\xB3V[\x7F\x19Ethereum Signed Message:\n\0\0\0\0\0\0\x81R_a\x1F$a6\x82`\x1A\x84\x01\x86a4\xF4V[\x84a4\xF4V[_` \x82\x84\x03\x12\x15a6\x98W_\x80\xFD[PQ\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`!`\x04R`$_\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x1D\xD3Wa\x1D\xD3a5\xB3V[_\x81a6\xF1Wa6\xF1a5\xB3V[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V\xFE\xA2dipfsX\"\x12 \x7F\n\xFD\x9A\xBF\xB9\x91\xD0\x90=\xA0\x9A4Q\xD0\x9B\xC8-\x8E\xE7\x10\xE0V\xAE\xE7qYx\xCD\xA6\xB6\xD7dsolcC\0\x08\x1A\x003"; /// The bytecode of the contract. pub static USEROVERRIDABLEDKIMREGISTRY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x01\x8BW`\x005`\xE0\x1C\x80c}F6H\x11a\0\xD6W\x80c\xAD<\xB1\xCC\x11a\0\x7FW\x80c\xE7\xA7\x97z\x11a\0YW\x80c\xE7\xA7\x97z\x14a\x05\x92W\x80c\xF0\xBF\xB1\x97\x14a\x05\xB2W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xEDW`\0\x80\xFD[\x80c\xAD<\xB1\xCC\x14a\x04\xAFW\x80c\xD5\x07\xC3 \x14a\x04\xF8W\x80c\xE3\x08\xDE\x0C\x14a\x05AW`\0\x80\xFD[\x80c\x81.\x12\xCE\x11a\0\xB0W\x80c\x81.\x12\xCE\x14a\x04/W\x80c\x82\xBF\xF8\xCD\x14a\x04EW\x80c\x8D\xA5\xCB[\x14a\x04eW`\0\x80\xFD[\x80c}F6H\x14a\x03\x90W\x80c\x7F\x8E)\xBA\x14a\x03\xE2W\x80c\x7F\xF1\x03\xDA\x14a\x04\x0FW`\0\x80\xFD[\x80cL\x93\x06\x07\x11a\x018W\x80cWI\0\xDD\x11a\x01\x12W\x80cWI\0\xDD\x14a\x03 W\x80caJD\x85\x14a\x03[W\x80cqP\x18\xA6\x14a\x03{W`\0\x80\xFD[\x80cL\x93\x06\x07\x14a\x02\xCAW\x80cO\x1E\xF2\x86\x14a\x02\xEAW\x80cR\xD1\x90-\x14a\x02\xFDW`\0\x80\xFD[\x80c\"Z\x08\xD4\x11a\x01iW\x80c\"Z\x08\xD4\x14a\x02AW\x80c2\xE1\xE1\x94\x14a\x02\x8AW\x80cK\xCB\xBE\x96\x14a\x02\xAAW`\0\x80\xFD[\x80c\x07\xF1\xEA\xF5\x14a\x01\x90W\x80c\x0BU\xB3|\x14a\x01\xEFW\x80c\x17\x94\xBB<\x14a\x02\x1FW[`\0\x80\xFD[4\x80\x15a\x01\x9CW`\0\x80\xFD[Pa\x01\xD9`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\x01\xE6\x91\x90a.\xF4V[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xFBW`\0\x80\xFD[Pa\x02\x0Fa\x02\n6`\x04a0#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x81\x15\x80\x15a\x08hWP\x82[\x90P`\0\x82g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01\x14\x80\x15a\x08\x85WP0;\x15[\x90P\x81\x15\x80\x15a\x08\x93WP\x80\x15[\x15a\x08\xCAW`@Q\x7F\xF9.\xE8\xA9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x16`\x01\x17\x85U\x83\x15a\t+W\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16h\x01\0\0\0\0\0\0\0\0\x17\x85U[a\t4\x88a \x82V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x17\x90U`\x01\x86\x90U\x83\x15a\t\xDAW\x84T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85U`@Q`\x01\x81R\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x90` \x01`@Q\x80\x91\x03\x90\xA1[PPPPPPPPV[`\0\x84Q\x11a\n5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\n\x82W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\x0BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x83\x16\x03a\x0B\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`4`$\x82\x01R\x7FmainAuthorizer cannot reactivate`D\x82\x01R\x7F the public key hash\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x0CBW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7Fpublic key hash is already react`D\x82\x01R\x7Fivated\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[a\x0CL\x83\x83a\x1E\x8FV[`\x01\x14a\x0C\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7Frevoke threshold must be one\0\0\0\0`D\x82\x01R`d\x01a\x06[V[`\x02a\x0C\xA8\x85\x85\x85a\x1F\x82V[\x10\x15a\r\x1CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7Fset threshold must be larger tha`D\x82\x01R\x7Fn two\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x0FCW`\0a\r{`@Q\x80`@\x01`@R\x80`\x0B\x81R` \x01\x7FREACTIVATE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\r\x88\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x0E\xB5W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\r\xFB\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\x18W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E<\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x0E\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x0F@V[`\0a\x0E\xC1\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x0F>W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\0\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F2\x89\x9A\x1E\xA4\xD8\xE4\x91|k=l\x1Ci\xFDLp\x949C\xB0'\xFE\x9D\x83+ R\xE7\xEF\xF8\xD6\x91\x90\xA3PPPPV[``\x83\x83a\x0F\xD8\x84a \xF8V[`@Q` \x01a\x0F\xEA\x93\x92\x91\x90a5\xCFV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x10\na!|V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x10\x93W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`(`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be zero\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x82\x16\x03a\x11JW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`J`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be the same as the current main`d\x82\x01R\x7FAuthorizer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x84\x82\x01R`\xA4\x01a\x06[V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x91\x7F;\xB1\x96\x11\xD1\x15f1\xA8\\Y\xDD\xFEvhT\x1A/\0\xE6\xBA+~q\xCB\x0C`\xEC\xE0\xD5\xE5[\x91\xA2PV[a\x11\xBFa\"\nV[a\x11\xC8\x82a#\x0EV[a\x11\xD2\x82\x82a#\x16V[PPV[`\0a\x11\xE0a$TV[P\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x90V[`\0\x84Q\x11a\x12VW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\x12\xA3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x13,W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\x02\x84`@Qa\x13<\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x86\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15a\x13\xC7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash is already set\0\0`D\x82\x01R`d\x01a\x06[V[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x14mW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x16\x94W`\0a\x14\xCC`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\x14\xD9\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x16\x06W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x15L\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15iW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\x8D\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x16\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x16\x91V[`\0a\x16\x12\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x16\x8FW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\x01`\x02\x85`@Qa\x16\xA6\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x81\x16\x80\x84R\x91\x90\x94R\x91\x81 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x94\x15\x15\x94\x90\x94\x17\x90\x93U\x91T\x16\x90\x03a\x178W`\x01Ta\x17(\x90Ba6\xDBV[`\0\x84\x81R`\x05` R`@\x90 U[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83\x85`@Qa\x17^\x91\x90a6\x90V[`@Q\x90\x81\x90\x03\x81 \x90\x7F}a~\xDC\x9D\n\xDE/\xB7hC\xEF_sr\xBD'0\xE9\0\xFA\x12\xE6t\xBE\xCA\xA8\xAD\x01\xEA\xB6\xCB\x90`\0\x90\xA4PPPPV[a\x17\x9Ca!|V[a\x17\xA6`\0a$\xC3V[V[\x82Q\x84Q\x14a\x17\xF9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Finvalid publicKeyHashes length\0\0`D\x82\x01R`d\x01a\x06[V[\x81Q\x84Q\x14a\x18JW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Finvalid authorizers length\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x80Q\x84Q\x14a\x18\x9BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid signatures length\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[`\0[\x84Q\x81\x10\x15a\x19\x1FWa\x19\x17\x85\x82\x81Q\x81\x10a\x18\xBCWa\x18\xBCa6\xEEV[` \x02` \x01\x01Q\x85\x83\x81Q\x81\x10a\x18\xD6Wa\x18\xD6a6\xEEV[` \x02` \x01\x01Q\x85\x84\x81Q\x81\x10a\x18\xF0Wa\x18\xF0a6\xEEV[` \x02` \x01\x01Q\x85\x85\x81Q\x81\x10a\x19\nWa\x19\na6\xEEV[` \x02` \x01\x01Qa\x12\x05V[`\x01\x01a\x18\x9EV[PPPPPV[`\0\x84Q\x11a\x19wW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[\x82a\x19\xC4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x06[V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x1AMW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x1A\xF3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x06[V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x1D\x1AW`\0a\x1BR`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\xCBV[\x90P`\0a\x1B_\x82a \x93V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x1C\x8CW`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x1B\xD2\x90\x84\x90\x87\x90`\x04\x01a5tV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xEFW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1C\x13\x91\x90a5\x8DV[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x1C\x87W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[a\x1D\x17V[`\0a\x1C\x98\x82\x85a \xCEV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x1D\x15W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06[V[P[PP[`\0\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F5P6\xB8\xAD\x96>\x18^\t\xF0t\xE8VU\x96H:\0\x12\xCB\xE6 \xF5\x07\xC0\xF3IP\xA2\xF0\xB3\x91\x90\xA3PPPPV[`\0\x803s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\xF0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1E\x14\x91\x90a7\x1DV[\x90Pa\x1E!\x84\x84\x83a\x06\rV[\x91PP[\x92\x91PPV[a\x1E3a!|V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x1E\x83W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01a\x06[V[a\x1E\x8C\x81a$\xC3V[PV[`\0\x82\x81R`\x03` \x90\x81R`@\x80\x83 \x83Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x90\x91R\x81 T\x81\x90`\xFF\x16\x15\x15`\x01\x03a\x1E\xDCWa\x1E\xD9`\x01\x82a6\xDBV[\x90P[`\0\x84\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F&Wa\x1F#`\x02\x82a6\xDBV[\x90P[\x80`\x01\x14\x80\x15a\x1FjWP`\0\x84\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x14[\x15a\x08\x16Wa\x1Fz`\x01\x82a7:V[\x94\x93PPPPV[`\0\x80`\0\x90P`\x02\x85`@Qa\x1F\x99\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 \x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a \x17W`\0\x84\x81R`\x05` R`@\x90 TB\x10\x15a \tWa \x02`\x01\x82a6\xDBV[\x90Pa \x17V[a \x14`\x02\x82a6\xDBV[\x90P[`\x02\x85`@Qa '\x91\x90a6\x90V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 `\0\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1FzWa y`\x02\x82a6\xDBV[\x95\x94PPPPPV[a \x8Aa%YV[a\x1E\x8C\x81a%\xC0V[`\0a \x9F\x82Qa%\xC8V[\x82`@Q` \x01a \xB1\x92\x91\x90a7MV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x80`\0\x80a \xDE\x86\x86a&\x86V[\x92P\x92P\x92Pa \xEE\x82\x82a&\xD3V[P\x90\x94\x93PPPPV[``a\x1E%\x82a!t\x84`\xFF`\x80o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x90\x81\x02\x92\x90\x92\x1C`@g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1C` c\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1Ca\xFF\xFF\x81\x11`\x10\x81\x81\x02\x92\x90\x92\x1C\x94\x90\x94\x11`\x02\x90\x94\x02`\x04\x90\x92\x02`\x08\x90\x93\x02\x94\x02\x93\x90\x93\x01\x01\x91\x90\x91\x01\x01\x90V[`\x01\x01a'\xD7V[3a!\xBB\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x17\xA6W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x06[V[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\"\xD7WP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\"\xBE\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x17\xA6W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\x8Ca!|V[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a#\x9BWP`@\x80Q`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01\x90\x92Ra#\x98\x91\x81\x01\x90a7\xA8V[`\x01[a#\xE9W`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x04\x82\x01R`$\x01a\x06[V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x81\x14a$EW`@Q\x7F\xAA\x1DI\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[a$O\x83\x83a)\xF5V[PPPV[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x17\xA6W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90`\0\x90\xA3PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16a\x17\xA6W`@Q\x7F\xD7\xE6\xBC\xF8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E3a%YV[```\0a%\xD5\x83a*XV[`\x01\x01\x90P`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\xF5Wa%\xF5a/\x07V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a&\x1FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x81\x81\x01` \x01[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\n\x86\x06\x1A\x81S`\n\x85\x04\x94P\x84a&)WP\x93\x92PPPV[`\0\x80`\0\x83Q`A\x03a&\xC0W` \x84\x01Q`@\x85\x01Q``\x86\x01Q`\0\x1Aa&\xB2\x88\x82\x85\x85a+:V[\x95P\x95P\x95PPPPa&\xCCV[PP\x81Q`\0\x91P`\x02\x90[\x92P\x92P\x92V[`\0\x82`\x03\x81\x11\x15a&\xE7Wa&\xE7a7\xC1V[\x03a&\xF0WPPV[`\x01\x82`\x03\x81\x11\x15a'\x04Wa'\x04a7\xC1V[\x03a';W`@Q\x7F\xF6E\xEE\xDF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a'OWa'Oa7\xC1V[\x03a'\x89W`@Q\x7F\xFC\xE6\x98\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[`\x03\x82`\x03\x81\x11\x15a'\x9DWa'\x9Da7\xC1V[\x03a\x11\xD2W`@Q\x7F\xD7\x8B\xCE\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x06[V[``\x82`\0a'\xE7\x84`\x02a7\xF0V[a'\xF2\x90`\x02a6\xDBV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\nWa(\na/\x07V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a(4W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x7F0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\0\x81Q\x81\x10a(kWa(ka6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP\x7Fx\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\x01\x81Q\x81\x10a(\xCEWa(\xCEa6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP`\0a)\n\x85`\x02a7\xF0V[a)\x15\x90`\x01a6\xDBV[\x90P[`\x01\x81\x11\x15a)\xB2W\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83`\x0F\x16`\x10\x81\x10a)VWa)Va6\xEEV[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a)lWa)la6\xEEV[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x92\x90\x92\x1C\x91a)\xAB\x81a8\x07V[\x90Pa)\x18V[P\x81\x15a\x1E!W`@Q\x7F\xE2.'\xEB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x86\x90R`$\x81\x01\x85\x90R`D\x01a\x06[V[a)\xFE\x82a,4V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90`\0\x90\xA2\x80Q\x15a*PWa$O\x82\x82a-\x03V[a\x11\xD2a-}V[`\0\x80z\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x10a*\xA1Wz\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x04\x92P`@\x01[m\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x10a*\xCDWm\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x04\x92P` \x01[f#\x86\xF2o\xC1\0\0\x83\x10a*\xEBWf#\x86\xF2o\xC1\0\0\x83\x04\x92P`\x10\x01[c\x05\xF5\xE1\0\x83\x10a+\x03Wc\x05\xF5\xE1\0\x83\x04\x92P`\x08\x01[a'\x10\x83\x10a+\x17Wa'\x10\x83\x04\x92P`\x04\x01[`d\x83\x10a+)W`d\x83\x04\x92P`\x02\x01[`\n\x83\x10a\x1E%W`\x01\x01\x92\x91PPV[`\0\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a+uWP`\0\x91P`\x03\x90P\x82a,*V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a+\xC9W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a, WP`\0\x92P`\x01\x91P\x82\x90Pa,*V[\x92P`\0\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;`\0\x03a,\x9DW`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x04\x82\x01R`$\x01a\x06[V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[```\0\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84`@Qa--\x91\x90a6\x90V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a-hW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a-mV[``\x91P[P\x91P\x91Pa y\x85\x83\x83a-\xB5V[4\x15a\x17\xA6W`@Q\x7F\xB3\x98\x97\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a-\xCAWa-\xC5\x82a.DV[a\x08\x16V[\x81Q\x15\x80\x15a-\xEEWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15[\x15a.=W`@Q\x7F\x99\x96\xB3\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01a\x06[V[P\x80a\x08\x16V[\x80Q\x15a.TW\x80Q\x80\x82` \x01\xFD[`@Q\x7F\xD6\xBD\xA2u\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a.\xA1W\x81\x81\x01Q\x83\x82\x01R` \x01a.\x89V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra.\xC2\x81` \x86\x01` \x86\x01a.\x86V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\x16` \x83\x01\x84a.\xAAV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a/}Wa/}a/\x07V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a/\x96W`\0\x80\xFD[\x815` \x83\x01`\0\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x11\x15a/\xB7Wa/\xB7a/\x07V[P`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01a/\xEA\x81a/6V[\x91PP\x82\x81R\x85\x83\x83\x01\x11\x15a/\xFFW`\0\x80\xFD[\x82\x82` \x83\x017`\0\x92\x81\x01` \x01\x92\x90\x92RP\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1E\x8CW`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a0QW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0hW`\0\x80\xFD[a0t\x86\x82\x87\x01a/\x85V[\x93PP` \x84\x015\x91P`@\x84\x015a0\x8C\x81a0\x1AV[\x80\x91PP\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a0\xACW`\0\x80\xFD[\x835a0\xB7\x81a0\x1AV[\x92P` \x84\x015a0\xC7\x81a0\x1AV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a0\xEEW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\x05W`\0\x80\xFD[a1\x11\x87\x82\x88\x01a/\x85V[\x94PP` \x85\x015\x92P`@\x85\x015a1)\x81a0\x1AV[\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1EW`\0\x80\xFD[a1Q\x87\x82\x88\x01a/\x85V[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`\0``\x84\x86\x03\x12\x15a1rW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\x89W`\0\x80\xFD[a1\x95\x86\x82\x87\x01a/\x85V[\x93PP` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1\xB2W`\0\x80\xFD[a1\xBE\x86\x82\x87\x01a/\x85V[\x93\x96\x93\x95PPPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a1\xE2W`\0\x80\xFD[\x815a\x08\x16\x81a0\x1AV[`\0\x80`@\x83\x85\x03\x12\x15a2\0W`\0\x80\xFD[\x825a2\x0B\x81a0\x1AV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a2'W`\0\x80\xFD[a23\x85\x82\x86\x01a/\x85V[\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a2PW`\0\x80\xFD[\x825\x91P` \x83\x015a2b\x81a0\x1AV[\x80\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a2\x7FW`\0\x80\xFD[P5\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a2\xA0Wa2\xA0a/\x07V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a2\xBBW`\0\x80\xFD[\x815a2\xCEa2\xC9\x82a2\x86V[a/6V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\xF0W`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805\x83R` \x92\x83\x01\x92\x01a2\xF5V[P\x95\x94PPPPPV[`\0\x82`\x1F\x83\x01\x12a3(W`\0\x80\xFD[\x815a36a2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3XW`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805a3p\x81a0\x1AV[\x83R` \x92\x83\x01\x92\x01a3]V[`\0\x82`\x1F\x83\x01\x12a3\x8FW`\0\x80\xFD[\x815a3\x9Da2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a3\xBFW`\0\x80\xFD[` \x85\x01[\x83\x81\x10\x15a3\rW\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xE3W`\0\x80\xFD[a3\xF2\x88` \x83\x8A\x01\x01a/\x85V[\x84RP` \x92\x83\x01\x92\x01a3\xC4V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a4\x17W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4.W`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a4?W`\0\x80\xFD[\x805a4Ma2\xC9\x82a2\x86V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x89\x83\x11\x15a4oW`\0\x80\xFD[` \x84\x01[\x83\x81\x10\x15a4\xB1W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\x93W`\0\x80\xFD[a4\xA2\x8C` \x83\x89\x01\x01a/\x85V[\x84RP` \x92\x83\x01\x92\x01a4tV[P\x96PPPP` \x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\xD1W`\0\x80\xFD[a4\xDD\x87\x82\x88\x01a2\xAAV[\x93PP`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\xFAW`\0\x80\xFD[a5\x06\x87\x82\x88\x01a3\x17V[\x92PP``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a5#W`\0\x80\xFD[a1Q\x87\x82\x88\x01a3~V[`\0\x80`@\x83\x85\x03\x12\x15a5BW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a5YW`\0\x80\xFD[a5e\x85\x82\x86\x01a/\x85V[\x95` \x94\x90\x94\x015\x94PPPPV[\x82\x81R`@` \x82\x01R`\0a\x1Fz`@\x83\x01\x84a.\xAAV[`\0` \x82\x84\x03\x12\x15a5\x9FW`\0\x80\xFD[\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x08\x16W`\0\x80\xFD[`\0\x84Qa5\xE1\x81\x84` \x89\x01a.\x86V[\x7Fdomain=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x83\x01\x90\x81R\x84Qa6\x1B\x81`\x07\x84\x01` \x89\x01a.\x86V[\x7F;public_key_hash=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x07\x92\x90\x91\x01\x91\x82\x01R\x83Qa6Y\x81`\x18\x84\x01` \x88\x01a.\x86V[\x7F;\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x18\x92\x90\x91\x01\x91\x82\x01R`\x19\x01\x95\x94PPPPPV[`\0\x82Qa6\xA2\x81\x84` \x87\x01a.\x86V[\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x1E%Wa\x1E%a6\xACV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a7/W`\0\x80\xFD[\x81Qa\x08\x16\x81a0\x1AV[\x81\x81\x03\x81\x81\x11\x15a\x1E%Wa\x1E%a6\xACV[\x7F\x19Ethereum Signed Message:\n\0\0\0\0\0\0\x81R`\0\x83Qa7\x85\x81`\x1A\x85\x01` \x88\x01a.\x86V[\x83Q\x90\x83\x01\x90a7\x9C\x81`\x1A\x84\x01` \x88\x01a.\x86V[\x01`\x1A\x01\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a7\xBAW`\0\x80\xFD[PQ\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`!`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x1E%Wa\x1E%a6\xACV[`\0\x81a8\x16Wa8\x16a6\xACV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V\xFE\xA2dipfsX\"\x12 q>\xE1\xC5W\xFE\x9D\x8C[\xE2@\x07\x8D\xB2Z\xAAQ\xB4PX\x8F\x10\\I\xA8\x0Bv \x05\x81\x99\x9CdsolcC\0\x08\x1A\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x01\x83W_5`\xE0\x1C\x80c}F6H\x11a\0\xD1W\x80c\xAD<\xB1\xCC\x11a\0|W\x80c\xE7\xA7\x97z\x11a\0WW\x80c\xE7\xA7\x97z\x14a\x05qW\x80c\xF0\xBF\xB1\x97\x14a\x05\x90W\x80c\xF2\xFD\xE3\x8B\x14a\x05\xC9W_\x80\xFD[\x80c\xAD<\xB1\xCC\x14a\x04\x92W\x80c\xD5\x07\xC3 \x14a\x04\xDAW\x80c\xE3\x08\xDE\x0C\x14a\x05\"W_\x80\xFD[\x80c\x81.\x12\xCE\x11a\0\xACW\x80c\x81.\x12\xCE\x14a\x04\x15W\x80c\x82\xBF\xF8\xCD\x14a\x04*W\x80c\x8D\xA5\xCB[\x14a\x04IW_\x80\xFD[\x80c}F6H\x14a\x03{W\x80c\x7F\x8E)\xBA\x14a\x03\xCBW\x80c\x7F\xF1\x03\xDA\x14a\x03\xF6W_\x80\xFD[\x80cL\x93\x06\x07\x11a\x011W\x80cWI\0\xDD\x11a\x01\x0CW\x80cWI\0\xDD\x14a\x03\x0FW\x80caJD\x85\x14a\x03HW\x80cqP\x18\xA6\x14a\x03gW_\x80\xFD[\x80cL\x93\x06\x07\x14a\x02\xBBW\x80cO\x1E\xF2\x86\x14a\x02\xDAW\x80cR\xD1\x90-\x14a\x02\xEDW_\x80\xFD[\x80c\"Z\x08\xD4\x11a\x01aW\x80c\"Z\x08\xD4\x14a\x025W\x80c2\xE1\xE1\x94\x14a\x02}W\x80cK\xCB\xBE\x96\x14a\x02\x9CW_\x80\xFD[\x80c\x07\xF1\xEA\xF5\x14a\x01\x87W\x80c\x0BU\xB3|\x14a\x01\xE5W\x80c\x17\x94\xBB<\x14a\x02\x14W[_\x80\xFD[4\x80\x15a\x01\x92W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\x01\xDC\x91\x90a.XV[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\xF0W_\x80\xFD[Pa\x02\x04a\x01\xFF6`\x04a/\x97V[a\x05\xE8V[`@Q\x90\x15\x15\x81R` \x01a\x01\xDCV[4\x80\x15a\x02\x1FW_\x80\xFD[Pa\x023a\x02.6`\x04a/\xEEV[a\x07\xF2V[\0[4\x80\x15a\x02@W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x0B\x81R` \x01\x7FREACTIVATE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x02\x88W_\x80\xFD[Pa\x023a\x02\x976`\x04a0,V[a\t\xB6V[4\x80\x15a\x02\xA7W_\x80\xFD[Pa\x01\xCFa\x02\xB66`\x04a0\xACV[a\x0F\x94V[4\x80\x15a\x02\xC6W_\x80\xFD[Pa\x023a\x02\xD56`\x04a1\x1AV[a\x0F\xCBV[a\x023a\x02\xE86`\x04a15V[a\x11~V[4\x80\x15a\x02\xF8W_\x80\xFD[Pa\x03\x01a\x11\x9DV[`@Q\x90\x81R` \x01a\x01\xDCV[4\x80\x15a\x03\x1AW_\x80\xFD[Pa\x02\x04a\x03)6`\x04a1\x82V[`\x04` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T`\xFF\x16\x81V[4\x80\x15a\x03SW_\x80\xFD[Pa\x023a\x03b6`\x04a0,V[a\x11\xCBV[4\x80\x15a\x03rW_\x80\xFD[Pa\x023a\x17OV[4\x80\x15a\x03\x86W_\x80\xFD[P_Ta\x03\xA6\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\xDCV[4\x80\x15a\x03\xD6W_\x80\xFD[Pa\x03\x01a\x03\xE56`\x04a1\xB0V[`\x05` R_\x90\x81R`@\x90 T\x81V[4\x80\x15a\x04\x01W_\x80\xFD[Pa\x023a\x04\x106`\x04a37V[a\x17bV[4\x80\x15a\x04 W_\x80\xFD[Pa\x03\x01`\x01T\x81V[4\x80\x15a\x045W_\x80\xFD[Pa\x023a\x04D6`\x04a0,V[a\x18\xDFV[4\x80\x15a\x04TW_\x80\xFD[P\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x03\xA6V[4\x80\x15a\x04\x9DW_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7F5.0.0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x04\xE5W_\x80\xFD[Pa\x01\xCF`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[4\x80\x15a\x05-W_\x80\xFD[Pa\x02\x04a\x05<6`\x04a/\x97V[\x82Q` \x81\x85\x01\x81\x01\x80Q`\x02\x82R\x92\x82\x01\x95\x82\x01\x95\x90\x95 \x91\x90\x94R\x83R_\x91\x82R`@\x80\x83 \x90\x93R\x81R T`\xFF\x16\x81V[4\x80\x15a\x05|W_\x80\xFD[Pa\x02\x04a\x05\x8B6`\x04a4[V[a\x1DSV[4\x80\x15a\x05\x9BW_\x80\xFD[Pa\x02\x04a\x05\xAA6`\x04a1\x82V[`\x03` \x90\x81R_\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T`\xFF\x16\x81V[4\x80\x15a\x05\xD4W_\x80\xFD[Pa\x023a\x05\xE36`\x04a1\x1AV[a\x1D\xD9V[_\x80\x84Q\x11a\x06>W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[\x82a\x06\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x07\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x83\x16\x03a\x07\xA4W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7Fauthorizer cannot be mainAuthori`D\x82\x01R\x7Fzer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_a\x07\xAF\x84\x84a\x1E#\xA9f.\xFC\x9C\"\x9Cj\0\x80Th\x01\0\0\0\0\0\0\0\0\x81\x04`\xFF\x16\x15\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_\x81\x15\x80\x15a\x08=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x07\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x0E{W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x0F\nV[_a\x0E\x8B\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x0F\x08W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[_\x83\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F2\x89\x9A\x1E\xA4\xD8\xE4\x91|k=l\x1Ci\xFDLp\x949C\xB0'\xFE\x9D\x83+ R\xE7\xEF\xF8\xD6\x91\x90\xA3PPPPV[``\x83\x83a\x0F\xA1\x84a \x9AV[`@Q` \x01a\x0F\xB3\x93\x92\x91\x90a5\x0BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x93\x92PPPV[a\x0F\xD3a!\x1EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x10\\W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`(`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be zero\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x90\x82\x16\x03a\x11\x12W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`J`$\x82\x01R\x7FnewMainAuthorizer address cannot`D\x82\x01R\x7F be the same as the current main`d\x82\x01R\x7FAuthorizer\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x84\x82\x01R`\xA4\x01a\x065V[_\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x91\x7F;\xB1\x96\x11\xD1\x15f1\xA8\\Y\xDD\xFEvhT\x1A/\0\xE6\xBA+~q\xCB\x0C`\xEC\xE0\xD5\xE5[\x91\xA2PV[a\x11\x86a!\xACV[a\x11\x8F\x82a\"\xB0V[a\x11\x99\x82\x82a\"\xB8V[PPV[_a\x11\xA6a#\xF6V[P\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x90V[_\x84Q\x11a\x12\x1BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x82a\x12hW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x12\xF1W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[`\x02\x84`@Qa\x13\x01\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x86\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15a\x13\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash is already set\0\0`D\x82\x01R`d\x01a\x065V[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x140W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x16RW_a\x14\x8E`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01\x7FSET:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\x94V[\x90P_a\x14\x9A\x82a 8V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x15\xC5W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x15\r\x90\x84\x90\x87\x90`\x04\x01a4\x9DV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15(W=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15L\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x15\xC0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x16OV[_a\x15\xD0\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x16MW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[`\x01`\x02\x85`@Qa\x16d\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x81\x16\x80\x84R\x91\x90\x94R\x91\x81 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x94\x15\x15\x94\x90\x94\x17\x90\x93U\x91T\x16\x90\x03a\x16\xF4W`\x01Ta\x16\xE5\x90Ba5\xE0V[_\x84\x81R`\x05` R`@\x90 U[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83\x85`@Qa\x17\x1A\x91\x90a5\xA8V[`@Q\x90\x81\x90\x03\x81 \x90\x7F}a~\xDC\x9D\n\xDE/\xB7hC\xEF_sr\xBD'0\xE9\0\xFA\x12\xE6t\xBE\xCA\xA8\xAD\x01\xEA\xB6\xCB\x90_\x90\xA4PPPPV[a\x17Wa!\x1EV[a\x17`_a$eV[V[\x82Q\x84Q\x14a\x17\xB3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Finvalid publicKeyHashes length\0\0`D\x82\x01R`d\x01a\x065V[\x81Q\x84Q\x14a\x18\x04W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Finvalid authorizers length\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x80Q\x84Q\x14a\x18UW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid signatures length\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[_[\x84Q\x81\x10\x15a\x18\xD8Wa\x18\xD0\x85\x82\x81Q\x81\x10a\x18uWa\x18ua5\xF3V[` \x02` \x01\x01Q\x85\x83\x81Q\x81\x10a\x18\x8FWa\x18\x8Fa5\xF3V[` \x02` \x01\x01Q\x85\x84\x81Q\x81\x10a\x18\xA9Wa\x18\xA9a5\xF3V[` \x02` \x01\x01Q\x85\x85\x81Q\x81\x10a\x18\xC3Wa\x18\xC3a5\xF3V[` \x02` \x01\x01Qa\x11\xCBV[`\x01\x01a\x18WV[PPPPPV[_\x84Q\x11a\x19/W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1A`$\x82\x01R\x7Fdomain name cannot be zero\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[\x82a\x19|W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1E`$\x82\x01R\x7Fpublic key hash cannot be zero\0\0`D\x82\x01R`d\x01a\x065V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x1A\x05W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7Fauthorizer address cannot be zer`D\x82\x01R\x7Fo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15a\x1A\xAAW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7Fpublic key hash is already revok`D\x82\x01R\x7Fed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x065V[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x14a\x1C\xCCW_a\x1B\x08`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FREVOKE:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x86\x86a\x0F\x94V[\x90P_a\x1B\x14\x82a 8V[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15a\x1C?W`@Q\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x16&\xBA~\x90a\x1B\x87\x90\x84\x90\x87\x90`\x04\x01a4\x9DV[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\xA2W=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B\xC6\x91\x90a4\xB5V[{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16c\x16&\xBA~`\xE0\x1B\x14a\x1C:W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x19`$\x82\x01R\x7Finvalid eip1271 signature\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[a\x1C\xC9V[_a\x1CJ\x82\x85a rV[\x90P\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x1C\xC7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Finvalid ecdsa signature\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x065V[P[PP[_\x83\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x80\x85R\x92R\x80\x83 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UQ\x90\x91\x85\x91\x7F5P6\xB8\xAD\x96>\x18^\t\xF0t\xE8VU\x96H:\0\x12\xCB\xE6 \xF5\x07\xC0\xF3IP\xA2\xF0\xB3\x91\x90\xA3PPPPV[_\x803s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1D\x9EW=_\x80>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1D\xC2\x91\x90a6 V[\x90Pa\x1D\xCF\x84\x84\x83a\x05\xE8V[\x91PP[\x92\x91PPV[a\x1D\xE1a!\x1EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x1E0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R_`\x04\x82\x01R`$\x01a\x065V[a\x1E9\x81a$eV[PV[_\x82\x81R`\x03` \x90\x81R`@\x80\x83 \x83Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x90\x91R\x81 T\x81\x90`\xFF\x16\x15\x15`\x01\x03a\x1E\x88Wa\x1E\x85`\x01\x82a5\xE0V[\x90P[_\x84\x81R`\x03` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1E\xD1Wa\x1E\xCE`\x02\x82a5\xE0V[\x90P[\x80`\x01\x14\x80\x15a\x1F\x14WP_\x84\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x84R\x90\x91R\x90 T`\xFF\x16\x15\x15`\x01\x14[\x15a\x07\xEBWa\x1F$`\x01\x82a6;V[\x94\x93PPPPV[_\x80_\x90P`\x02\x85`@Qa\x1FA\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 \x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F\xBDW_\x84\x81R`\x05` R`@\x90 TB\x10\x15a\x1F\xAFWa\x1F\xA8`\x01\x82a5\xE0V[\x90Pa\x1F\xBDV[a\x1F\xBA`\x02\x82a5\xE0V[\x90P[`\x02\x85`@Qa\x1F\xCD\x91\x90a5\xA8V[\x90\x81R`@\x80Q` \x92\x81\x90\x03\x83\x01\x90 _\x87\x81R\x90\x83R\x81\x81 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x82R\x90\x92R\x90 T`\xFF\x16\x15\x15`\x01\x03a\x1F$Wa \x1E`\x02\x82a5\xE0V[\x95\x94PPPPPV[a /a$\xFAV[a\x1E9\x81a%aV[_a C\x82Qa%iV[\x82`@Q` \x01a U\x92\x91\x90a6NV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[_\x80_\x80a \x80\x86\x86a&%V[\x92P\x92P\x92Pa \x90\x82\x82a&nV[P\x90\x94\x93PPPPV[``a\x1D\xD3\x82a!\x16\x84`\xFF`\x80o\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x90\x81\x02\x92\x90\x92\x1C`@g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1C` c\xFF\xFF\xFF\xFF\x82\x11\x90\x81\x02\x91\x90\x91\x1Ca\xFF\xFF\x81\x11`\x10\x81\x81\x02\x92\x90\x92\x1C\x94\x90\x94\x11`\x02\x90\x94\x02`\x04\x90\x92\x02`\x08\x90\x93\x02\x94\x02\x93\x90\x93\x01\x01\x91\x90\x91\x01\x01\x90V[`\x01\x01a'qV[3a!]\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x17`W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x065V[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14\x80a\"yWP\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\"`\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x17`W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E9a!\x1EV[\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cR\xD1\x90-`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a#=WP`@\x80Q`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01\x90\x92Ra#:\x91\x81\x01\x90a6\x88V[`\x01[a#\x8BW`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x04\x82\x01R`$\x01a\x065V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x81\x14a#\xE7W`@Q\x7F\xAA\x1DI\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[a#\xF1\x83\x83a)\x89V[PPPV[0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x17`W`@Q\x7F\xE0|\x8D\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\x90\x16\xD0\x9Dr\xD4\x0F\xDA\xE2\xFD\x8C\xEA\xC6\xB6#Lw\x06!O\xD3\x9C\x1C\xD1\xE6\t\xA0R\x8C\x19\x93\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x81\x16\x91\x82\x17\x84U`@Q\x92\x16\x91\x82\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90_\x90\xA3PPPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0Th\x01\0\0\0\0\0\0\0\0\x90\x04`\xFF\x16a\x17`W`@Q\x7F\xD7\xE6\xBC\xF8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1D\xE1a$\xFAV[``_a%u\x83a)\xEBV[`\x01\x01\x90P_\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x94Wa%\x94a.jV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a%\xBEW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x81\x81\x01` \x01[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\n\x86\x06\x1A\x81S`\n\x85\x04\x94P\x84a%\xC8WP\x93\x92PPPV[_\x80_\x83Q`A\x03a&\\W` \x84\x01Q`@\x85\x01Q``\x86\x01Q_\x1Aa&N\x88\x82\x85\x85a*\xCCV[\x95P\x95P\x95PPPPa&gV[PP\x81Q_\x91P`\x02\x90[\x92P\x92P\x92V[_\x82`\x03\x81\x11\x15a&\x81Wa&\x81a6\x9FV[\x03a&\x8AWPPV[`\x01\x82`\x03\x81\x11\x15a&\x9EWa&\x9Ea6\x9FV[\x03a&\xD5W`@Q\x7F\xF6E\xEE\xDF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x82`\x03\x81\x11\x15a&\xE9Wa&\xE9a6\x9FV[\x03a'#W`@Q\x7F\xFC\xE6\x98\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[`\x03\x82`\x03\x81\x11\x15a'7Wa'7a6\x9FV[\x03a\x11\x99W`@Q\x7F\xD7\x8B\xCE\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R`$\x01a\x065V[``\x82_a'\x80\x84`\x02a6\xCCV[a'\x8B\x90`\x02a5\xE0V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA3Wa'\xA3a.jV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a'\xCDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P\x7F0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81_\x81Q\x81\x10a(\x03Wa(\x03a5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP\x7Fx\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81`\x01\x81Q\x81\x10a(eWa(ea5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP_a(\x9F\x85`\x02a6\xCCV[a(\xAA\x90`\x01a5\xE0V[\x90P[`\x01\x81\x11\x15a)FW\x7F0123456789abcdef\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83`\x0F\x16`\x10\x81\x10a(\xEBWa(\xEBa5\xF3V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a)\x01Wa)\x01a5\xF3V[` \x01\x01\x90~\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x90\x81_\x1A\x90SP`\x04\x92\x90\x92\x1C\x91a)?\x81a6\xE3V[\x90Pa(\xADV[P\x81\x15a\x1D\xCFW`@Q\x7F\xE2.'\xEB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x86\x90R`$\x81\x01\x85\x90R`D\x01a\x065V[a)\x92\x82a+\xBFV[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x90_\x90\xA2\x80Q\x15a)\xE3Wa#\xF1\x82\x82a,\x8DV[a\x11\x99a-\x03V[_\x80z\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x10a*3Wz\x18O\x03\xE9?\xF9\xF4\xDA\xA7\x97\xEDn8\xEDd\xBFj\x1F\x01\0\0\0\0\0\0\0\0\x83\x04\x92P`@\x01[m\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x10a*_Wm\x04\xEE-mA[\x85\xAC\xEF\x81\0\0\0\0\x83\x04\x92P` \x01[f#\x86\xF2o\xC1\0\0\x83\x10a*}Wf#\x86\xF2o\xC1\0\0\x83\x04\x92P`\x10\x01[c\x05\xF5\xE1\0\x83\x10a*\x95Wc\x05\xF5\xE1\0\x83\x04\x92P`\x08\x01[a'\x10\x83\x10a*\xA9Wa'\x10\x83\x04\x92P`\x04\x01[`d\x83\x10a*\xBBW`d\x83\x04\x92P`\x02\x01[`\n\x83\x10a\x1D\xD3W`\x01\x01\x92\x91PPV[_\x80\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x84\x11\x15a+\x05WP_\x91P`\x03\x90P\x82a+\xB5V[`@\x80Q_\x80\x82R` \x82\x01\x80\x84R\x8A\x90R`\xFF\x89\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x87\x90R`\x80\x81\x01\x86\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a+VW=_\x80>=_\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a+\xACWP_\x92P`\x01\x91P\x82\x90Pa+\xB5V[\x92P_\x91P\x81\x90P[\x94P\x94P\x94\x91PPV[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;_\x03a,'W`@Q\x7FL\x9C\x8C\xE3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x04\x82\x01R`$\x01a\x065V[\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBC\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[``_\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84`@Qa,\xB6\x91\x90a5\xA8V[_`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80_\x81\x14a,\xEEW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a,\xF3V[``\x91P[P\x91P\x91Pa \x1E\x85\x83\x83a-;V[4\x15a\x17`W`@Q\x7F\xB3\x98\x97\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x82a-PWa-K\x82a-\xCAV[a\x07\xEBV[\x81Q\x15\x80\x15a-tWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16;\x15[\x15a-\xC3W`@Q\x7F\x99\x96\xB3\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01a\x065V[P\x80a\x07\xEBV[\x80Q\x15a-\xDAW\x80Q\x80\x82` \x01\xFD[`@Q\x7F\xD6\xBD\xA2u\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x81Q\x80\x84R\x80` \x84\x01` \x86\x01^_` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R_a\x07\xEB` \x83\x01\x84a.\x0CV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`A`\x04R`$_\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a.\xDEWa.\xDEa.jV[`@R\x91\x90PV[_\x82`\x1F\x83\x01\x12a.\xF5W_\x80\xFD[\x815` \x83\x01_\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x11\x15a/\x15Wa/\x15a.jV[P`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01a/H\x81a.\x97V[\x91PP\x82\x81R\x85\x83\x83\x01\x11\x15a/\\W_\x80\xFD[\x82\x82` \x83\x017_\x92\x81\x01` \x01\x92\x90\x92RP\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x1E9W_\x80\xFD[_\x80_``\x84\x86\x03\x12\x15a/\xA9W_\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/\xBFW_\x80\xFD[a/\xCB\x86\x82\x87\x01a.\xE6V[\x93PP` \x84\x015\x91P`@\x84\x015a/\xE3\x81a/vV[\x80\x91PP\x92P\x92P\x92V[_\x80_``\x84\x86\x03\x12\x15a0\0W_\x80\xFD[\x835a0\x0B\x81a/vV[\x92P` \x84\x015a0\x1B\x81a/vV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[_\x80_\x80`\x80\x85\x87\x03\x12\x15a0?W_\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0UW_\x80\xFD[a0a\x87\x82\x88\x01a.\xE6V[\x94PP` \x85\x015\x92P`@\x85\x015a0y\x81a/vV[\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\x94W_\x80\xFD[a0\xA0\x87\x82\x88\x01a.\xE6V[\x91PP\x92\x95\x91\x94P\x92PV[_\x80_``\x84\x86\x03\x12\x15a0\xBEW_\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\xD4W_\x80\xFD[a0\xE0\x86\x82\x87\x01a.\xE6V[\x93PP` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0\xFCW_\x80\xFD[a1\x08\x86\x82\x87\x01a.\xE6V[\x93\x96\x93\x95PPPP`@\x91\x90\x91\x015\x90V[_` \x82\x84\x03\x12\x15a1*W_\x80\xFD[\x815a\x07\xEB\x81a/vV[_\x80`@\x83\x85\x03\x12\x15a1FW_\x80\xFD[\x825a1Q\x81a/vV[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a1lW_\x80\xFD[a1x\x85\x82\x86\x01a.\xE6V[\x91PP\x92P\x92\x90PV[_\x80`@\x83\x85\x03\x12\x15a1\x93W_\x80\xFD[\x825\x91P` \x83\x015a1\xA5\x81a/vV[\x80\x91PP\x92P\x92\x90PV[_` \x82\x84\x03\x12\x15a1\xC0W_\x80\xFD[P5\x91\x90PV[_g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a1\xE0Wa1\xE0a.jV[P`\x05\x1B` \x01\x90V[_\x82`\x1F\x83\x01\x12a1\xF9W_\x80\xFD[\x815a2\x0Ca2\x07\x82a1\xC7V[a.\x97V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2-W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805\x83R` \x92\x83\x01\x92\x01a22V[P\x95\x94PPPPPV[_\x82`\x1F\x83\x01\x12a2cW_\x80\xFD[\x815a2qa2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\x92W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805a2\xAA\x81a/vV[\x83R` \x92\x83\x01\x92\x01a2\x97V[_\x82`\x1F\x83\x01\x12a2\xC7W_\x80\xFD[\x815a2\xD5a2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x86\x01\x01\x92P\x85\x83\x11\x15a2\xF6W_\x80\xFD[` \x85\x01[\x83\x81\x10\x15a2JW\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\x19W_\x80\xFD[a3(\x88` \x83\x8A\x01\x01a.\xE6V[\x84RP` \x92\x83\x01\x92\x01a2\xFBV[_\x80_\x80`\x80\x85\x87\x03\x12\x15a3JW_\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3`W_\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a3pW_\x80\xFD[\x805a3~a2\x07\x82a1\xC7V[\x80\x82\x82R` \x82\x01\x91P` \x83`\x05\x1B\x85\x01\x01\x92P\x89\x83\x11\x15a3\x9FW_\x80\xFD[` \x84\x01[\x83\x81\x10\x15a3\xE0W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xC2W_\x80\xFD[a3\xD1\x8C` \x83\x89\x01\x01a.\xE6V[\x84RP` \x92\x83\x01\x92\x01a3\xA4V[P\x96PPPP` \x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a3\xFFW_\x80\xFD[a4\x0B\x87\x82\x88\x01a1\xEAV[\x93PP`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4'W_\x80\xFD[a43\x87\x82\x88\x01a2TV[\x92PP``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4OW_\x80\xFD[a0\xA0\x87\x82\x88\x01a2\xB8V[_\x80`@\x83\x85\x03\x12\x15a4lW_\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a4\x82W_\x80\xFD[a4\x8E\x85\x82\x86\x01a.\xE6V[\x95` \x94\x90\x94\x015\x94PPPPV[\x82\x81R`@` \x82\x01R_a\x1F$`@\x83\x01\x84a.\x0CV[_` \x82\x84\x03\x12\x15a4\xC5W_\x80\xFD[\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x07\xEBW_\x80\xFD[_\x81Q\x80` \x84\x01\x85^_\x93\x01\x92\x83RP\x90\x91\x90PV[_a5\x16\x82\x86a4\xF4V[\x7Fdomain=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Ra5F`\x07\x82\x01\x86a4\xF4V[\x90P\x7F;public_key_hash=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Ra5x`\x11\x82\x01\x85a4\xF4V[\x7F;\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x01\x01\x96\x95PPPPPPV[_a\x07\xEB\x82\x84a4\xF4V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`\x11`\x04R`$_\xFD[\x80\x82\x01\x80\x82\x11\x15a\x1D\xD3Wa\x1D\xD3a5\xB3V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a60W_\x80\xFD[\x81Qa\x07\xEB\x81a/vV[\x81\x81\x03\x81\x81\x11\x15a\x1D\xD3Wa\x1D\xD3a5\xB3V[\x7F\x19Ethereum Signed Message:\n\0\0\0\0\0\0\x81R_a\x1F$a6\x82`\x1A\x84\x01\x86a4\xF4V[\x84a4\xF4V[_` \x82\x84\x03\x12\x15a6\x98W_\x80\xFD[PQ\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_R`!`\x04R`$_\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x1D\xD3Wa\x1D\xD3a5\xB3V[_\x81a6\xF1Wa6\xF1a5\xB3V[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V\xFE\xA2dipfsX\"\x12 \x7F\n\xFD\x9A\xBF\xB9\x91\xD0\x90=\xA0\x9A4Q\xD0\x9B\xC8-\x8E\xE7\x10\xE0V\xAE\xE7qYx\xCD\xA6\xB6\xD7dsolcC\0\x08\x1A\x003"; /// The deployed bytecode of the contract. pub static USEROVERRIDABLEDKIMREGISTRY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, diff --git a/packages/relayer/src/core.rs b/packages/relayer/src/core.rs index 0af3d6e8..09f3bb75 100644 --- a/packages/relayer/src/core.rs +++ b/packages/relayer/src/core.rs @@ -35,6 +35,7 @@ pub async fn handle_email(email: String) -> Result { let padded_from_addr = PaddedEmailAddr::from_email_addr(&guardian_email_addr); trace!(LOG, "From address: {}", guardian_email_addr); let email_body = parsed_email.get_cleaned_body()?; + trace!(LOG, "Email body: {}", email_body); let request_def_path = PathBuf::from(REGEX_JSON_DIR_PATH.get().unwrap()).join("request_def.json"); @@ -53,6 +54,7 @@ pub async fn handle_email(email: String) -> Result { } info!(LOG, "Request idxes: {:?}", request_idxes); let request_id = &email[request_idxes[0].0..request_idxes[0].1]; + info!(LOG, "Request ID: {}", request_id); let request_id_u32 = request_id .parse::() .map_err(|e| EmailError::Parse(format!("Failed to parse request_id to u64: {}", e)))?; @@ -70,7 +72,14 @@ pub async fn handle_email(email: String) -> Result { }); } }; + trace!(LOG, "Request: {:?}", request); if request.guardian_email_addr != guardian_email_addr { + error!( + LOG, + "Guardian email address in the request {} is not equal to the one in the email {}", + request.guardian_email_addr, + guardian_email_addr + ); return Err(EmailError::EmailAddress(format!( "Guardian email address in the request {} is not equal to the one in the email {}", request.guardian_email_addr, guardian_email_addr @@ -84,6 +93,7 @@ pub async fn handle_email(email: String) -> Result { "The user of the wallet address {} and the email address {} is not registered.", request.account_eth_addr, guardian_email_addr )))?; + trace!(LOG, "Account code: {}", account_code_str); check_and_update_dkim( &email, @@ -99,6 +109,7 @@ pub async fn handle_email(email: String) -> Result { Ok(code) => Some(code), Err(_) => None, }; + trace!(LOG, "Invitation code: {:?}", invitation_code); let params = EmailRequestContext { request, @@ -128,6 +139,12 @@ async fn handle_email_request( match (invitation_code, params.request.is_for_recovery) { (Some(invitation_code), is_for_recovery) if !is_for_recovery => { if params.account_code_str != invitation_code { + error!( + LOG, + "Stored account code is not equal to one in the email. Stored: {}, Email: {}", + params.account_code_str, + invitation_code + ); return Err(EmailError::Body(format!( "Stored account code is not equal to one in the email. Stored: {}, Email: {}", params.account_code_str, invitation_code @@ -191,6 +208,7 @@ async fn accept( params.request.template_idx, ) .await?; + info!(LOG, "Is accepted: {}", is_accepted); update_request( ¶ms, @@ -209,6 +227,7 @@ async fn accept( is_set: true, }; DB.update_credentials_of_account_code(&creds).await?; + trace!(LOG, "Credentials updated: {:?}", creds); Ok(EmailAuthEvent::AcceptanceSuccess { account_eth_addr: params.request.account_eth_addr, @@ -219,6 +238,12 @@ async fn accept( }) } else { let original_subject = params.parsed_email.get_subject_all()?; + error!( + LOG, + "Failed to handle acceptance for request_id: {}. Original subject: {}", + params.request.request_id, + original_subject + ); Ok(EmailAuthEvent::Error { email_addr: params.request.guardian_email_addr.clone(), error: "Failed to handle acceptance".to_string(), @@ -255,7 +280,7 @@ async fn recover(params: EmailRequestContext) -> Result Result Result, ) -> Result, ApiError> { + trace!(LOG, "Request status API input: {:?}", payload); let row = DB.get_request(payload.request_id).await?; // Determine the status based on the retrieved row @@ -33,6 +34,7 @@ pub async fn request_status_api( } else { RequestStatus::NotExist }; + trace!(LOG, "Request status API status: {:?}", status); Ok(Json(RequestStatusResponse { request_id: payload.request_id, @@ -57,13 +59,24 @@ pub async fn request_status_api( pub async fn handle_acceptance_request( Json(payload): Json, ) -> Result, ApiError> { + trace!(LOG, "Acceptance request API input: {:?}", payload); let command_template = CLIENT .get_acceptance_command_templates(&payload.controller_eth_addr, payload.template_idx) .await?; + trace!( + LOG, + "Acceptance request API command template: {:?}", + command_template + ); // Extract and validate command parameters let command_params = extract_template_vals_from_command(&payload.command, command_template) .map_err(|_| ApiError::Validation("Invalid command".to_string()))?; + trace!( + LOG, + "Acceptance request API command params: {:?}", + command_params + ); // Recover the account address let account_eth_addr = CLIENT @@ -73,11 +86,20 @@ pub async fn handle_acceptance_request( payload.template_idx, ) .await?; + trace!( + LOG, + "Acceptance request API account eth addr: {:?}", + account_eth_addr + ); let account_eth_addr = format!("0x{:x}", account_eth_addr); // Check if the wallet is deployed if !CLIENT.is_wallet_deployed(&account_eth_addr).await? { + error!( + LOG, + "Acceptance request API account {} not deployed", account_eth_addr + ); return Err(ApiError::Validation("Wallet not deployed".to_string())); } @@ -131,6 +153,10 @@ pub async fn handle_acceptance_request( // Check if the account code is already used if let Ok(Some(creds)) = DB.get_credentials(&account_code).await { + error!( + LOG, + "Acceptance request API account code {} already used", account_code + ); return Err(ApiError::Validation( "Account code already used".to_string(), )); @@ -141,8 +167,10 @@ pub async fn handle_acceptance_request( while let Ok(Some(request)) = DB.get_request(request_id).await { request_id = rand::thread_rng().gen::(); } + trace!(LOG, "Acceptance request API request ID: {:?}", request_id); let account_salt = calculate_account_salt(&payload.guardian_email_addr, &account_code); + trace!(LOG, "Acceptance request API account salt: {}", account_salt); DB.insert_request(&Request { request_id, @@ -163,6 +191,12 @@ pub async fn handle_acceptance_request( .is_guardian_set(&account_eth_addr, &payload.guardian_email_addr) .await? { + error!( + LOG, + "Acceptance request API guardian {} already set for {}", + payload.guardian_email_addr, + account_eth_addr + ); handle_email_event(EmailAuthEvent::GuardianAlreadyExists { account_eth_addr, guardian_email_addr: payload.guardian_email_addr.clone(), @@ -174,6 +208,12 @@ pub async fn handle_acceptance_request( .is_wallet_and_email_registered(&account_eth_addr, &payload.guardian_email_addr) .await? { + error!( + LOG, + "Acceptance request API account {} and email {} already registered", + account_eth_addr, + payload.guardian_email_addr + ); // Update credentials and send acceptance request email DB.update_credentials_of_wallet_and_email(&Credentials { account_code: account_code.clone(), @@ -192,6 +232,12 @@ pub async fn handle_acceptance_request( }) .await?; } else { + trace!( + LOG, + "Acceptance request API account {} and email {} are registered", + account_eth_addr, + payload.guardian_email_addr + ); // Insert new credentials and send acceptance request email DB.insert_credentials(&Credentials { account_code: account_code.clone(), @@ -229,14 +275,25 @@ pub async fn handle_acceptance_request( pub async fn handle_recovery_request( Json(payload): Json, ) -> Result, ApiError> { + trace!(LOG, "Recovery request API input: {:?}", payload); // Fetch the command template let command_template = CLIENT .get_recovery_command_templates(&payload.controller_eth_addr, payload.template_idx) .await?; + trace!( + LOG, + "Recovery request API command template: {:?}", + command_template + ); // Extract and validate command parameters let command_params = extract_template_vals_from_command(&payload.command, command_template) .map_err(|_| ApiError::Validation("Invalid command".to_string()))?; + trace!( + LOG, + "Recovery request API command params: {:?}", + command_params + ); // Recover the account address let account_eth_addr = CLIENT @@ -248,9 +305,18 @@ pub async fn handle_recovery_request( .await?; let account_eth_addr = format!("0x{:x}", account_eth_addr); + trace!( + LOG, + "Recovery request API account eth addr: {:?}", + account_eth_addr + ); // Check if the wallet is deployed if !CLIENT.is_wallet_deployed(&account_eth_addr).await? { + error!( + LOG, + "Recovery request API account {} not deployed", account_eth_addr + ); return Err(ApiError::Validation("Wallet not deployed".to_string())); } @@ -302,14 +368,26 @@ pub async fn handle_recovery_request( while let Ok(Some(request)) = DB.get_request(request_id).await { request_id = rand::thread_rng().gen::(); } + trace!(LOG, "Recovery request API request ID: {:?}", request_id); // Fetch account details and calculate account salt let account = DB .get_credentials_from_wallet_and_email(&account_eth_addr, &payload.guardian_email_addr) .await?; let account_salt = if let Some(account_details) = account { + trace!( + LOG, + "Recovery request API account details: {:?}", + account_details + ); calculate_account_salt(&payload.guardian_email_addr, &account_details.account_code) } else { + error!( + LOG, + "Recovery request API account {} and email {} not registered", + account_eth_addr, + payload.guardian_email_addr + ); return Err(ApiError::Validation("Wallet not deployed".to_string())); }; @@ -318,6 +396,12 @@ pub async fn handle_recovery_request( .is_wallet_and_email_registered(&account_eth_addr, &payload.guardian_email_addr) .await? { + error!( + LOG, + "Recovery request API account {} and email {} not registered", + account_eth_addr, + payload.guardian_email_addr + ); DB.insert_request(&Request { request_id, account_eth_addr: account_eth_addr.clone(), @@ -366,6 +450,12 @@ pub async fn handle_recovery_request( .is_guardian_set(&account_eth_addr, &payload.guardian_email_addr) .await? { + trace!( + LOG, + "Recovery request API for account {} and guardian {}", + account_eth_addr, + payload.guardian_email_addr, + ); handle_email_event(EmailAuthEvent::RecoveryRequest { account_eth_addr, guardian_email_addr: payload.guardian_email_addr.clone(), @@ -376,6 +466,12 @@ pub async fn handle_recovery_request( // TODO: Add custom error for handle_email_event .expect("Failed to send Recovery event"); } else { + error!( + LOG, + "Recovery request API guardian {} not set for {}", + payload.guardian_email_addr, + account_eth_addr + ); handle_email_event(EmailAuthEvent::GuardianNotSet { account_eth_addr, guardian_email_addr: payload.guardian_email_addr.clone(), @@ -403,8 +499,13 @@ pub async fn handle_recovery_request( pub async fn handle_complete_recovery_request( Json(payload): Json, ) -> Result { + trace!(LOG, "Complete recovery request API input: {:?}", payload); // Check if the wallet is deployed if !CLIENT.is_wallet_deployed(&payload.account_eth_addr).await? { + error!( + LOG, + "Complete recovery request API account {} not deployed", payload.account_eth_addr + ); return Err(ApiError::Validation("Wallet not deployed".to_string())); } @@ -417,8 +518,22 @@ pub async fn handle_complete_recovery_request( ) .await { - Ok(true) => Ok("Recovery completed".to_string()), - Ok(false) => Err(ApiError::Validation("Recovery failed".to_string())), + Ok(true) => { + trace!( + LOG, + "Complete recovery request API recovery completed for account {}", + payload.account_eth_addr + ); + Ok("Recovery completed".to_string()) + } + Ok(false) => { + error!( + LOG, + "Complete recovery request API recovery failed for account {}", + payload.account_eth_addr + ); + Err(ApiError::Validation("Recovery failed".to_string())) + } Err(e) => { // Parse the error message if it follows the known format let error_message = if e @@ -434,6 +549,10 @@ pub async fn handle_complete_recovery_request( .chars() .filter(|c| c.is_ascii()) .collect::(); + error!( + LOG, + "Complete recovery request API error: {}", error_message, + ); Err(ApiError::Internal(error_message)) } } @@ -451,7 +570,9 @@ pub async fn handle_complete_recovery_request( pub async fn get_account_salt( Json(payload): Json, ) -> Result { + trace!(LOG, "Get account salt API input: {:?}", payload); let account_salt = calculate_account_salt(&payload.email_addr, &payload.account_code); + trace!(LOG, "Get account salt API account salt: {}", account_salt); Ok(account_salt) } @@ -467,12 +588,22 @@ pub async fn get_account_salt( pub async fn inactive_guardian( Json(payload): Json, ) -> Result { + trace!(LOG, "Inactive guardian API input: {:?}", payload); // Check if the wallet is activated let is_activated = CLIENT .get_is_activated(&payload.controller_eth_addr, &payload.account_eth_addr) .await?; + trace!( + LOG, + "Inactive guardian API is activated: {:?}", + is_activated + ); if is_activated { + error!( + LOG, + "Inactive guardian API wallet {} is activated", payload.account_eth_addr + ); return Ok("Wallet is activated".to_string()); } @@ -561,10 +692,13 @@ pub async fn receive_email_api_fn(email: String) -> Result<(), ApiError> { } }, Err(e) => { - error!(LOG, "Error handling email: {:?}", e); let original_subject = parsed_email .get_subject_all() .unwrap_or("Unknown Error".to_string()); + error!( + LOG, + "Error handling email for the original subject {}: {:?}", original_subject, e + ); match handle_email_event(EmailAuthEvent::Error { email_addr: from_addr, error: e.to_string(), @@ -587,14 +721,14 @@ pub async fn receive_email_api_fn(email: String) -> Result<(), ApiError> { } /// Request status request structure. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct RequestStatusRequest { /// The unique identifier for the request. pub request_id: u32, } /// Enum representing the possible statuses of a request. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub enum RequestStatus { /// The request does not exist. NotExist = 0, @@ -620,7 +754,7 @@ pub struct RequestStatusResponse { } /// Request structure for an acceptance request. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct AcceptanceRequest { /// The Ethereum address of the controller. pub controller_eth_addr: String, @@ -635,7 +769,7 @@ pub struct AcceptanceRequest { } /// Response structure for an acceptance request. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct AcceptanceResponse { /// The unique identifier for the request. pub request_id: u32, @@ -657,7 +791,7 @@ pub struct RecoveryRequest { } /// Response structure for a recovery request. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct RecoveryResponse { /// The unique identifier for the request. pub request_id: u32, @@ -666,7 +800,7 @@ pub struct RecoveryResponse { } /// Request structure for completing a recovery. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct CompleteRecoveryRequest { /// The Ethereum address of the account to recover. pub account_eth_addr: String, @@ -677,7 +811,7 @@ pub struct CompleteRecoveryRequest { } /// Request structure for retrieving an account salt. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct GetAccountSaltRequest { /// The unique account code. pub account_code: String, @@ -701,7 +835,7 @@ struct PermittedWallet { } /// Request structure for marking a guardian as inactive. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct InactiveGuardianRequest { /// The Ethereum address of the account. pub account_eth_addr: String, diff --git a/yarn.lock b/yarn.lock index f22a184d..3dcaa89f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1724,11 +1724,20 @@ "@openzeppelin/contracts-upgradeable" "^5.0.0" dotenv "^16.3.1" -"@zk-email/relayer-utils@https://gitpkg.vercel.app/zkemail/relayer-utils/pkg?feat/fix-selector-bugs": +"@zk-email/relayer-utils@=0.4.60": version "0.4.60" - resolved "https://gitpkg.vercel.app/zkemail/relayer-utils/pkg?feat/fix-selector-bugs#056b6998e0cb52971ef981e57e7dd9fc449bb2a5" + resolved "https://registry.yarnpkg.com/@zk-email/relayer-utils/-/relayer-utils-0.4.60.tgz#ab41a7375470e8161caafaa46abb919c710d4a67" + integrity sha512-sOfRc8yoAGFUPXNC3a/64IH+8+GEYPfUF0x5HtElsNfYxM/xtLG6hYvNTl7WLhhxe83dl3VtGMcptiiSvRdVrg== -"@zk-email/zk-regex-circom@=2.3.2", "@zk-email/zk-regex-circom@^2.3.1": +"@zk-email/zk-regex-circom@=2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-2.3.1.tgz#032cdf12b5f587f828d6e872a235c0120d463bc8" + integrity sha512-FJNi4QL07teQPuXV4EZqosPpA4riOSeFX2xD+cd4CCuf5b1RmqGqXoBz7yxT0QXuwNqdgooY6v6/xhH1o4X7vg== + dependencies: + commander "^11.0.0" + snarkjs "^0.7.5" + +"@zk-email/zk-regex-circom@^2.3.1": version "2.3.2" resolved "https://registry.yarnpkg.com/@zk-email/zk-regex-circom/-/zk-regex-circom-2.3.2.tgz#d3ad819ea0de3ce7612aa9ecde0497c3fac514fc" integrity sha512-GXp4Z/93iF54hfJwlWl52HFiqpmLCeSHFc4HlYpxj5EWHQK6ibFQMLUWTJsdA3eh/erjO4UX+HlEIJ/gHhLg9g== @@ -2398,9 +2407,9 @@ ejs@^3.1.10, ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.5.73: - version "1.5.75" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.75.tgz#bba96eabf0e8ca36324679caa38b982800acc87d" - integrity sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q== + version "1.5.76" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz#db20295c5061b68f07c8ea4dfcbd701485d94a3d" + integrity sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ== elliptic@6.5.4: version "6.5.4" @@ -2685,7 +2694,7 @@ for-each@^0.3.3: "forge-std@https://github.com/foundry-rs/forge-std": version "1.9.5" - resolved "https://github.com/foundry-rs/forge-std#b93cf4bc34ff214c099dc970b153f85ade8c9f66" + resolved "https://github.com/foundry-rs/forge-std#b5a86914561f38735ef1fc357685de3e7c92dc48" fs.realpath@^1.0.0: version "1.0.0"