From 9e5696e724dc485d03a69935befa54be1cf065bc Mon Sep 17 00:00:00 2001
From: mtb0x1 <39337159+mtb0x1@users.noreply.github.com>
Date: Sun, 22 Oct 2023 23:28:35 +0200
Subject: [PATCH] broken links
---
.gitignore | 3 +-
port3 | 1 -
port3/.gitignore | 2 +
port3/Cargo.lock | 367 +++++++++
port3/Cargo.toml | 37 +
port3/README.md | 60 ++
port3/assets/llama_cute.jpg | Bin 0 -> 187553 bytes
port3/assets/llama_notcute.jpg | Bin 0 -> 174180 bytes
port3/src/lib.rs | 885 ++++++++++++++++++++++
port4 | 1 -
port4/.gitignore | 1 +
port4/Cargo.lock | 341 +++++++++
port4/Cargo.toml | 36 +
port4/README.md | 61 ++
port4/assets/llama_cute.jpg | Bin 0 -> 187553 bytes
port4/assets/llama_notcute.jpg | Bin 0 -> 174180 bytes
port4/src/lib.rs | 102 +++
port4/src/llama2.rs | 741 ++++++++++++++++++
port4/src/ops.rs | 245 ++++++
port4/www/.gitignore | 2 +
port4/www/index.html | 133 ++++
port4/www/tokenizer.bin | Bin 0 -> 432717 bytes
port4/www/www_server.py | 17 +
port5 | 1 -
port5/Cargo.lock | 390 ++++++++++
port5/Cargo.toml | 39 +
port5/README.md | 61 ++
port5/assets/llama_cute.jpg | Bin 0 -> 187553 bytes
port5/assets/llama_notcute.jpg | Bin 0 -> 174180 bytes
port5/src/lib.rs | 149 ++++
port5/src/llama2/mod.rs | 10 +
port5/src/llama2/model.rs | 475 ++++++++++++
port5/src/llama2/quant.rs | 310 ++++++++
port5/src/llama2/sampler.rs | 50 ++
port5/src/llama2/tokenizer.rs | 144 ++++
port5/src/llama2/transformer.rs | 290 ++++++++
port5/www/.gitignore | 2 +
port5/www/index.html | 123 +++
port5/www/tokenizer-code.bin | Bin 0 -> 434169 bytes
port5/www/tokenizer.bin | Bin 0 -> 433869 bytes
port5/www/www_server.py | 17 +
port6 | 1 -
port6/.gitignore | 1 +
port6/Cargo.lock | 681 +++++++++++++++++
port6/Cargo.toml | 43 ++
port6/README.md | 61 ++
port6/src/error.rs | 33 +
port6/src/lib.rs | 77 ++
port6/src/llama2.rs | 1241 +++++++++++++++++++++++++++++++
port6/src/tensor.rs | 483 ++++++++++++
port6/tokenizer.bin | Bin 0 -> 433869 bytes
port6/www/.gitignore | 2 +
port6/www/index.html | 133 ++++
port6/www/tokenizer.bin | Bin 0 -> 433869 bytes
port6/www/www_server.py | 17 +
55 files changed, 7864 insertions(+), 5 deletions(-)
delete mode 160000 port3
create mode 100644 port3/.gitignore
create mode 100644 port3/Cargo.lock
create mode 100644 port3/Cargo.toml
create mode 100644 port3/README.md
create mode 100644 port3/assets/llama_cute.jpg
create mode 100644 port3/assets/llama_notcute.jpg
create mode 100644 port3/src/lib.rs
delete mode 160000 port4
create mode 100644 port4/.gitignore
create mode 100644 port4/Cargo.lock
create mode 100644 port4/Cargo.toml
create mode 100644 port4/README.md
create mode 100644 port4/assets/llama_cute.jpg
create mode 100644 port4/assets/llama_notcute.jpg
create mode 100644 port4/src/lib.rs
create mode 100644 port4/src/llama2.rs
create mode 100644 port4/src/ops.rs
create mode 100644 port4/www/.gitignore
create mode 100644 port4/www/index.html
create mode 100644 port4/www/tokenizer.bin
create mode 100644 port4/www/www_server.py
delete mode 160000 port5
create mode 100644 port5/Cargo.lock
create mode 100644 port5/Cargo.toml
create mode 100644 port5/README.md
create mode 100644 port5/assets/llama_cute.jpg
create mode 100644 port5/assets/llama_notcute.jpg
create mode 100644 port5/src/lib.rs
create mode 100644 port5/src/llama2/mod.rs
create mode 100644 port5/src/llama2/model.rs
create mode 100644 port5/src/llama2/quant.rs
create mode 100644 port5/src/llama2/sampler.rs
create mode 100644 port5/src/llama2/tokenizer.rs
create mode 100644 port5/src/llama2/transformer.rs
create mode 100644 port5/www/.gitignore
create mode 100644 port5/www/index.html
create mode 100644 port5/www/tokenizer-code.bin
create mode 100644 port5/www/tokenizer.bin
create mode 100644 port5/www/www_server.py
delete mode 160000 port6
create mode 100644 port6/.gitignore
create mode 100644 port6/Cargo.lock
create mode 100644 port6/Cargo.toml
create mode 100644 port6/README.md
create mode 100644 port6/src/error.rs
create mode 100644 port6/src/lib.rs
create mode 100644 port6/src/llama2.rs
create mode 100644 port6/src/tensor.rs
create mode 100644 port6/tokenizer.bin
create mode 100644 port6/www/.gitignore
create mode 100644 port6/www/index.html
create mode 100644 port6/www/tokenizer.bin
create mode 100644 port6/www/www_server.py
diff --git a/.gitignore b/.gitignore
index 9f97022..18bfafd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-target/
\ No newline at end of file
+target/
+stories/*.bin
\ No newline at end of file
diff --git a/port3 b/port3
deleted file mode 160000
index a6c406d..0000000
--- a/port3
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a6c406d831989e2908f5969a325c8b2d051de4a6
diff --git a/port3/.gitignore b/port3/.gitignore
new file mode 100644
index 0000000..207a99e
--- /dev/null
+++ b/port3/.gitignore
@@ -0,0 +1,2 @@
+/target
+/www
\ No newline at end of file
diff --git a/port3/Cargo.lock b/port3/Cargo.lock
new file mode 100644
index 0000000..0bdcd1d
--- /dev/null
+++ b/port3/Cargo.lock
@@ -0,0 +1,367 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "console_log"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f"
+dependencies = [
+ "log",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "getrandom"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "port3"
+version = "0.1.0"
+dependencies = [
+ "byteorder",
+ "console_error_panic_hook",
+ "console_log",
+ "getrandom",
+ "js-sys",
+ "log",
+ "num_cpus",
+ "rand",
+ "rayon",
+ "wasm-bindgen",
+ "wasm-bindgen-rayon",
+ "web-sys",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "spmc"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02a8428da277a8e3a15271d79943e80ccc2ef254e78813a166a08d65e4c3ece5"
+
+[[package]]
+name = "syn"
+version = "2.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-rayon"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df87c67450805c305d3ae44a3ac537b0253d029153c25afc3ecd2edc36ccafb1"
+dependencies = [
+ "js-sys",
+ "rayon",
+ "spmc",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+
+[[package]]
+name = "web-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
diff --git a/port3/Cargo.toml b/port3/Cargo.toml
new file mode 100644
index 0000000..86aaee5
--- /dev/null
+++ b/port3/Cargo.toml
@@ -0,0 +1,37 @@
+[package]
+name = "port3"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
+byteorder = "1.4.3"
+console_error_panic_hook = "0.1.7"
+console_log = {version="1.0.0",features=["color","wasm-bindgen"]}
+js-sys = "0.3.64"
+log = "0.4.19"
+num_cpus = "1.16.0"
+rand = "0.8.5"
+rayon = "1.7.0"
+wasm-bindgen = "0.2"
+wasm-bindgen-rayon = { version = "1.0", features = ["no-bundler"] }
+web-sys = {version="0.3.64",features=["Window","Performance","Navigator"]}
+
+[dependencies.getrandom]
+version = "0.2.10"
+features = ["js"]
+
+
+
+[profile.release]
+opt-level = 3
+debug = false
+panic = "abort"
+debug-assertions = false
+overflow-checks = false
+lto = true
+incremental = false
+
+[lib]
+name="port3"
+path = "src/lib.rs"
+crate-type = ["cdylib", "rlib"]
diff --git a/port3/README.md b/port3/README.md
new file mode 100644
index 0000000..a81b532
--- /dev/null
+++ b/port3/README.md
@@ -0,0 +1,60 @@
+## llama2.rs.wasm 🦀
+A dirty and minimal port of [@danielgrittner](https://github.com/danielgrittner) [llama2.rs](https://github.com/danielgrittner/llama2-rs)
+
+
+
+
+
+## How to run?
+1. Clone repo
+```bash
+git clone https://github.com/mtb0x1/llama2.rs.wasm
+cd llama2.rs.wasm/port3/
+```
+
+2. Download [@Karpathy](https://github.com/karpathy/)'s baby Llama2 ([Orig instructions](https://github.com/karpathy/llama2.c#feel-the-magic)) pretrained on TinyStories dataset and place them in `www` folder.
+```bash
+wget -P www/ https://huggingface.co/karpathy/tinyllamas/resolve/main/stories15M.bin
+wget -P www/ https://huggingface.co/karpathy/tinyllamas/resolve/main/stories42M.bin
+wget -P www/ https://huggingface.co/karpathy/tinyllamas/resolve/main/stories110M.bin
+```
+> stories42M is used by default (for now @todo), you can change this in `index.html`
+
+3. Run (requires [wasm-pack](https://github.com/rustwasm/wasm-pack))
+ ```bash
+ wasm-pack build --release --target web --out-dir www/pkg/
+ ```
+4. Run a minimal webserver with `www` folder :
+ 1. Run (requires python 3), you can use other webservers if you want
+ ```bash
+ cd www && python3 -m http.server 8080
+ ```
+ 2. go to http://localhost:8080/
+ 3. open browser console (@todo)
+5. (Optional) if you want to make changes :(reload browser/clear cache after changes)
+ 1. Changing `lib.rs` content :
+ ```bash
+ wasm-pack build --release --target web --out-dir www/pkg/
+ ```
+ 2. Changing the frontend `index.html`
+ 3. Changing model/tokenizer :
+ - Follow [@Karpathy](https://github.com/karpathy/)'s instructions in [llama2.c](https://github.com/karpathy/llama2.c)
+ - Place new files in `www` folder and edit `index.html` if needed
+
+## Performance
+- Temperature : 0.9
+- Sequence length: 20
+
+| tok/s | 15M | 42M | 110M | 7B
+|-------|-----|-----|-----|-----|
+| wasm v1 | ?| ? | ? | ?
+> Not really sure about result (yet!).
+
+### todo/Next ?
+- Tests
+- Display bench result in webpage instead of browser console (wip need cleaning and remove console.info hack)
+- Infrence based on user inputs (done)
+- Optmization : simd, rayon (wip) ... etc
+
+## License
+MIT
\ No newline at end of file
diff --git a/port3/assets/llama_cute.jpg b/port3/assets/llama_cute.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c7fbda5ec33fab33031336f87e22883fdb82b1f1
GIT binary patch
literal 187553
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
l0yjeH4Pte*VIuGk
zBkSMvuQ$=WM;+GP>;w15e0Tcy`d2}&>OW}GT4l!g`9Fc@^fbBs(K>dK;=dF;NGxyS
zEJoQFFDD$fK>bLsN$@nL{zz^KBrIzoKBQ+Kj$88;@+ZeFYs%B&y@-}DNS*m3IsI}6
z*1n$jQ>ZBLgc^gka~J^ngc$tuT(F($GaaOjV}a;7{@|X3}f+Z52a}-=wS+Wc0GBuG`B?w_l6OB
z`UCpb)}4JMhzfGY)3E;l8uCkfw$wEd0=LN$fW&pl>^;x&`q!%4&2Ob!gC;z}I%kDZ
z{D;4O)Z$FiO5IMBNfo;Jvye#j=s(7??zON;yyOF3v@zlbevBg|yuuR;MIT#BuCtJs7Mo!?Rq<)7(ZJE(ZF81o)c4|2tcC)ftb
z{#C+i-x2hC1M>+kAFDHAQGdttsi}db({%1Y@$V%0D5W$kXEcOzFNE0ncDYfAQR((!9EuzGv>9
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