diff --git a/harnesses/gtauri/Cargo.lock b/harnesses/gtauri/Cargo.lock index dc914ca..f0a3c57 100644 --- a/harnesses/gtauri/Cargo.lock +++ b/harnesses/gtauri/Cargo.lock @@ -346,6 +346,12 @@ dependencies = [ "cc", ] +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + [[package]] name = "combine" version = "4.6.9" @@ -1095,6 +1101,16 @@ dependencies = [ "r-efi 6.0.0", ] +[[package]] +name = "gif" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "gio" version = "0.18.4" @@ -1556,11 +1572,24 @@ checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" dependencies = [ "bytemuck", "byteorder-lite", + "color_quant", + "gif", + "image-webp", "moxcms", "num-traits", "png", ] +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -2498,6 +2527,12 @@ version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" version = "0.42.0" @@ -4104,6 +4139,12 @@ dependencies = [ "windows-core", ] +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + [[package]] name = "winapi" version = "0.3.9" diff --git a/harnesses/gtauri/Cargo.toml b/harnesses/gtauri/Cargo.toml index 75df6ed..6d6c291 100644 --- a/harnesses/gtauri/Cargo.toml +++ b/harnesses/gtauri/Cargo.toml @@ -24,4 +24,4 @@ rusqlite = { version = "0.41", features = ["bundled"] } turbojpeg = { version = "1.5.1", features = ["cmake"] } kamadak-exif = "0.6" sha1 = "0.11" -image = { version = "0.25", default-features = false, features = ["png"] } +image = { version = "0.25", default-features = false, features = ["png", "webp", "gif"] } diff --git a/harnesses/gtauri/frontend/dist/img/000.jpg b/harnesses/gtauri/frontend/dist/img/000.jpg deleted file mode 100644 index 1236c42..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/000.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/001.jpg b/harnesses/gtauri/frontend/dist/img/001.jpg deleted file mode 100644 index dabf8c5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/001.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/002.jpg b/harnesses/gtauri/frontend/dist/img/002.jpg deleted file mode 100644 index 107dede..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/002.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/003.jpg b/harnesses/gtauri/frontend/dist/img/003.jpg deleted file mode 100644 index 6d8d694..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/003.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/004.jpg b/harnesses/gtauri/frontend/dist/img/004.jpg deleted file mode 100644 index 53884f4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/004.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/005.jpg b/harnesses/gtauri/frontend/dist/img/005.jpg deleted file mode 100644 index 161d5b2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/005.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/006.jpg b/harnesses/gtauri/frontend/dist/img/006.jpg deleted file mode 100644 index 179f269..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/006.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/007.jpg b/harnesses/gtauri/frontend/dist/img/007.jpg deleted file mode 100644 index bf469d1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/007.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/008.jpg b/harnesses/gtauri/frontend/dist/img/008.jpg deleted file mode 100644 index fe21453..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/008.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/009.jpg b/harnesses/gtauri/frontend/dist/img/009.jpg deleted file mode 100644 index 8d44752..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/009.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/010.jpg b/harnesses/gtauri/frontend/dist/img/010.jpg deleted file mode 100644 index 6c951b2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/010.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/011.jpg b/harnesses/gtauri/frontend/dist/img/011.jpg deleted file mode 100644 index ddfdb79..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/011.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/012.jpg b/harnesses/gtauri/frontend/dist/img/012.jpg deleted file mode 100644 index e1addd1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/012.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/013.jpg b/harnesses/gtauri/frontend/dist/img/013.jpg deleted file mode 100644 index e5e2069..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/013.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/014.jpg b/harnesses/gtauri/frontend/dist/img/014.jpg deleted file mode 100644 index e58c15c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/014.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/015.jpg b/harnesses/gtauri/frontend/dist/img/015.jpg deleted file mode 100644 index 7da20ae..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/015.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/016.jpg b/harnesses/gtauri/frontend/dist/img/016.jpg deleted file mode 100644 index 32e0b04..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/016.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/017.jpg b/harnesses/gtauri/frontend/dist/img/017.jpg deleted file mode 100644 index f21878f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/017.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/018.jpg b/harnesses/gtauri/frontend/dist/img/018.jpg deleted file mode 100644 index 1cb684b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/018.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/019.jpg b/harnesses/gtauri/frontend/dist/img/019.jpg deleted file mode 100644 index ace62dd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/019.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/020.jpg b/harnesses/gtauri/frontend/dist/img/020.jpg deleted file mode 100644 index fa6832e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/020.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/021.jpg b/harnesses/gtauri/frontend/dist/img/021.jpg deleted file mode 100644 index 0b6ce0c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/021.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/022.jpg b/harnesses/gtauri/frontend/dist/img/022.jpg deleted file mode 100644 index c486250..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/022.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/023.jpg b/harnesses/gtauri/frontend/dist/img/023.jpg deleted file mode 100644 index 2c81615..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/023.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/024.jpg b/harnesses/gtauri/frontend/dist/img/024.jpg deleted file mode 100644 index 1c91698..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/024.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/025.jpg b/harnesses/gtauri/frontend/dist/img/025.jpg deleted file mode 100644 index 69abde3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/025.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/026.jpg b/harnesses/gtauri/frontend/dist/img/026.jpg deleted file mode 100644 index 165d4e2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/026.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/027.jpg b/harnesses/gtauri/frontend/dist/img/027.jpg deleted file mode 100644 index df939ee..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/027.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/028.jpg b/harnesses/gtauri/frontend/dist/img/028.jpg deleted file mode 100644 index 2752af2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/028.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/029.jpg b/harnesses/gtauri/frontend/dist/img/029.jpg deleted file mode 100644 index f751e40..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/029.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/030.jpg b/harnesses/gtauri/frontend/dist/img/030.jpg deleted file mode 100644 index 4dc4653..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/030.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/031.jpg b/harnesses/gtauri/frontend/dist/img/031.jpg deleted file mode 100644 index f6887af..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/031.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/032.jpg b/harnesses/gtauri/frontend/dist/img/032.jpg deleted file mode 100644 index 1e3a2e5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/032.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/033.jpg b/harnesses/gtauri/frontend/dist/img/033.jpg deleted file mode 100644 index bc87571..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/033.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/034.jpg b/harnesses/gtauri/frontend/dist/img/034.jpg deleted file mode 100644 index b8c556b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/034.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/035.jpg b/harnesses/gtauri/frontend/dist/img/035.jpg deleted file mode 100644 index f5ef78b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/035.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/036.jpg b/harnesses/gtauri/frontend/dist/img/036.jpg deleted file mode 100644 index 7891819..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/036.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/037.jpg b/harnesses/gtauri/frontend/dist/img/037.jpg deleted file mode 100644 index a432b93..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/037.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/038.jpg b/harnesses/gtauri/frontend/dist/img/038.jpg deleted file mode 100644 index cd6f4a1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/038.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/039.jpg b/harnesses/gtauri/frontend/dist/img/039.jpg deleted file mode 100644 index c403800..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/039.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/040.jpg b/harnesses/gtauri/frontend/dist/img/040.jpg deleted file mode 100644 index c53b08b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/040.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/041.jpg b/harnesses/gtauri/frontend/dist/img/041.jpg deleted file mode 100644 index 3ad9a1a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/041.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/042.jpg b/harnesses/gtauri/frontend/dist/img/042.jpg deleted file mode 100644 index 0e85183..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/042.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/043.jpg b/harnesses/gtauri/frontend/dist/img/043.jpg deleted file mode 100644 index 5d2fc2c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/043.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/044.jpg b/harnesses/gtauri/frontend/dist/img/044.jpg deleted file mode 100644 index 30ecee9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/044.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/045.jpg b/harnesses/gtauri/frontend/dist/img/045.jpg deleted file mode 100644 index 6333e33..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/045.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/046.jpg b/harnesses/gtauri/frontend/dist/img/046.jpg deleted file mode 100644 index 7907dc8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/046.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/047.jpg b/harnesses/gtauri/frontend/dist/img/047.jpg deleted file mode 100644 index 0801273..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/047.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/048.jpg b/harnesses/gtauri/frontend/dist/img/048.jpg deleted file mode 100644 index 6ae8975..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/048.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/049.jpg b/harnesses/gtauri/frontend/dist/img/049.jpg deleted file mode 100644 index eb66484..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/049.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/050.jpg b/harnesses/gtauri/frontend/dist/img/050.jpg deleted file mode 100644 index e634ae9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/050.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/051.jpg b/harnesses/gtauri/frontend/dist/img/051.jpg deleted file mode 100644 index 00ca024..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/051.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/052.jpg b/harnesses/gtauri/frontend/dist/img/052.jpg deleted file mode 100644 index a7468a9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/052.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/053.jpg b/harnesses/gtauri/frontend/dist/img/053.jpg deleted file mode 100644 index dfee9aa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/053.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/054.jpg b/harnesses/gtauri/frontend/dist/img/054.jpg deleted file mode 100644 index ca7bd30..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/054.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/055.jpg b/harnesses/gtauri/frontend/dist/img/055.jpg deleted file mode 100644 index fafd645..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/055.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/056.jpg b/harnesses/gtauri/frontend/dist/img/056.jpg deleted file mode 100644 index 5c59fcb..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/056.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/057.jpg b/harnesses/gtauri/frontend/dist/img/057.jpg deleted file mode 100644 index 22e8e24..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/057.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/058.jpg b/harnesses/gtauri/frontend/dist/img/058.jpg deleted file mode 100644 index 8fd2002..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/058.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/059.jpg b/harnesses/gtauri/frontend/dist/img/059.jpg deleted file mode 100644 index 51633df..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/059.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/060.jpg b/harnesses/gtauri/frontend/dist/img/060.jpg deleted file mode 100644 index 5d5a977..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/060.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/061.jpg b/harnesses/gtauri/frontend/dist/img/061.jpg deleted file mode 100644 index 4ae146b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/061.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/062.jpg b/harnesses/gtauri/frontend/dist/img/062.jpg deleted file mode 100644 index 3a3d6bc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/062.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/063.jpg b/harnesses/gtauri/frontend/dist/img/063.jpg deleted file mode 100644 index 98267c3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/063.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/064.jpg b/harnesses/gtauri/frontend/dist/img/064.jpg deleted file mode 100644 index 03c5452..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/064.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/065.jpg b/harnesses/gtauri/frontend/dist/img/065.jpg deleted file mode 100644 index 22dd269..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/065.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/066.jpg b/harnesses/gtauri/frontend/dist/img/066.jpg deleted file mode 100644 index 6e833cc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/066.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/067.jpg b/harnesses/gtauri/frontend/dist/img/067.jpg deleted file mode 100644 index 668e611..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/067.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/068.jpg b/harnesses/gtauri/frontend/dist/img/068.jpg deleted file mode 100644 index 0723817..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/068.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/069.jpg b/harnesses/gtauri/frontend/dist/img/069.jpg deleted file mode 100644 index 23056d5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/069.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/070.jpg b/harnesses/gtauri/frontend/dist/img/070.jpg deleted file mode 100644 index 2e71f16..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/070.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/071.jpg b/harnesses/gtauri/frontend/dist/img/071.jpg deleted file mode 100644 index c844f19..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/071.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/072.jpg b/harnesses/gtauri/frontend/dist/img/072.jpg deleted file mode 100644 index c5b542d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/072.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/073.jpg b/harnesses/gtauri/frontend/dist/img/073.jpg deleted file mode 100644 index 8842b6f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/073.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/074.jpg b/harnesses/gtauri/frontend/dist/img/074.jpg deleted file mode 100644 index 491b787..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/074.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/075.jpg b/harnesses/gtauri/frontend/dist/img/075.jpg deleted file mode 100644 index 0d14115..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/075.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/076.jpg b/harnesses/gtauri/frontend/dist/img/076.jpg deleted file mode 100644 index af6128f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/076.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/077.jpg b/harnesses/gtauri/frontend/dist/img/077.jpg deleted file mode 100644 index 22132ec..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/077.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/078.jpg b/harnesses/gtauri/frontend/dist/img/078.jpg deleted file mode 100644 index 29f7059..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/078.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/079.jpg b/harnesses/gtauri/frontend/dist/img/079.jpg deleted file mode 100644 index 2fae328..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/079.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/080.jpg b/harnesses/gtauri/frontend/dist/img/080.jpg deleted file mode 100644 index 9f91a40..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/080.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/081.jpg b/harnesses/gtauri/frontend/dist/img/081.jpg deleted file mode 100644 index 362b422..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/081.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/082.jpg b/harnesses/gtauri/frontend/dist/img/082.jpg deleted file mode 100644 index 11c0a09..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/082.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/083.jpg b/harnesses/gtauri/frontend/dist/img/083.jpg deleted file mode 100644 index 171259b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/083.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/084.jpg b/harnesses/gtauri/frontend/dist/img/084.jpg deleted file mode 100644 index f6702bc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/084.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/085.jpg b/harnesses/gtauri/frontend/dist/img/085.jpg deleted file mode 100644 index 978aa0d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/085.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/086.jpg b/harnesses/gtauri/frontend/dist/img/086.jpg deleted file mode 100644 index 3e1679e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/086.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/087.jpg b/harnesses/gtauri/frontend/dist/img/087.jpg deleted file mode 100644 index 7f9177f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/087.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/088.jpg b/harnesses/gtauri/frontend/dist/img/088.jpg deleted file mode 100644 index e0b0fe7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/088.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/089.jpg b/harnesses/gtauri/frontend/dist/img/089.jpg deleted file mode 100644 index d2f1856..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/089.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/090.jpg b/harnesses/gtauri/frontend/dist/img/090.jpg deleted file mode 100644 index f341b81..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/090.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/091.jpg b/harnesses/gtauri/frontend/dist/img/091.jpg deleted file mode 100644 index adebe5a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/091.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/092.jpg b/harnesses/gtauri/frontend/dist/img/092.jpg deleted file mode 100644 index 38dc969..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/092.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/093.jpg b/harnesses/gtauri/frontend/dist/img/093.jpg deleted file mode 100644 index 900e7ae..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/093.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/094.jpg b/harnesses/gtauri/frontend/dist/img/094.jpg deleted file mode 100644 index 700a6de..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/094.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/095.jpg b/harnesses/gtauri/frontend/dist/img/095.jpg deleted file mode 100644 index 1e7f21e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/095.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/096.jpg b/harnesses/gtauri/frontend/dist/img/096.jpg deleted file mode 100644 index 3cf45aa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/096.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/097.jpg b/harnesses/gtauri/frontend/dist/img/097.jpg deleted file mode 100644 index 130435d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/097.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/098.jpg b/harnesses/gtauri/frontend/dist/img/098.jpg deleted file mode 100644 index 19c1f0f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/098.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/099.jpg b/harnesses/gtauri/frontend/dist/img/099.jpg deleted file mode 100644 index e88a24b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/099.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/100.jpg b/harnesses/gtauri/frontend/dist/img/100.jpg deleted file mode 100644 index 659983f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/100.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/101.jpg b/harnesses/gtauri/frontend/dist/img/101.jpg deleted file mode 100644 index 5f8d343..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/101.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/102.jpg b/harnesses/gtauri/frontend/dist/img/102.jpg deleted file mode 100644 index 4a08d12..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/102.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/103.jpg b/harnesses/gtauri/frontend/dist/img/103.jpg deleted file mode 100644 index 189f6d8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/103.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/104.jpg b/harnesses/gtauri/frontend/dist/img/104.jpg deleted file mode 100644 index c77a308..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/104.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/105.jpg b/harnesses/gtauri/frontend/dist/img/105.jpg deleted file mode 100644 index c9c4de2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/105.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/106.jpg b/harnesses/gtauri/frontend/dist/img/106.jpg deleted file mode 100644 index 41fbd01..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/106.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/107.jpg b/harnesses/gtauri/frontend/dist/img/107.jpg deleted file mode 100644 index 4a94218..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/107.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/108.jpg b/harnesses/gtauri/frontend/dist/img/108.jpg deleted file mode 100644 index 9ff840c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/108.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/109.jpg b/harnesses/gtauri/frontend/dist/img/109.jpg deleted file mode 100644 index f8c3e71..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/109.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/110.jpg b/harnesses/gtauri/frontend/dist/img/110.jpg deleted file mode 100644 index 149448d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/110.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/111.jpg b/harnesses/gtauri/frontend/dist/img/111.jpg deleted file mode 100644 index 975b5c1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/111.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/112.jpg b/harnesses/gtauri/frontend/dist/img/112.jpg deleted file mode 100644 index c81fd67..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/112.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/113.jpg b/harnesses/gtauri/frontend/dist/img/113.jpg deleted file mode 100644 index 3c700f1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/113.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/114.jpg b/harnesses/gtauri/frontend/dist/img/114.jpg deleted file mode 100644 index 21f8977..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/114.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/115.jpg b/harnesses/gtauri/frontend/dist/img/115.jpg deleted file mode 100644 index 7b96f8b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/115.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/116.jpg b/harnesses/gtauri/frontend/dist/img/116.jpg deleted file mode 100644 index bdeaab5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/116.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/117.jpg b/harnesses/gtauri/frontend/dist/img/117.jpg deleted file mode 100644 index d718b2d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/117.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/118.jpg b/harnesses/gtauri/frontend/dist/img/118.jpg deleted file mode 100644 index b61b9c8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/118.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/119.jpg b/harnesses/gtauri/frontend/dist/img/119.jpg deleted file mode 100644 index 541818d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/119.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/120.jpg b/harnesses/gtauri/frontend/dist/img/120.jpg deleted file mode 100644 index 4c2e82e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/120.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/121.jpg b/harnesses/gtauri/frontend/dist/img/121.jpg deleted file mode 100644 index 0ef05f8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/121.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/122.jpg b/harnesses/gtauri/frontend/dist/img/122.jpg deleted file mode 100644 index 9575859..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/122.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/123.jpg b/harnesses/gtauri/frontend/dist/img/123.jpg deleted file mode 100644 index d7e5287..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/123.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/124.jpg b/harnesses/gtauri/frontend/dist/img/124.jpg deleted file mode 100644 index 47e1a6f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/124.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/125.jpg b/harnesses/gtauri/frontend/dist/img/125.jpg deleted file mode 100644 index 32de754..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/125.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/126.jpg b/harnesses/gtauri/frontend/dist/img/126.jpg deleted file mode 100644 index db2fa1f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/126.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/127.jpg b/harnesses/gtauri/frontend/dist/img/127.jpg deleted file mode 100644 index 9fff447..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/127.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/128.jpg b/harnesses/gtauri/frontend/dist/img/128.jpg deleted file mode 100644 index f59316c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/128.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/129.jpg b/harnesses/gtauri/frontend/dist/img/129.jpg deleted file mode 100644 index d8d058e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/129.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/130.jpg b/harnesses/gtauri/frontend/dist/img/130.jpg deleted file mode 100644 index 5bf7ac4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/130.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/131.jpg b/harnesses/gtauri/frontend/dist/img/131.jpg deleted file mode 100644 index 820a899..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/131.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/132.jpg b/harnesses/gtauri/frontend/dist/img/132.jpg deleted file mode 100644 index 6f88ceb..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/132.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/133.jpg b/harnesses/gtauri/frontend/dist/img/133.jpg deleted file mode 100644 index c00554b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/133.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/134.jpg b/harnesses/gtauri/frontend/dist/img/134.jpg deleted file mode 100644 index 464ddfb..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/134.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/135.jpg b/harnesses/gtauri/frontend/dist/img/135.jpg deleted file mode 100644 index de7d013..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/135.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/136.jpg b/harnesses/gtauri/frontend/dist/img/136.jpg deleted file mode 100644 index a9b3a86..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/136.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/137.jpg b/harnesses/gtauri/frontend/dist/img/137.jpg deleted file mode 100644 index 3b7f034..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/137.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/138.jpg b/harnesses/gtauri/frontend/dist/img/138.jpg deleted file mode 100644 index 9d5ed31..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/138.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/139.jpg b/harnesses/gtauri/frontend/dist/img/139.jpg deleted file mode 100644 index 3ea1de8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/139.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/140.jpg b/harnesses/gtauri/frontend/dist/img/140.jpg deleted file mode 100644 index cff9596..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/140.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/141.jpg b/harnesses/gtauri/frontend/dist/img/141.jpg deleted file mode 100644 index 314cde7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/141.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/142.jpg b/harnesses/gtauri/frontend/dist/img/142.jpg deleted file mode 100644 index 851ac53..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/142.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/143.jpg b/harnesses/gtauri/frontend/dist/img/143.jpg deleted file mode 100644 index 8420030..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/143.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/144.jpg b/harnesses/gtauri/frontend/dist/img/144.jpg deleted file mode 100644 index 3db135d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/144.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/145.jpg b/harnesses/gtauri/frontend/dist/img/145.jpg deleted file mode 100644 index e8dd52c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/145.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/146.jpg b/harnesses/gtauri/frontend/dist/img/146.jpg deleted file mode 100644 index 9fb0395..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/146.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/147.jpg b/harnesses/gtauri/frontend/dist/img/147.jpg deleted file mode 100644 index f162493..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/147.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/148.jpg b/harnesses/gtauri/frontend/dist/img/148.jpg deleted file mode 100644 index f1bdb50..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/148.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/149.jpg b/harnesses/gtauri/frontend/dist/img/149.jpg deleted file mode 100644 index 12f5453..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/149.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/150.jpg b/harnesses/gtauri/frontend/dist/img/150.jpg deleted file mode 100644 index c3fd108..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/150.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/151.jpg b/harnesses/gtauri/frontend/dist/img/151.jpg deleted file mode 100644 index d2df22d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/151.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/152.jpg b/harnesses/gtauri/frontend/dist/img/152.jpg deleted file mode 100644 index 65d13ad..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/152.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/153.jpg b/harnesses/gtauri/frontend/dist/img/153.jpg deleted file mode 100644 index 9d1b68f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/153.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/154.jpg b/harnesses/gtauri/frontend/dist/img/154.jpg deleted file mode 100644 index 65912f1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/154.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/155.jpg b/harnesses/gtauri/frontend/dist/img/155.jpg deleted file mode 100644 index 198db68..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/155.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/156.jpg b/harnesses/gtauri/frontend/dist/img/156.jpg deleted file mode 100644 index 58e1750..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/156.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/157.jpg b/harnesses/gtauri/frontend/dist/img/157.jpg deleted file mode 100644 index 8852e43..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/157.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/158.jpg b/harnesses/gtauri/frontend/dist/img/158.jpg deleted file mode 100644 index 3686bc9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/158.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/159.jpg b/harnesses/gtauri/frontend/dist/img/159.jpg deleted file mode 100644 index 2b8fe68..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/159.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/160.jpg b/harnesses/gtauri/frontend/dist/img/160.jpg deleted file mode 100644 index 8521e5e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/160.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/161.jpg b/harnesses/gtauri/frontend/dist/img/161.jpg deleted file mode 100644 index e6625ef..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/161.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/162.jpg b/harnesses/gtauri/frontend/dist/img/162.jpg deleted file mode 100644 index a5319a5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/162.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/163.jpg b/harnesses/gtauri/frontend/dist/img/163.jpg deleted file mode 100644 index 8f05ce3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/163.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/164.jpg b/harnesses/gtauri/frontend/dist/img/164.jpg deleted file mode 100644 index 6af71fd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/164.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/165.jpg b/harnesses/gtauri/frontend/dist/img/165.jpg deleted file mode 100644 index af249f6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/165.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/166.jpg b/harnesses/gtauri/frontend/dist/img/166.jpg deleted file mode 100644 index 088b78f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/166.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/167.jpg b/harnesses/gtauri/frontend/dist/img/167.jpg deleted file mode 100644 index 79a6327..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/167.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/168.jpg b/harnesses/gtauri/frontend/dist/img/168.jpg deleted file mode 100644 index 3a35e41..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/168.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/169.jpg b/harnesses/gtauri/frontend/dist/img/169.jpg deleted file mode 100644 index 1cb6217..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/169.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/170.jpg b/harnesses/gtauri/frontend/dist/img/170.jpg deleted file mode 100644 index 9288d13..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/170.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/171.jpg b/harnesses/gtauri/frontend/dist/img/171.jpg deleted file mode 100644 index f2ebc28..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/171.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/172.jpg b/harnesses/gtauri/frontend/dist/img/172.jpg deleted file mode 100644 index 1e01e2e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/172.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/173.jpg b/harnesses/gtauri/frontend/dist/img/173.jpg deleted file mode 100644 index f7cb5ac..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/173.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/174.jpg b/harnesses/gtauri/frontend/dist/img/174.jpg deleted file mode 100644 index 1bdf4d4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/174.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/175.jpg b/harnesses/gtauri/frontend/dist/img/175.jpg deleted file mode 100644 index fe6e0c3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/175.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/176.jpg b/harnesses/gtauri/frontend/dist/img/176.jpg deleted file mode 100644 index 1808212..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/176.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/177.jpg b/harnesses/gtauri/frontend/dist/img/177.jpg deleted file mode 100644 index 22a1962..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/177.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/178.jpg b/harnesses/gtauri/frontend/dist/img/178.jpg deleted file mode 100644 index 8bb9f1d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/178.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/179.jpg b/harnesses/gtauri/frontend/dist/img/179.jpg deleted file mode 100644 index 48800e3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/179.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/180.jpg b/harnesses/gtauri/frontend/dist/img/180.jpg deleted file mode 100644 index b4aacd1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/180.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/181.jpg b/harnesses/gtauri/frontend/dist/img/181.jpg deleted file mode 100644 index 0297671..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/181.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/182.jpg b/harnesses/gtauri/frontend/dist/img/182.jpg deleted file mode 100644 index 3ba7d5f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/182.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/183.jpg b/harnesses/gtauri/frontend/dist/img/183.jpg deleted file mode 100644 index cd89f1c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/183.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/184.jpg b/harnesses/gtauri/frontend/dist/img/184.jpg deleted file mode 100644 index 7d39a2e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/184.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/185.jpg b/harnesses/gtauri/frontend/dist/img/185.jpg deleted file mode 100644 index c5c9cce..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/185.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/186.jpg b/harnesses/gtauri/frontend/dist/img/186.jpg deleted file mode 100644 index 8057358..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/186.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/187.jpg b/harnesses/gtauri/frontend/dist/img/187.jpg deleted file mode 100644 index 9f58a3c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/187.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/188.jpg b/harnesses/gtauri/frontend/dist/img/188.jpg deleted file mode 100644 index 304d924..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/188.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/189.jpg b/harnesses/gtauri/frontend/dist/img/189.jpg deleted file mode 100644 index f84cdc4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/189.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/190.jpg b/harnesses/gtauri/frontend/dist/img/190.jpg deleted file mode 100644 index 24790e7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/190.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/191.jpg b/harnesses/gtauri/frontend/dist/img/191.jpg deleted file mode 100644 index d1e9eb8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/191.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/192.jpg b/harnesses/gtauri/frontend/dist/img/192.jpg deleted file mode 100644 index 1e12638..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/192.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/193.jpg b/harnesses/gtauri/frontend/dist/img/193.jpg deleted file mode 100644 index 2d19310..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/193.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/194.jpg b/harnesses/gtauri/frontend/dist/img/194.jpg deleted file mode 100644 index 5c61da9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/194.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/195.jpg b/harnesses/gtauri/frontend/dist/img/195.jpg deleted file mode 100644 index 88be400..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/195.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/196.jpg b/harnesses/gtauri/frontend/dist/img/196.jpg deleted file mode 100644 index 96e92d7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/196.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/197.jpg b/harnesses/gtauri/frontend/dist/img/197.jpg deleted file mode 100644 index 08ded87..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/197.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/198.jpg b/harnesses/gtauri/frontend/dist/img/198.jpg deleted file mode 100644 index 609072f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/198.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/199.jpg b/harnesses/gtauri/frontend/dist/img/199.jpg deleted file mode 100644 index 81552ac..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/199.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/200.jpg b/harnesses/gtauri/frontend/dist/img/200.jpg deleted file mode 100644 index 6b70e9f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/200.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/201.jpg b/harnesses/gtauri/frontend/dist/img/201.jpg deleted file mode 100644 index 137e707..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/201.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/202.jpg b/harnesses/gtauri/frontend/dist/img/202.jpg deleted file mode 100644 index 9e56630..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/202.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/203.jpg b/harnesses/gtauri/frontend/dist/img/203.jpg deleted file mode 100644 index 3fe853c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/203.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/204.jpg b/harnesses/gtauri/frontend/dist/img/204.jpg deleted file mode 100644 index 31600d0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/204.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/205.jpg b/harnesses/gtauri/frontend/dist/img/205.jpg deleted file mode 100644 index 3170fa5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/205.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/206.jpg b/harnesses/gtauri/frontend/dist/img/206.jpg deleted file mode 100644 index 9c55d4d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/206.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/207.jpg b/harnesses/gtauri/frontend/dist/img/207.jpg deleted file mode 100644 index a98f5d6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/207.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/208.jpg b/harnesses/gtauri/frontend/dist/img/208.jpg deleted file mode 100644 index c8474e1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/208.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/209.jpg b/harnesses/gtauri/frontend/dist/img/209.jpg deleted file mode 100644 index f7328db..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/209.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/210.jpg b/harnesses/gtauri/frontend/dist/img/210.jpg deleted file mode 100644 index 55f99c5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/210.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/211.jpg b/harnesses/gtauri/frontend/dist/img/211.jpg deleted file mode 100644 index ca79658..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/211.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/212.jpg b/harnesses/gtauri/frontend/dist/img/212.jpg deleted file mode 100644 index cf1979c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/212.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/213.jpg b/harnesses/gtauri/frontend/dist/img/213.jpg deleted file mode 100644 index 2b3fbb8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/213.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/214.jpg b/harnesses/gtauri/frontend/dist/img/214.jpg deleted file mode 100644 index c232df0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/214.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/215.jpg b/harnesses/gtauri/frontend/dist/img/215.jpg deleted file mode 100644 index 865040b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/215.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/216.jpg b/harnesses/gtauri/frontend/dist/img/216.jpg deleted file mode 100644 index 83d049a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/216.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/217.jpg b/harnesses/gtauri/frontend/dist/img/217.jpg deleted file mode 100644 index 6b6f68c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/217.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/218.jpg b/harnesses/gtauri/frontend/dist/img/218.jpg deleted file mode 100644 index 4919343..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/218.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/219.jpg b/harnesses/gtauri/frontend/dist/img/219.jpg deleted file mode 100644 index 4bb8684..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/219.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/220.jpg b/harnesses/gtauri/frontend/dist/img/220.jpg deleted file mode 100644 index 94b92ad..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/220.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/221.jpg b/harnesses/gtauri/frontend/dist/img/221.jpg deleted file mode 100644 index 1fca732..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/221.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/222.jpg b/harnesses/gtauri/frontend/dist/img/222.jpg deleted file mode 100644 index 08fa63b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/222.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/223.jpg b/harnesses/gtauri/frontend/dist/img/223.jpg deleted file mode 100644 index 5664262..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/223.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/224.jpg b/harnesses/gtauri/frontend/dist/img/224.jpg deleted file mode 100644 index 897442d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/224.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/225.jpg b/harnesses/gtauri/frontend/dist/img/225.jpg deleted file mode 100644 index 1e15b48..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/225.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/226.jpg b/harnesses/gtauri/frontend/dist/img/226.jpg deleted file mode 100644 index fe4ab06..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/226.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/227.jpg b/harnesses/gtauri/frontend/dist/img/227.jpg deleted file mode 100644 index 284f63e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/227.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/228.jpg b/harnesses/gtauri/frontend/dist/img/228.jpg deleted file mode 100644 index 78e22af..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/228.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/229.jpg b/harnesses/gtauri/frontend/dist/img/229.jpg deleted file mode 100644 index bc8097f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/229.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/230.jpg b/harnesses/gtauri/frontend/dist/img/230.jpg deleted file mode 100644 index f0930c3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/230.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/231.jpg b/harnesses/gtauri/frontend/dist/img/231.jpg deleted file mode 100644 index 9f6aa42..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/231.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/232.jpg b/harnesses/gtauri/frontend/dist/img/232.jpg deleted file mode 100644 index 1a17033..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/232.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/233.jpg b/harnesses/gtauri/frontend/dist/img/233.jpg deleted file mode 100644 index 969374b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/233.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/234.jpg b/harnesses/gtauri/frontend/dist/img/234.jpg deleted file mode 100644 index abe4314..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/234.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/235.jpg b/harnesses/gtauri/frontend/dist/img/235.jpg deleted file mode 100644 index 4984980..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/235.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/236.jpg b/harnesses/gtauri/frontend/dist/img/236.jpg deleted file mode 100644 index e58cce9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/236.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/237.jpg b/harnesses/gtauri/frontend/dist/img/237.jpg deleted file mode 100644 index af948d2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/237.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/238.jpg b/harnesses/gtauri/frontend/dist/img/238.jpg deleted file mode 100644 index de3a234..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/238.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/239.jpg b/harnesses/gtauri/frontend/dist/img/239.jpg deleted file mode 100644 index abbafcd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/239.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/240.jpg b/harnesses/gtauri/frontend/dist/img/240.jpg deleted file mode 100644 index 1faece8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/240.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/241.jpg b/harnesses/gtauri/frontend/dist/img/241.jpg deleted file mode 100644 index d69a8d4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/241.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/242.jpg b/harnesses/gtauri/frontend/dist/img/242.jpg deleted file mode 100644 index 0239ad9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/242.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/243.jpg b/harnesses/gtauri/frontend/dist/img/243.jpg deleted file mode 100644 index 49d2e79..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/243.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/244.jpg b/harnesses/gtauri/frontend/dist/img/244.jpg deleted file mode 100644 index 6415a8f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/244.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/245.jpg b/harnesses/gtauri/frontend/dist/img/245.jpg deleted file mode 100644 index 81bab27..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/245.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/246.jpg b/harnesses/gtauri/frontend/dist/img/246.jpg deleted file mode 100644 index 10a0d0d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/246.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/247.jpg b/harnesses/gtauri/frontend/dist/img/247.jpg deleted file mode 100644 index a58a58b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/247.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/248.jpg b/harnesses/gtauri/frontend/dist/img/248.jpg deleted file mode 100644 index 7acd02c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/248.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/249.jpg b/harnesses/gtauri/frontend/dist/img/249.jpg deleted file mode 100644 index 45a1cc7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/249.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/250.jpg b/harnesses/gtauri/frontend/dist/img/250.jpg deleted file mode 100644 index ea21339..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/250.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/251.jpg b/harnesses/gtauri/frontend/dist/img/251.jpg deleted file mode 100644 index 7ef804e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/251.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/252.jpg b/harnesses/gtauri/frontend/dist/img/252.jpg deleted file mode 100644 index d353375..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/252.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/253.jpg b/harnesses/gtauri/frontend/dist/img/253.jpg deleted file mode 100644 index e66c51a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/253.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/254.jpg b/harnesses/gtauri/frontend/dist/img/254.jpg deleted file mode 100644 index afd3b80..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/254.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/255.jpg b/harnesses/gtauri/frontend/dist/img/255.jpg deleted file mode 100644 index 90fa7b2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/255.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/256.jpg b/harnesses/gtauri/frontend/dist/img/256.jpg deleted file mode 100644 index 84f362a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/256.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/257.jpg b/harnesses/gtauri/frontend/dist/img/257.jpg deleted file mode 100644 index 4ef2e8c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/257.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/258.jpg b/harnesses/gtauri/frontend/dist/img/258.jpg deleted file mode 100644 index e906abd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/258.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/259.jpg b/harnesses/gtauri/frontend/dist/img/259.jpg deleted file mode 100644 index e113cf6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/259.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/260.jpg b/harnesses/gtauri/frontend/dist/img/260.jpg deleted file mode 100644 index 1a8668a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/260.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/261.jpg b/harnesses/gtauri/frontend/dist/img/261.jpg deleted file mode 100644 index 96d295a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/261.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/262.jpg b/harnesses/gtauri/frontend/dist/img/262.jpg deleted file mode 100644 index 8fd6cdd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/262.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/263.jpg b/harnesses/gtauri/frontend/dist/img/263.jpg deleted file mode 100644 index 68875a9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/263.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/264.jpg b/harnesses/gtauri/frontend/dist/img/264.jpg deleted file mode 100644 index 6b95aee..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/264.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/265.jpg b/harnesses/gtauri/frontend/dist/img/265.jpg deleted file mode 100644 index ea6d04c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/265.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/266.jpg b/harnesses/gtauri/frontend/dist/img/266.jpg deleted file mode 100644 index 83cdd86..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/266.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/267.jpg b/harnesses/gtauri/frontend/dist/img/267.jpg deleted file mode 100644 index 7d67dfc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/267.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/268.jpg b/harnesses/gtauri/frontend/dist/img/268.jpg deleted file mode 100644 index 40a88ad..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/268.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/269.jpg b/harnesses/gtauri/frontend/dist/img/269.jpg deleted file mode 100644 index 24d0956..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/269.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/270.jpg b/harnesses/gtauri/frontend/dist/img/270.jpg deleted file mode 100644 index 1cc73fd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/270.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/271.jpg b/harnesses/gtauri/frontend/dist/img/271.jpg deleted file mode 100644 index 97b9895..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/271.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/272.jpg b/harnesses/gtauri/frontend/dist/img/272.jpg deleted file mode 100644 index f142663..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/272.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/273.jpg b/harnesses/gtauri/frontend/dist/img/273.jpg deleted file mode 100644 index db4d3fe..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/273.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/274.jpg b/harnesses/gtauri/frontend/dist/img/274.jpg deleted file mode 100644 index 6eada8c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/274.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/275.jpg b/harnesses/gtauri/frontend/dist/img/275.jpg deleted file mode 100644 index b9228ee..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/275.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/276.jpg b/harnesses/gtauri/frontend/dist/img/276.jpg deleted file mode 100644 index d842c5d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/276.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/277.jpg b/harnesses/gtauri/frontend/dist/img/277.jpg deleted file mode 100644 index a838e22..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/277.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/278.jpg b/harnesses/gtauri/frontend/dist/img/278.jpg deleted file mode 100644 index 59e429e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/278.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/279.jpg b/harnesses/gtauri/frontend/dist/img/279.jpg deleted file mode 100644 index 17458fe..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/279.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/280.jpg b/harnesses/gtauri/frontend/dist/img/280.jpg deleted file mode 100644 index 7b2a9cd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/280.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/281.jpg b/harnesses/gtauri/frontend/dist/img/281.jpg deleted file mode 100644 index e560770..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/281.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/282.jpg b/harnesses/gtauri/frontend/dist/img/282.jpg deleted file mode 100644 index 5033f1c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/282.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/283.jpg b/harnesses/gtauri/frontend/dist/img/283.jpg deleted file mode 100644 index b882944..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/283.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/284.jpg b/harnesses/gtauri/frontend/dist/img/284.jpg deleted file mode 100644 index 51c6ce8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/284.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/285.jpg b/harnesses/gtauri/frontend/dist/img/285.jpg deleted file mode 100644 index 282fc5b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/285.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/286.jpg b/harnesses/gtauri/frontend/dist/img/286.jpg deleted file mode 100644 index b610b7e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/286.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/287.jpg b/harnesses/gtauri/frontend/dist/img/287.jpg deleted file mode 100644 index 4339486..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/287.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/288.jpg b/harnesses/gtauri/frontend/dist/img/288.jpg deleted file mode 100644 index 04c6054..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/288.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/289.jpg b/harnesses/gtauri/frontend/dist/img/289.jpg deleted file mode 100644 index 734ee37..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/289.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/290.jpg b/harnesses/gtauri/frontend/dist/img/290.jpg deleted file mode 100644 index c13607f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/290.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/291.jpg b/harnesses/gtauri/frontend/dist/img/291.jpg deleted file mode 100644 index 30b698f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/291.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/292.jpg b/harnesses/gtauri/frontend/dist/img/292.jpg deleted file mode 100644 index 107ec3d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/292.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/293.jpg b/harnesses/gtauri/frontend/dist/img/293.jpg deleted file mode 100644 index d39ba44..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/293.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/294.jpg b/harnesses/gtauri/frontend/dist/img/294.jpg deleted file mode 100644 index 160e614..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/294.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/295.jpg b/harnesses/gtauri/frontend/dist/img/295.jpg deleted file mode 100644 index 96c08fe..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/295.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/296.jpg b/harnesses/gtauri/frontend/dist/img/296.jpg deleted file mode 100644 index ec87929..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/296.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/297.jpg b/harnesses/gtauri/frontend/dist/img/297.jpg deleted file mode 100644 index 0e44406..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/297.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/298.jpg b/harnesses/gtauri/frontend/dist/img/298.jpg deleted file mode 100644 index a804f62..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/298.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/299.jpg b/harnesses/gtauri/frontend/dist/img/299.jpg deleted file mode 100644 index 53be16a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/299.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/300.jpg b/harnesses/gtauri/frontend/dist/img/300.jpg deleted file mode 100644 index 0719f82..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/300.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/301.jpg b/harnesses/gtauri/frontend/dist/img/301.jpg deleted file mode 100644 index b167595..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/301.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/302.jpg b/harnesses/gtauri/frontend/dist/img/302.jpg deleted file mode 100644 index c23af4b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/302.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/303.jpg b/harnesses/gtauri/frontend/dist/img/303.jpg deleted file mode 100644 index 034b76e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/303.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/304.jpg b/harnesses/gtauri/frontend/dist/img/304.jpg deleted file mode 100644 index 5bfbbdf..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/304.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/305.jpg b/harnesses/gtauri/frontend/dist/img/305.jpg deleted file mode 100644 index 9f45163..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/305.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/306.jpg b/harnesses/gtauri/frontend/dist/img/306.jpg deleted file mode 100644 index edafae6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/306.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/307.jpg b/harnesses/gtauri/frontend/dist/img/307.jpg deleted file mode 100644 index 78c5c0e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/307.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/308.jpg b/harnesses/gtauri/frontend/dist/img/308.jpg deleted file mode 100644 index b712e9f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/308.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/309.jpg b/harnesses/gtauri/frontend/dist/img/309.jpg deleted file mode 100644 index dce81fd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/309.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/310.jpg b/harnesses/gtauri/frontend/dist/img/310.jpg deleted file mode 100644 index 9f039f7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/310.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/311.jpg b/harnesses/gtauri/frontend/dist/img/311.jpg deleted file mode 100644 index de8a457..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/311.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/312.jpg b/harnesses/gtauri/frontend/dist/img/312.jpg deleted file mode 100644 index 37c8cf2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/312.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/313.jpg b/harnesses/gtauri/frontend/dist/img/313.jpg deleted file mode 100644 index ee68bf4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/313.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/314.jpg b/harnesses/gtauri/frontend/dist/img/314.jpg deleted file mode 100644 index 2041a72..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/314.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/315.jpg b/harnesses/gtauri/frontend/dist/img/315.jpg deleted file mode 100644 index ba9c0a8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/315.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/316.jpg b/harnesses/gtauri/frontend/dist/img/316.jpg deleted file mode 100644 index 5f7c2b7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/316.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/317.jpg b/harnesses/gtauri/frontend/dist/img/317.jpg deleted file mode 100644 index 9ba7f75..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/317.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/318.jpg b/harnesses/gtauri/frontend/dist/img/318.jpg deleted file mode 100644 index a14d5c4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/318.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/319.jpg b/harnesses/gtauri/frontend/dist/img/319.jpg deleted file mode 100644 index 98f471d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/319.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/320.jpg b/harnesses/gtauri/frontend/dist/img/320.jpg deleted file mode 100644 index 59fc766..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/320.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/321.jpg b/harnesses/gtauri/frontend/dist/img/321.jpg deleted file mode 100644 index 0f68677..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/321.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/322.jpg b/harnesses/gtauri/frontend/dist/img/322.jpg deleted file mode 100644 index c3fef2e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/322.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/323.jpg b/harnesses/gtauri/frontend/dist/img/323.jpg deleted file mode 100644 index 941914b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/323.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/324.jpg b/harnesses/gtauri/frontend/dist/img/324.jpg deleted file mode 100644 index 8dd3eb1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/324.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/325.jpg b/harnesses/gtauri/frontend/dist/img/325.jpg deleted file mode 100644 index dd4404f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/325.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/326.jpg b/harnesses/gtauri/frontend/dist/img/326.jpg deleted file mode 100644 index 58a3bc8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/326.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/327.jpg b/harnesses/gtauri/frontend/dist/img/327.jpg deleted file mode 100644 index 3d86a39..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/327.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/328.jpg b/harnesses/gtauri/frontend/dist/img/328.jpg deleted file mode 100644 index 3576e7d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/328.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/329.jpg b/harnesses/gtauri/frontend/dist/img/329.jpg deleted file mode 100644 index 5e406f0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/329.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/330.jpg b/harnesses/gtauri/frontend/dist/img/330.jpg deleted file mode 100644 index 351d42a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/330.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/331.jpg b/harnesses/gtauri/frontend/dist/img/331.jpg deleted file mode 100644 index bca42d5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/331.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/332.jpg b/harnesses/gtauri/frontend/dist/img/332.jpg deleted file mode 100644 index 5c0c837..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/332.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/333.jpg b/harnesses/gtauri/frontend/dist/img/333.jpg deleted file mode 100644 index c179162..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/333.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/334.jpg b/harnesses/gtauri/frontend/dist/img/334.jpg deleted file mode 100644 index 358088a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/334.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/335.jpg b/harnesses/gtauri/frontend/dist/img/335.jpg deleted file mode 100644 index 0687be1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/335.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/336.jpg b/harnesses/gtauri/frontend/dist/img/336.jpg deleted file mode 100644 index acbd6a3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/336.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/337.jpg b/harnesses/gtauri/frontend/dist/img/337.jpg deleted file mode 100644 index 11bf2a0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/337.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/338.jpg b/harnesses/gtauri/frontend/dist/img/338.jpg deleted file mode 100644 index afe1a1f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/338.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/339.jpg b/harnesses/gtauri/frontend/dist/img/339.jpg deleted file mode 100644 index 3198fde..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/339.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/340.jpg b/harnesses/gtauri/frontend/dist/img/340.jpg deleted file mode 100644 index 32fc394..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/340.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/341.jpg b/harnesses/gtauri/frontend/dist/img/341.jpg deleted file mode 100644 index bf5ae56..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/341.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/342.jpg b/harnesses/gtauri/frontend/dist/img/342.jpg deleted file mode 100644 index f01b202..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/342.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/343.jpg b/harnesses/gtauri/frontend/dist/img/343.jpg deleted file mode 100644 index f8a2360..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/343.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/344.jpg b/harnesses/gtauri/frontend/dist/img/344.jpg deleted file mode 100644 index b3c7d78..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/344.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/345.jpg b/harnesses/gtauri/frontend/dist/img/345.jpg deleted file mode 100644 index e585d53..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/345.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/346.jpg b/harnesses/gtauri/frontend/dist/img/346.jpg deleted file mode 100644 index 6708d82..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/346.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/347.jpg b/harnesses/gtauri/frontend/dist/img/347.jpg deleted file mode 100644 index 305d1cc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/347.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/348.jpg b/harnesses/gtauri/frontend/dist/img/348.jpg deleted file mode 100644 index a049044..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/348.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/349.jpg b/harnesses/gtauri/frontend/dist/img/349.jpg deleted file mode 100644 index 3597fdd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/349.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/350.jpg b/harnesses/gtauri/frontend/dist/img/350.jpg deleted file mode 100644 index 8efdc56..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/350.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/351.jpg b/harnesses/gtauri/frontend/dist/img/351.jpg deleted file mode 100644 index cd7c5cc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/351.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/352.jpg b/harnesses/gtauri/frontend/dist/img/352.jpg deleted file mode 100644 index 9f63fd8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/352.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/353.jpg b/harnesses/gtauri/frontend/dist/img/353.jpg deleted file mode 100644 index 4602920..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/353.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/354.jpg b/harnesses/gtauri/frontend/dist/img/354.jpg deleted file mode 100644 index 421a1ed..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/354.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/355.jpg b/harnesses/gtauri/frontend/dist/img/355.jpg deleted file mode 100644 index cac8244..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/355.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/356.jpg b/harnesses/gtauri/frontend/dist/img/356.jpg deleted file mode 100644 index b2fc907..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/356.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/357.jpg b/harnesses/gtauri/frontend/dist/img/357.jpg deleted file mode 100644 index ff0e890..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/357.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/358.jpg b/harnesses/gtauri/frontend/dist/img/358.jpg deleted file mode 100644 index c46eb2e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/358.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/359.jpg b/harnesses/gtauri/frontend/dist/img/359.jpg deleted file mode 100644 index cb3bf56..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/359.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/360.jpg b/harnesses/gtauri/frontend/dist/img/360.jpg deleted file mode 100644 index ee7faa3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/360.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/361.jpg b/harnesses/gtauri/frontend/dist/img/361.jpg deleted file mode 100644 index c85a853..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/361.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/362.jpg b/harnesses/gtauri/frontend/dist/img/362.jpg deleted file mode 100644 index ba0186b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/362.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/363.jpg b/harnesses/gtauri/frontend/dist/img/363.jpg deleted file mode 100644 index 0765f1d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/363.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/364.jpg b/harnesses/gtauri/frontend/dist/img/364.jpg deleted file mode 100644 index e67026b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/364.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/365.jpg b/harnesses/gtauri/frontend/dist/img/365.jpg deleted file mode 100644 index f433bca..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/365.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/366.jpg b/harnesses/gtauri/frontend/dist/img/366.jpg deleted file mode 100644 index b530e53..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/366.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/367.jpg b/harnesses/gtauri/frontend/dist/img/367.jpg deleted file mode 100644 index a3e6f58..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/367.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/368.jpg b/harnesses/gtauri/frontend/dist/img/368.jpg deleted file mode 100644 index 6fb7c35..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/368.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/369.jpg b/harnesses/gtauri/frontend/dist/img/369.jpg deleted file mode 100644 index 51884c8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/369.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/370.jpg b/harnesses/gtauri/frontend/dist/img/370.jpg deleted file mode 100644 index e9c2b94..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/370.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/371.jpg b/harnesses/gtauri/frontend/dist/img/371.jpg deleted file mode 100644 index 7cd9fed..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/371.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/372.jpg b/harnesses/gtauri/frontend/dist/img/372.jpg deleted file mode 100644 index 03ef2b8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/372.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/373.jpg b/harnesses/gtauri/frontend/dist/img/373.jpg deleted file mode 100644 index 28093c0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/373.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/374.jpg b/harnesses/gtauri/frontend/dist/img/374.jpg deleted file mode 100644 index 9d6e335..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/374.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/375.jpg b/harnesses/gtauri/frontend/dist/img/375.jpg deleted file mode 100644 index 45223fa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/375.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/376.jpg b/harnesses/gtauri/frontend/dist/img/376.jpg deleted file mode 100644 index cd30242..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/376.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/377.jpg b/harnesses/gtauri/frontend/dist/img/377.jpg deleted file mode 100644 index 1507644..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/377.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/378.jpg b/harnesses/gtauri/frontend/dist/img/378.jpg deleted file mode 100644 index bf5e9f9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/378.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/379.jpg b/harnesses/gtauri/frontend/dist/img/379.jpg deleted file mode 100644 index 84ef362..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/379.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/380.jpg b/harnesses/gtauri/frontend/dist/img/380.jpg deleted file mode 100644 index 518a323..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/380.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/381.jpg b/harnesses/gtauri/frontend/dist/img/381.jpg deleted file mode 100644 index 1ff98c5..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/381.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/382.jpg b/harnesses/gtauri/frontend/dist/img/382.jpg deleted file mode 100644 index f0fda3f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/382.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/383.jpg b/harnesses/gtauri/frontend/dist/img/383.jpg deleted file mode 100644 index a890dea..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/383.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/384.jpg b/harnesses/gtauri/frontend/dist/img/384.jpg deleted file mode 100644 index 9186fc1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/384.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/385.jpg b/harnesses/gtauri/frontend/dist/img/385.jpg deleted file mode 100644 index 1ba3d3d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/385.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/386.jpg b/harnesses/gtauri/frontend/dist/img/386.jpg deleted file mode 100644 index dc9847e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/386.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/387.jpg b/harnesses/gtauri/frontend/dist/img/387.jpg deleted file mode 100644 index 7d8229f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/387.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/388.jpg b/harnesses/gtauri/frontend/dist/img/388.jpg deleted file mode 100644 index 88fbfd8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/388.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/389.jpg b/harnesses/gtauri/frontend/dist/img/389.jpg deleted file mode 100644 index 23a659e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/389.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/390.jpg b/harnesses/gtauri/frontend/dist/img/390.jpg deleted file mode 100644 index 3e2bffa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/390.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/391.jpg b/harnesses/gtauri/frontend/dist/img/391.jpg deleted file mode 100644 index d1aaab6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/391.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/392.jpg b/harnesses/gtauri/frontend/dist/img/392.jpg deleted file mode 100644 index 19c19bc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/392.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/393.jpg b/harnesses/gtauri/frontend/dist/img/393.jpg deleted file mode 100644 index 9f7009f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/393.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/394.jpg b/harnesses/gtauri/frontend/dist/img/394.jpg deleted file mode 100644 index 3f7e78d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/394.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/395.jpg b/harnesses/gtauri/frontend/dist/img/395.jpg deleted file mode 100644 index 1cf003f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/395.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/396.jpg b/harnesses/gtauri/frontend/dist/img/396.jpg deleted file mode 100644 index fb8e06e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/396.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/397.jpg b/harnesses/gtauri/frontend/dist/img/397.jpg deleted file mode 100644 index ee1b582..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/397.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/398.jpg b/harnesses/gtauri/frontend/dist/img/398.jpg deleted file mode 100644 index 5b48524..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/398.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/399.jpg b/harnesses/gtauri/frontend/dist/img/399.jpg deleted file mode 100644 index c89afc9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/399.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/400.jpg b/harnesses/gtauri/frontend/dist/img/400.jpg deleted file mode 100644 index 85b71c4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/400.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/401.jpg b/harnesses/gtauri/frontend/dist/img/401.jpg deleted file mode 100644 index 4a7390b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/401.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/402.jpg b/harnesses/gtauri/frontend/dist/img/402.jpg deleted file mode 100644 index 014401a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/402.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/403.jpg b/harnesses/gtauri/frontend/dist/img/403.jpg deleted file mode 100644 index 334065c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/403.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/404.jpg b/harnesses/gtauri/frontend/dist/img/404.jpg deleted file mode 100644 index 6b7940d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/404.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/405.jpg b/harnesses/gtauri/frontend/dist/img/405.jpg deleted file mode 100644 index 9bf0198..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/405.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/406.jpg b/harnesses/gtauri/frontend/dist/img/406.jpg deleted file mode 100644 index 487f829..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/406.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/407.jpg b/harnesses/gtauri/frontend/dist/img/407.jpg deleted file mode 100644 index 6dedb51..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/407.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/408.jpg b/harnesses/gtauri/frontend/dist/img/408.jpg deleted file mode 100644 index 7e3fac7..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/408.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/409.jpg b/harnesses/gtauri/frontend/dist/img/409.jpg deleted file mode 100644 index 6331c92..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/409.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/410.jpg b/harnesses/gtauri/frontend/dist/img/410.jpg deleted file mode 100644 index 33cab35..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/410.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/411.jpg b/harnesses/gtauri/frontend/dist/img/411.jpg deleted file mode 100644 index aaf8ab2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/411.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/412.jpg b/harnesses/gtauri/frontend/dist/img/412.jpg deleted file mode 100644 index ea50821..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/412.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/413.jpg b/harnesses/gtauri/frontend/dist/img/413.jpg deleted file mode 100644 index 1b7f589..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/413.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/414.jpg b/harnesses/gtauri/frontend/dist/img/414.jpg deleted file mode 100644 index c686a80..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/414.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/415.jpg b/harnesses/gtauri/frontend/dist/img/415.jpg deleted file mode 100644 index d0f3971..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/415.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/416.jpg b/harnesses/gtauri/frontend/dist/img/416.jpg deleted file mode 100644 index 2760508..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/416.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/417.jpg b/harnesses/gtauri/frontend/dist/img/417.jpg deleted file mode 100644 index 1018bb0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/417.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/418.jpg b/harnesses/gtauri/frontend/dist/img/418.jpg deleted file mode 100644 index 51fe9e1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/418.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/419.jpg b/harnesses/gtauri/frontend/dist/img/419.jpg deleted file mode 100644 index 1ed34a8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/419.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/420.jpg b/harnesses/gtauri/frontend/dist/img/420.jpg deleted file mode 100644 index 482d2c1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/420.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/421.jpg b/harnesses/gtauri/frontend/dist/img/421.jpg deleted file mode 100644 index f42b0cc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/421.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/422.jpg b/harnesses/gtauri/frontend/dist/img/422.jpg deleted file mode 100644 index 690f2ba..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/422.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/423.jpg b/harnesses/gtauri/frontend/dist/img/423.jpg deleted file mode 100644 index 8dc0c7a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/423.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/424.jpg b/harnesses/gtauri/frontend/dist/img/424.jpg deleted file mode 100644 index 9cb7c5c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/424.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/425.jpg b/harnesses/gtauri/frontend/dist/img/425.jpg deleted file mode 100644 index c152953..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/425.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/426.jpg b/harnesses/gtauri/frontend/dist/img/426.jpg deleted file mode 100644 index 338804e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/426.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/427.jpg b/harnesses/gtauri/frontend/dist/img/427.jpg deleted file mode 100644 index aa29859..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/427.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/428.jpg b/harnesses/gtauri/frontend/dist/img/428.jpg deleted file mode 100644 index dcd95a1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/428.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/429.jpg b/harnesses/gtauri/frontend/dist/img/429.jpg deleted file mode 100644 index 54da97f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/429.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/430.jpg b/harnesses/gtauri/frontend/dist/img/430.jpg deleted file mode 100644 index e5df583..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/430.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/431.jpg b/harnesses/gtauri/frontend/dist/img/431.jpg deleted file mode 100644 index 42d391f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/431.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/432.jpg b/harnesses/gtauri/frontend/dist/img/432.jpg deleted file mode 100644 index 27651ae..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/432.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/433.jpg b/harnesses/gtauri/frontend/dist/img/433.jpg deleted file mode 100644 index eb97725..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/433.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/434.jpg b/harnesses/gtauri/frontend/dist/img/434.jpg deleted file mode 100644 index fc5756b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/434.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/435.jpg b/harnesses/gtauri/frontend/dist/img/435.jpg deleted file mode 100644 index ca1dff0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/435.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/436.jpg b/harnesses/gtauri/frontend/dist/img/436.jpg deleted file mode 100644 index c3ada24..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/436.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/437.jpg b/harnesses/gtauri/frontend/dist/img/437.jpg deleted file mode 100644 index 1f54cae..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/437.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/438.jpg b/harnesses/gtauri/frontend/dist/img/438.jpg deleted file mode 100644 index bbd514b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/438.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/439.jpg b/harnesses/gtauri/frontend/dist/img/439.jpg deleted file mode 100644 index bfca1e1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/439.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/440.jpg b/harnesses/gtauri/frontend/dist/img/440.jpg deleted file mode 100644 index 88d648d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/440.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/441.jpg b/harnesses/gtauri/frontend/dist/img/441.jpg deleted file mode 100644 index 0884013..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/441.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/442.jpg b/harnesses/gtauri/frontend/dist/img/442.jpg deleted file mode 100644 index ce8d5d3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/442.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/443.jpg b/harnesses/gtauri/frontend/dist/img/443.jpg deleted file mode 100644 index 76cd821..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/443.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/444.jpg b/harnesses/gtauri/frontend/dist/img/444.jpg deleted file mode 100644 index f9d50b3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/444.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/445.jpg b/harnesses/gtauri/frontend/dist/img/445.jpg deleted file mode 100644 index bd913a0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/445.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/446.jpg b/harnesses/gtauri/frontend/dist/img/446.jpg deleted file mode 100644 index 2294da6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/446.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/447.jpg b/harnesses/gtauri/frontend/dist/img/447.jpg deleted file mode 100644 index c0aafe4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/447.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/448.jpg b/harnesses/gtauri/frontend/dist/img/448.jpg deleted file mode 100644 index 874f7ee..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/448.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/449.jpg b/harnesses/gtauri/frontend/dist/img/449.jpg deleted file mode 100644 index fea9a9c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/449.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/450.jpg b/harnesses/gtauri/frontend/dist/img/450.jpg deleted file mode 100644 index be98c80..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/450.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/451.jpg b/harnesses/gtauri/frontend/dist/img/451.jpg deleted file mode 100644 index cbde60b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/451.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/452.jpg b/harnesses/gtauri/frontend/dist/img/452.jpg deleted file mode 100644 index a064371..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/452.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/453.jpg b/harnesses/gtauri/frontend/dist/img/453.jpg deleted file mode 100644 index bd054fb..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/453.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/454.jpg b/harnesses/gtauri/frontend/dist/img/454.jpg deleted file mode 100644 index 4bec89a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/454.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/455.jpg b/harnesses/gtauri/frontend/dist/img/455.jpg deleted file mode 100644 index befa218..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/455.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/456.jpg b/harnesses/gtauri/frontend/dist/img/456.jpg deleted file mode 100644 index b317b3a..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/456.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/457.jpg b/harnesses/gtauri/frontend/dist/img/457.jpg deleted file mode 100644 index 2fbe006..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/457.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/458.jpg b/harnesses/gtauri/frontend/dist/img/458.jpg deleted file mode 100644 index c04d8e2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/458.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/459.jpg b/harnesses/gtauri/frontend/dist/img/459.jpg deleted file mode 100644 index 21455aa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/459.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/460.jpg b/harnesses/gtauri/frontend/dist/img/460.jpg deleted file mode 100644 index f864942..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/460.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/461.jpg b/harnesses/gtauri/frontend/dist/img/461.jpg deleted file mode 100644 index a57d3dc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/461.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/462.jpg b/harnesses/gtauri/frontend/dist/img/462.jpg deleted file mode 100644 index 845c1b0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/462.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/463.jpg b/harnesses/gtauri/frontend/dist/img/463.jpg deleted file mode 100644 index d3f28e6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/463.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/464.jpg b/harnesses/gtauri/frontend/dist/img/464.jpg deleted file mode 100644 index 25ba8ca..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/464.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/465.jpg b/harnesses/gtauri/frontend/dist/img/465.jpg deleted file mode 100644 index b99fd87..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/465.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/466.jpg b/harnesses/gtauri/frontend/dist/img/466.jpg deleted file mode 100644 index 760ef49..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/466.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/467.jpg b/harnesses/gtauri/frontend/dist/img/467.jpg deleted file mode 100644 index 5386687..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/467.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/468.jpg b/harnesses/gtauri/frontend/dist/img/468.jpg deleted file mode 100644 index 0f44316..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/468.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/469.jpg b/harnesses/gtauri/frontend/dist/img/469.jpg deleted file mode 100644 index 068cf71..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/469.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/470.jpg b/harnesses/gtauri/frontend/dist/img/470.jpg deleted file mode 100644 index c43181d..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/470.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/471.jpg b/harnesses/gtauri/frontend/dist/img/471.jpg deleted file mode 100644 index 624f674..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/471.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/472.jpg b/harnesses/gtauri/frontend/dist/img/472.jpg deleted file mode 100644 index 69edde1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/472.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/473.jpg b/harnesses/gtauri/frontend/dist/img/473.jpg deleted file mode 100644 index 41fd3d0..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/473.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/474.jpg b/harnesses/gtauri/frontend/dist/img/474.jpg deleted file mode 100644 index 85a558e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/474.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/475.jpg b/harnesses/gtauri/frontend/dist/img/475.jpg deleted file mode 100644 index 0127bf8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/475.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/476.jpg b/harnesses/gtauri/frontend/dist/img/476.jpg deleted file mode 100644 index 4154ee8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/476.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/477.jpg b/harnesses/gtauri/frontend/dist/img/477.jpg deleted file mode 100644 index ece16a4..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/477.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/478.jpg b/harnesses/gtauri/frontend/dist/img/478.jpg deleted file mode 100644 index b09d5fb..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/478.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/479.jpg b/harnesses/gtauri/frontend/dist/img/479.jpg deleted file mode 100644 index c115098..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/479.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/480.jpg b/harnesses/gtauri/frontend/dist/img/480.jpg deleted file mode 100644 index 9d1f10b..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/480.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/481.jpg b/harnesses/gtauri/frontend/dist/img/481.jpg deleted file mode 100644 index 061b1ef..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/481.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/482.jpg b/harnesses/gtauri/frontend/dist/img/482.jpg deleted file mode 100644 index 4fb1efa..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/482.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/483.jpg b/harnesses/gtauri/frontend/dist/img/483.jpg deleted file mode 100644 index 2a5e948..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/483.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/484.jpg b/harnesses/gtauri/frontend/dist/img/484.jpg deleted file mode 100644 index 97b2509..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/484.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/485.jpg b/harnesses/gtauri/frontend/dist/img/485.jpg deleted file mode 100644 index ea99275..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/485.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/486.jpg b/harnesses/gtauri/frontend/dist/img/486.jpg deleted file mode 100644 index 7ef6fcd..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/486.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/487.jpg b/harnesses/gtauri/frontend/dist/img/487.jpg deleted file mode 100644 index 65abca3..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/487.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/488.jpg b/harnesses/gtauri/frontend/dist/img/488.jpg deleted file mode 100644 index b92094c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/488.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/489.jpg b/harnesses/gtauri/frontend/dist/img/489.jpg deleted file mode 100644 index 351cbf9..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/489.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/490.jpg b/harnesses/gtauri/frontend/dist/img/490.jpg deleted file mode 100644 index 4105514..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/490.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/491.jpg b/harnesses/gtauri/frontend/dist/img/491.jpg deleted file mode 100644 index bacb54c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/491.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/492.jpg b/harnesses/gtauri/frontend/dist/img/492.jpg deleted file mode 100644 index 3d0c206..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/492.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/493.jpg b/harnesses/gtauri/frontend/dist/img/493.jpg deleted file mode 100644 index dfa529c..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/493.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/494.jpg b/harnesses/gtauri/frontend/dist/img/494.jpg deleted file mode 100644 index 0056598..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/494.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/495.jpg b/harnesses/gtauri/frontend/dist/img/495.jpg deleted file mode 100644 index 9d07e39..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/495.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/496.jpg b/harnesses/gtauri/frontend/dist/img/496.jpg deleted file mode 100644 index 7586381..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/496.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/497.jpg b/harnesses/gtauri/frontend/dist/img/497.jpg deleted file mode 100644 index 0100009..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/497.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/498.jpg b/harnesses/gtauri/frontend/dist/img/498.jpg deleted file mode 100644 index 48f32f1..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/498.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/499.jpg b/harnesses/gtauri/frontend/dist/img/499.jpg deleted file mode 100644 index 149ee05..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/499.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/500.jpg b/harnesses/gtauri/frontend/dist/img/500.jpg deleted file mode 100644 index 8029d46..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/500.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/501.jpg b/harnesses/gtauri/frontend/dist/img/501.jpg deleted file mode 100644 index a5b0981..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/501.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/502.jpg b/harnesses/gtauri/frontend/dist/img/502.jpg deleted file mode 100644 index 4786965..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/502.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/503.jpg b/harnesses/gtauri/frontend/dist/img/503.jpg deleted file mode 100644 index cbe1a9f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/503.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/504.jpg b/harnesses/gtauri/frontend/dist/img/504.jpg deleted file mode 100644 index c38675e..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/504.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/505.jpg b/harnesses/gtauri/frontend/dist/img/505.jpg deleted file mode 100644 index acda32f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/505.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/506.jpg b/harnesses/gtauri/frontend/dist/img/506.jpg deleted file mode 100644 index 293f846..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/506.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/507.jpg b/harnesses/gtauri/frontend/dist/img/507.jpg deleted file mode 100644 index 11965d2..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/507.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/508.jpg b/harnesses/gtauri/frontend/dist/img/508.jpg deleted file mode 100644 index eb56ec6..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/508.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/509.jpg b/harnesses/gtauri/frontend/dist/img/509.jpg deleted file mode 100644 index f00bcc8..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/509.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/510.jpg b/harnesses/gtauri/frontend/dist/img/510.jpg deleted file mode 100644 index c8cb6fc..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/510.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/img/511.jpg b/harnesses/gtauri/frontend/dist/img/511.jpg deleted file mode 100644 index 3e8357f..0000000 Binary files a/harnesses/gtauri/frontend/dist/img/511.jpg and /dev/null differ diff --git a/harnesses/gtauri/frontend/dist/index.html b/harnesses/gtauri/frontend/dist/index.html index 178b24c..a82a890 100644 --- a/harnesses/gtauri/frontend/dist/index.html +++ b/harnesses/gtauri/frontend/dist/index.html @@ -95,6 +95,7 @@ const vimg = document.getElementById("vimg"); const vload = document.getElementById("vload"); let total = 0, loaded = 0, lastSig = "", scanning = false; +const imgById = new Map(); // id -> (for thumb-ready re-requests) function statusLine() { stext.textContent = total + " photos" + @@ -109,6 +110,7 @@ function rebuild(ids, isScanning, found) { scanning = isScanning; total = ids.length; loaded = 0; grid.replaceChildren(); + imgById.clear(); const frag = document.createDocumentFragment(); for (const id of ids) { const c = document.createElement("div"); @@ -116,21 +118,130 @@ function rebuild(ids, isScanning, found) { const im = new Image(); im.loading = "lazy"; im.decoding = "async"; - im.src = "http://gallery.localhost/thumb/" + id; - im.addEventListener("load", () => { loaded++; statusLine(); }); + im.dataset.url = "http://gallery.localhost/thumb/" + id; + im.__ph = false, im.__retry = 0, im.__lazy = true; + im.src = im.dataset.url; + imgById.set(id, im); + im.addEventListener("load", () => { + // naturalWidth 1 => the Rust placeholder, not a real thumb + if (im.naturalWidth > 2) { loaded++; statusLine(); } + else if (im.__retry < 4) { + im.__retry++; + jlog("js ph-load id=" + id + " retry=" + im.__retry); + // safety net in case thumb-ready was lost (page rebuild race) + setTimeout(() => { + if (!im.complete || im.naturalWidth <= 2) { + // Skip cells far outside the viewport — a fast scroll pass + // leaves hundreds of cold cells behind; re-requesting them + // all would flood the queue with junk the user cannot see. + const r = im.getBoundingClientRect(); + if (r.bottom < -innerHeight || r.top > 2 * innerHeight) return; + jlog("js retry id=" + id + " v=" + im.__retry); + im.src = im.dataset.url + "?v=" + im.__retry; + } + }, 1500); + } + }); im.addEventListener("click", () => openViewer(id)); c.appendChild(im); frag.appendChild(c); } grid.appendChild(frag); statusLine(); + eagerBand(); } +/* -------- scroll anchor for Rust-side thumbnail prefetch -------------- + Tell Rust where the viewport is (throttled to ~7 Hz); the Rust worker + pre-decodes the rows ahead of us so fast scrolls hit a warm cache. */ +let rowH = 0, lastAnchor = 0, anchorSent = false, anchorTrail = null; +function sendAnchor(force) { + const now = performance.now(); + if (!force && now - lastAnchor < 150) { + // Throttled tick: schedule a TRAILING send so the final scroll + // position is never left unreported (a stale anchor makes Rust + // drop fresh urgent work as "off-screen"). + if (!anchorTrail) { + anchorTrail = setTimeout(() => { + anchorTrail = null; + sendAnchor(true); + }, 160); + } + return; + } + lastAnchor = now; + if (rowH === 0) { + const c = grid.querySelector(".cell"); + if (c) rowH = c.getBoundingClientRect().height + 4; // + grid gap + } + if (rowH > 0) { + const a = Math.floor(window.scrollY / rowH) * 3; + anchorSent = true; + try { + window.__TAURI__.event.emit("gtauri-scroll", { a: a }); + window.__TAURI__.event.emit("gtauri-log", "js anchor a=" + a + " y=" + Math.round(window.scrollY)); + } catch (e) {} + eagerBand(); + } +} + +/* Force the visible band + next screen to load NOW (bypass Chromium's + lazy-loader intersection delay after a fast jump). Far cells stay lazy. */ +function eagerBand() { + if (rowH === 0) return; + const i0 = Math.max(0, Math.floor((window.scrollY - innerHeight) / rowH) * 3 - 3); + const i1 = Math.min(total, Math.ceil((window.scrollY + 2.2 * innerHeight) / rowH) * 3 + 3); + const kids = grid.children; + let forced = 0; + for (let i = i0; i < i1; i++) { + const im = kids[i] && kids[i].firstElementChild; + if (im && !im.complete) { + im.loading = "eager"; + if (im.__lazy) { im.__lazy = false; forced++; } + } + } + if (forced > 0) jlog("js eager forced=" + forced + " range=[" + i0 + "," + i1 + "]"); +} +function jlog(s) { + try { window.__TAURI__.event.emit("gtauri-log", s); } catch (e) {} +} +addEventListener("scroll", () => sendAnchor(false), { passive: true }); + try { window.__TAURI__.event.listen("gallery-files", (e) => { const p = e.payload || {}; rebuild(p.ids || [], !!p.scanning, p.found || 0); }); + // first anchor (top of grid) — Rust also warms 0..36 on its side. + setTimeout(() => sendAnchor(true), 300); + // Cold-miss round-trip: Rust served a 1x1 placeholder and queued the real + // decode off the main thread; when it lands, re-request (now a mem hit). + window.__TAURI__.event.listen("thumb-ready", (e) => { + const id = e.payload.id; + const im = imgById.get(id); + if (!im) return; + if (im.naturalWidth <= 2) { + jlog("js ready id=" + id + " v=" + (im.__retry + 1)); + im.src = im.dataset.url + "?v=" + (++im.__retry); + } + }); + // Full-res read finished (worker thread) — re-request; now a mem hit. + window.__TAURI__.event.listen("full-ready", (e) => { + const id = e.payload.id; + if (viewerId === id && !vFullDone) { + jlog("js full-ready id=" + id); + tryShow(id, "http://gallery.localhost/full/" + id + "?v=f" + (++vFullSeq), true); + } + }); + // Android back: registering ANY "back-button" listener makes Tauri route + // the press here instead of finishing the activity (see AppPlugin.kt). + window.__TAURI__.app.onBackButtonPress(() => { + if (viewer.classList.contains("open")) { + closeViewer(); + } else { + window.__TAURI__.app.exit(0); + } + }); } catch (err) { stext.textContent = "no tauri bridge: " + err; } /* ---------------- frame-rate logger (FR lines for tools/fr_capture.py) ---- */ @@ -163,25 +274,71 @@ function vApply() { "translate(" + (vTx - base.w * vScale / 2) + "px," + (vTy - base.h * vScale / 2) + "px) scale(" + vScale + ")"; } +let viewerId = null, vFullTimer = null, vFullDone = false, vFullSeq = 0; + +function fitViewer(w, h) { + base.w = w; base.h = h; + vScale = Math.min(innerWidth / w, innerHeight / h); + vimg.style.width = w + "px"; + vimg.style.height = h + "px"; + vimg.style.visibility = "visible"; + vload.textContent = ""; + vApply(); +} + +/// Fetch url and, if it is REAL image bytes (not the 1x1 placeholder), +/// promote it into the viewer. +function tryShow(id, url, isFull) { + const im = new Image(); + im.addEventListener("load", () => { + if (viewerId !== id) return; + if (im.naturalWidth <= 2) return; // placeholder — wait for the ready event + vimg.src = im.src; + fitViewer(im.naturalWidth, im.naturalHeight); + if (isFull) { + vFullDone = true; + if (vFullTimer) { clearInterval(vFullTimer); vFullTimer = null; } + } + }); + im.src = url; +} + function openViewer(id) { + viewerId = id; + vFullDone = false; + vScale = 1; vTx = 0; vTy = 0; vload.textContent = "loading…"; vimg.style.visibility = "hidden"; - vScale = 1; vTx = 0; vTy = 0; - vimg.onload = () => { - base.w = vimg.naturalWidth; base.h = vimg.naturalHeight; - const s = Math.min(innerWidth / base.w, innerHeight / base.h); - vScale = s; - vimg.style.width = base.w + "px"; - vimg.style.height = base.h + "px"; - vimg.style.visibility = "visible"; - vload.textContent = ""; - vApply(); - }; - vimg.src = "http://gallery.localhost/full/" + id; + // 1) INSTANT: the grid thumb (served from the Rust mem cache, ~1 ms). + // Same aspect ratio as the full image — the fit stays valid. + tryShow(id, "http://gallery.localhost/thumb/" + id, false); + // 2) Full-res: Rust reads the file OFF the main thread; the first + // request gets the placeholder, `full-ready` triggers the swap. + tryShow(id, "http://gallery.localhost/full/" + id, true); + // 3) Safety net in case the ready event is ever lost. + if (vFullTimer) clearInterval(vFullTimer); + vFullTimer = setInterval(() => { + if (viewerId !== id || vFullDone) { + if (vFullTimer) { clearInterval(vFullTimer); vFullTimer = null; } + return; + } + if (++vFullSeq > 10) { + if (vFullTimer) { clearInterval(vFullTimer); vFullTimer = null; } + // Corrupt/unreadable file: stop saying "loading…" forever. + if (viewerId === id && vimg.naturalWidth <= 2) { + vload.textContent = "image unavailable"; + } + return; + } + tryShow(id, "http://gallery.localhost/full/" + id + "?v=" + vFullSeq, true); + }, 400); viewer.classList.add("open"); } function closeViewer() { + viewerId = null; + vFullDone = false; + if (vFullTimer) { clearInterval(vFullTimer); vFullTimer = null; } viewer.classList.remove("open"); vimg.src = ""; } diff --git a/harnesses/gtauri/gen/android/app/build.gradle.kts b/harnesses/gtauri/gen/android/app/build.gradle.kts index a976f7d..98813bb 100644 --- a/harnesses/gtauri/gen/android/app/build.gradle.kts +++ b/harnesses/gtauri/gen/android/app/build.gradle.kts @@ -25,6 +25,12 @@ android { versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt() versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0") } + lint { + // personal-device test builds: debuggable flag is intentional + abortOnError = false + checkReleaseBuilds = false + } + buildTypes { getByName("debug") { manifestPlaceholders["usesCleartextTraffic"] = "true" diff --git a/harnesses/gtauri/gen/android/app/src/main/AndroidManifest.xml b/harnesses/gtauri/gen/android/app/src/main/AndroidManifest.xml index baf36cc..6c5d382 100644 --- a/harnesses/gtauri/gen/android/app/src/main/AndroidManifest.xml +++ b/harnesses/gtauri/gen/android/app/src/main/AndroidManifest.xml @@ -9,6 +9,7 @@ Result Result { match path.extension().and_then(|e| e.to_str()).map(|e| e.to_ascii_lowercase()) { - Some(ref ext) if ext == "jpg" || ext == "jpeg" => thumb_jpeg(path, target), - Some(ref ext) if ext == "png" => thumb_png(path, target), - _ => Err(format!("unsupported type: {}", path.display())), + Some(ref ext) if ext == "jpg" || ext == "jpeg" => { + thumb_jpeg(path, target).or_else(|e| { + generic_decode(path, target).map_err(|ge| format!("{e}; fallback: {ge}")) + }) + } + _ => generic_decode(path, target), } } +/// Format-guessing decode (webp, gif, png, …) for non-turbojpeg files. +pub fn generic_decode(path: &Path, target: u32) -> Result { + let img = image::ImageReader::open(path) + .map_err(|e| format!("open {}: {e}", path.display()))? + .with_guessed_format() + .map_err(|e| format!("format: {e}"))? + .decode() + .map_err(|e| format!("decode {}: {e}", path.display()))?; + let rgb = img.to_rgb8(); + let (w, h) = (rgb.width(), rgb.height()); + Ok(fit_to_target(rgb.into_raw(), w, h, target, w, h, 1)) +} + fn thumb_jpeg(path: &Path, target: u32) -> Result { let data = std::fs::read(path).map_err(|e| format!("read {}: {e}", path.display()))?; let mut d = Decompressor::new().map_err(|e| e.to_string())?; diff --git a/harnesses/gtauri/src/lib.rs b/harnesses/gtauri/src/lib.rs index 4ba2253..e5869c6 100644 --- a/harnesses/gtauri/src/lib.rs +++ b/harnesses/gtauri/src/lib.rs @@ -14,13 +14,13 @@ //! prefetch queue, no worker pool — Chromium asks for exactly what the //! viewport is about to show. -use std::collections::HashMap; +use std::collections::{HashMap, HashSet, VecDeque}; use std::path::{Path, PathBuf}; use std::sync::atomic::{AtomicUsize, Ordering}; -use std::sync::{mpsc, LazyLock, Mutex, RwLock}; +use std::sync::{mpsc, LazyLock, Mutex, RwLock, Condvar}; use log::{Level, LevelFilter, Log, Metadata, Record}; -use serde::Serialize; +use serde::{Deserialize, Serialize}; use tauri::Emitter as _; use tauri::Listener as _; @@ -34,10 +34,10 @@ mod scan; #[cfg(target_os = "android")] const ANDROID_PACKAGE: &str = "wow.gmp.gallery"; -/// Grid thumbnail longest side (px). Grid cells are ~420 css px at dpr ~2.75 -/// on the Pixel 9 Pro (~1150 device px); 1024 keeps the decode + cache -/// small and is still sharp in the cell. -const THUMB_TARGET: u32 = 1024; +/// Grid thumbnail longest side (px). Cells are ~410 device px wide on the +/// Pixel 9 Pro (1280 / 3 cols); 512 is sharp at cell size while letting a +/// 48 MP photo decode at 1/8 DCT scale instead of 1/4 (4x cheaper). +const THUMB_TARGET: u32 = 512; const THUMB_QUALITY: u8 = 82; /// One image known to the app. `id` is the DB rowid (stable per row). @@ -64,6 +64,297 @@ static FR_TX: Mutex>> = Mutex::new(None); /// reported on the IMG status line. static CACHE_HITS: AtomicUsize = AtomicUsize::new(0); +// --------------------------------------------------------------------------- +// thumbnail memory cache + scroll prefetch + +/// In-memory LRU of ENCODED bytes (thumb JPEGs, full-res originals). +/// A mem hit is ~0 ms — the whole point: fast/long scrolls hit cache +/// because the workers raced ahead of the viewport. +struct ByteLru { + cap: u64, + map: HashMap>, + order: VecDeque, + bytes: u64, +} + +impl ByteLru { + fn new(cap: u64) -> Self { + Self { cap, map: HashMap::new(), order: VecDeque::new(), bytes: 0 } + } + fn get(&self, id: i64) -> Option> { + self.map.get(&id).cloned() + } + fn has(&self, id: i64) -> bool { + self.map.contains_key(&id) + } + fn put(&mut self, id: i64, bytes: Vec) { + if let Some(old) = self.map.get(&id) { + self.bytes -= old.len() as u64; + } + self.bytes += bytes.len() as u64; + self.order.push_back(id); + self.map.insert(id, bytes); + while self.bytes > self.cap { + match self.order.pop_front() { + Some(old) => { + if let Some(v) = self.map.remove(&old) { + self.bytes -= v.len() as u64; + } + } + None => break, + } + } + } +} + +static MEM: LazyLock> = + LazyLock::new(|| Mutex::new(ByteLru::new(128 * 1024 * 1024))); // ~5000 encoded thumbs +/// Full-res originals for the viewer: a hit makes openViewer instant even +/// after scrolling far (the file read never touches the main thread). +static FULL_MEM: LazyLock> = + LazyLock::new(|| Mutex::new(ByteLru::new(256 * 1024 * 1024))); + +fn mem_get(id: i64) -> Option> { + MEM.lock().unwrap().get(id) +} + +fn mem_put(id: i64, bytes: Vec) { + MEM.lock().unwrap().put(id, bytes); +} + +/// NORMAL queue: the prefetch window (off-screen, ahead of the viewport). +/// URGENT queue: ids Chromium actually requested (visible band). The worker +/// always drains URGENT first — requested cells jump the off-screen line. +/// +/// WHY A QUEUE AT ALL: wry calls our protocol handler SYNCHRONOUSLY from +/// shouldInterceptRequest on Chromium's MAIN thread (wry RustWebViewClient.kt). +/// Decoding there would serialize ~20 visible cells × 30-100 ms of file read +/// + decode + encode on the main thread (observed: seconds of blank cells +/// after a jump). So the handler returns a 1x1 placeholder instantly on a +/// miss; the worker decodes off-main; JS re-requests on `thumb-ready` and +/// gets a mem hit. wry also forces Cache-Control: no-store on our responses, +/// so the mem cache is effectively the HTTP cache. +/// ONE queue, one lock, one condvar (the classic pattern — the earlier +/// two-queue design stranded urgent items when the worker slept on the +/// other queue's condvar, and a variant holding the urgent lock across the +/// sleep was a straight deadlock). `urgent` jobs (real requests for visible +/// cells) push_front; prefetch jobs push_back. +struct Job { + id: i64, + /// Display-order index — used to DROP stale work: once the viewport + /// has moved STALE_ROWS past a job, that job's cell is far off-screen + /// and decoding it is wasted CPU (a user who fled leaves no backlog). + idx: u32, + urgent: bool, + /// true = full-res read for the viewer, false = grid thumbnail. + full: bool, +} +static Q: LazyLock>> = LazyLock::new(|| Mutex::new(VecDeque::new())); +static Q_CV: LazyLock = LazyLock::new(|| Condvar::new()); +static INFLIGHT: LazyLock>> = LazyLock::new(|| Mutex::new(HashSet::new())); +/// First visible grid cell (display order) — the viewport anchor from JS. +static VPORT: std::sync::atomic::AtomicU32 = std::sync::atomic::AtomicU32::new(0); +/// Jobs farther behind the viewport than this are dropped, not decoded. +const STALE_ROWS: u32 = 60; +/// Hard queue ceiling: beyond this, new urgent work is deferred to the +/// JS 400 ms safety-net retry instead of growing an unbounded backlog. +const Q_CAP: usize = 600; +/// id → display-order index (rebuilt on every emit_files). +static ID_TO_IDX: LazyLock>> = LazyLock::new(|| RwLock::new(HashMap::new())); +/// ids whose file cannot be decoded by ANY decoder (corrupt/mislabeled +/// garbage) — serve the placeholder forever instead of retry loops. +static BROKEN: LazyLock>> = LazyLock::new(|| Mutex::new(HashSet::new())); + +/// 1x1 JPEG in the cell background color (#1c1c22) — served instantly for +/// cold misses; JS swaps in the real bytes when the worker finishes. +static PLACEHOLDER: LazyLock> = LazyLock::new(|| { + let rgb: Vec = vec![28, 28, 34]; + images::encode_jpeg(&rgb, 1, 1, 80).expect("1x1 jpeg") +}); + +/// App handle for worker → webview events (`thumb-ready`). +static APP_HANDLE: LazyLock>> = + LazyLock::new(|| Mutex::new(None)); + +/// Display order (mtime desc, path asc) — same order the grid renders. +/// Prefetch windows are expressed as index ranges into this. +static DISPLAY_IDS: LazyLock>> = LazyLock::new(|| RwLock::new(Vec::new())); + +/// Unique tmp-name suffix so two concurrent decode_and_cache calls (the +/// request path and the prefetch worker can hit the same file) never write +/// the same tmp file. +static TMP_SEQ: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0); + +/// Decode → encode → write disk cache. Called from the REQUEST path (which +/// must be instant — see set_prefetch_window) and from the prefetch worker. +/// No shared lock: a visible-region request never waits on off-screen work. +fn decode_and_cache(meta: &Meta) -> Result, String> { + let cp = thumb_cache_path(&meta.path, meta.mtime, meta.size); + if cp.is_file() { + // Another path (worker or protocol) filled the disk cache just now. + let b = std::fs::read(&cp).map_err(|e| format!("cache read: {e}"))?; + if !b.is_empty() { + return Ok(b); + } + } + let thumb = images::make_thumb(Path::new(&meta.path), THUMB_TARGET) + .map_err(|e| format!("thumb {}: {e}", meta.id))?; + let jpeg = images::encode_jpeg(&thumb.rgb, thumb.width, thumb.height, THUMB_QUALITY) + .map_err(|e| format!("thumb encode {}: {e}", meta.id))?; + // Atomic-ish write: unique tmp then rename (a torn cache file would + // poison the key forever). + let seq = TMP_SEQ.fetch_add(1, Ordering::Relaxed); + let tmp = cp.with_file_name(format!("{}.tmp{}-{}", cp.file_stem().unwrap().to_string_lossy(), std::process::id(), seq)); + std::fs::write(&tmp, &jpeg).map_err(|e| format!("cache write: {e}"))?; + std::fs::rename(&tmp, &cp).map_err(|e| format!("cache rename: {e}"))?; + Ok(jpeg) +} + +/// Set the prefetch window to [lo, hi) — REPLACING whatever is queued. +/// The queue always holds exactly "what is about to be seen": when the +/// viewport jumps, stale off-screen work (any job, urgent or not) is +/// dropped instantly, so a fast scroll can never leave a decode backlog +/// that starves the visible region. +fn set_prefetch_window(lo: usize, hi: usize) { + let ids = DISPLAY_IDS.read().unwrap(); + if ids.is_empty() || lo >= hi { + return; + } + let lo = lo.min(ids.len()); + let hi = hi.min(ids.len()); + if lo >= hi { + return; + } + VPORT.store(lo as u32, Ordering::Relaxed); + let mut q = Q.lock().unwrap(); + let mut inq = INFLIGHT.lock().unwrap(); + // Stale PREFETCH work (far behind the new viewport) is worthless — drop + // it. URGENT jobs (real pending requests) are never dropped here. + let kept = q.len(); + q.retain(|j| { + if j.urgent || j.idx + STALE_ROWS >= lo as u32 { + return true; + } + inq.remove(&j.id); + false + }); + if q.len() != kept { + tr(&format!("window a={lo} drop-stale {}", kept - q.len())); + } + let mut added = false; + for (off, &id) in ids[lo..hi].iter().enumerate() { + if inq.contains(&id) { + continue; // one decode in flight; it will land in mem soon + } + if MEM.lock().unwrap().has(id) { + continue; + } + inq.insert(id); + q.push_back(Job { id, idx: (lo + off) as u32, urgent: false, full: false }); + added = true; + } + if added { + Q_CV.notify_one(); + } +} + +/// Pop the next job, dropping stale ones (far behind the viewport) as we +/// pass them. Blocks on the condvar when the queue is empty. Hold nothing +/// across the block; the wait re-checks under the same lock the pushers +/// use, so no notify can be lost. +fn pop_next() -> Job { + let mut g = Q.lock().unwrap(); + loop { + if g.is_empty() { + g = Q_CV.wait(g).unwrap(); + continue; + } + // Only PREFETCH work is droppable. URGENT jobs are real pending + // requests (JS/Chromium is waiting on them) — even if the viewport + // anchor went stale, they must run. + if let Some(j) = g.front() { + if !j.urgent && j.idx + STALE_ROWS < VPORT.load(Ordering::Relaxed) { + let j = g.pop_front().unwrap(); + INFLIGHT.lock().unwrap().remove(&j.id); + tr(&format!("drop stale id={} idx={}", j.id, j.idx)); + continue; + } + } + return g.pop_front().unwrap(); + } +} + +/// One decode worker (N spawned in setup). Decodes OFF the main thread; +/// emits `thumb-ready` / `full-ready` so JS re-requests (a mem hit, ~1 ms +/// on main). Parallel workers keep up with fast long scrolls: one worker +/// decodes ~3 phones/sec of full-res photos; four decode ~12/sec. +fn decode_worker() { + loop { + let job = pop_next(); + let id = job.id; + tr(&format!("decode {} start full={}", id, job.full)); + let t0 = std::time::Instant::now(); + if let Some(meta) = META.read().unwrap().get(&id).cloned() { + if job.full { + match std::fs::read(&meta.path) { + Ok(bytes) => { + FULL_MEM.lock().unwrap().put(id, bytes); + tr(&format!("full {id} done {:.0}ms", t0.elapsed().as_secs_f64())); + if let Some(app) = APP_HANDLE.lock().unwrap().as_ref() { + let _ = app.emit("full-ready", serde_json::json!({ "id": id })); + } + } + Err(e) => { + log::warn!("full {id}: {e}"); + BROKEN.lock().unwrap().insert(id); + tr(&format!("full {id} BROKEN: {e}")); + if let Some(app) = APP_HANDLE.lock().unwrap().as_ref() { + let _ = app.emit("full-ready", serde_json::json!({ "id": id })); + } + } + } + } else { + match decode_and_cache(&meta) { + Ok(jpeg) => { + mem_put(id, jpeg); + tr(&format!("decode {id} done {:.0}ms", t0.elapsed().as_secs_f64())); + if let Some(app) = APP_HANDLE.lock().unwrap().as_ref() { + let _ = app.emit("thumb-ready", serde_json::json!({ "id": id })); + } + } + Err(e) => { + log::warn!("decode {id}: {e}"); + BROKEN.lock().unwrap().insert(id); + tr(&format!("decode {id} BROKEN: {e}")); + if let Some(app) = APP_HANDLE.lock().unwrap().as_ref() { + let _ = app.emit("thumb-ready", serde_json::json!({ "id": id })); + } + } + } + } + } + INFLIGHT.lock().unwrap().remove(&id); + } +} + +/// Writes a heartbeat line every 2 s. Rust-side liveness: if these stop, +/// the process died; if they continue but req/js lines stop, the webview +/// main thread or renderer is dead. +fn heartbeat() { + let mut n = 0u64; + loop { + let qlen = Q.lock().unwrap().len(); + let memkb = MEM.lock().unwrap().bytes / 1024; + tr(&format!( + "hb n={n} q={qlen} mem={}KB broken={}", + memkb, + BROKEN.lock().unwrap().len() + )); + n += 1; + std::thread::sleep(std::time::Duration::from_secs(2)); + } +} + // --------------------------------------------------------------------------- // logging (logcat on Android — the log crate is invisible without a backend) @@ -207,35 +498,57 @@ fn prune_cache(dir: &Path, max: u64) { // --------------------------------------------------------------------------- // the gallery:// protocol -/// Decode → cache → serve a grid thumbnail for `id`. Returns JPEG bytes. +/// Mem → disk → decode → serve a grid thumbnail for `id`. Returns JPEG +/// bytes. Each tier below is only reached when the one above is cold, and +/// the prefetch worker keeps the top two warm ahead of the viewport. fn serve_thumb(id: i64) -> Result, String> { + tr(&format!("req {id}")); + if let Some(b) = mem_get(id) { + tr(&format!("req {id} hit-mem")); + return Ok(b); + } let meta = { - let m = META.read().unwrap(); - let meta = m.get(&id).cloned().ok_or_else(|| format!("no item {id}"))?; - drop(m); - meta + m.get(&id).cloned().ok_or_else(|| format!("no item {id}"))? }; let cp = thumb_cache_path(&meta.path, meta.mtime, meta.size); if cp.is_file() { CACHE_HITS.fetch_add(1, Ordering::Relaxed); - return std::fs::read(&cp).map_err(|e| format!("cache read: {e}")); + let b = std::fs::read(&cp).map_err(|e| format!("cache read: {e}"))?; + if !b.is_empty() { + mem_put(id, b.clone()); + tr(&format!("req {id} hit-disk")); + return Ok(b); + } } - - let thumb = images::make_thumb(Path::new(&meta.path), THUMB_TARGET) - .map_err(|e| format!("thumb {id}: {e}"))?; - - let jpeg = images::encode_jpeg(&thumb.rgb, thumb.width, thumb.height, THUMB_QUALITY) - .map_err(|e| format!("thumb encode {id}: {e}"))?; - // Atomic-ish write: tmp then rename (a torn cache file would poison - // the key forever). - let tmp = cp.with_extension("tmp"); - std::fs::write(&tmp, &jpeg).map_err(|e| format!("cache write: {e}"))?; - std::fs::rename(&tmp, &cp).map_err(|e| format!("cache rename: {e}"))?; - Ok(jpeg) + // Corrupt file: placeholder forever, no retry loop. + if BROKEN.lock().unwrap().contains(&id) { + tr(&format!("req {id} broken")); + return Ok(PLACEHOLDER.as_slice().to_vec()); + } + // Cold miss: NEVER decode here (main thread!). Queue it URGENT (front + // of the queue) and return the 1x1 placeholder in ~1 ms. The worker + // emits `thumb-ready`; JS re-requests; that hit is instant. + let idx = ID_TO_IDX.read().unwrap().get(&id).copied().unwrap_or(u32::MAX); + { + let mut q = Q.lock().unwrap(); + let mut inq = INFLIGHT.lock().unwrap(); + if !inq.contains(&id) && q.len() < Q_CAP { + inq.insert(id); + q.push_front(Job { id, idx, urgent: true, full: false }); + } + } + Q_CV.notify_one(); + tr(&format!("req {id} placeholder")); + Ok(PLACEHOLDER.as_slice().to_vec()) } -/// Serve the original file (viewer). Content type from the extension. +/// Serve the original file (viewer). NEVER reads the file on the main +/// thread: a 30-50 MB flash read there would freeze the whole WebView. +/// Mem hit → real bytes; miss → enqueue an urgent FULL job (front of the +/// queue, ahead of any grid work) + 1x1 placeholder. JS already showed +/// the grid thumb; when the read lands it swaps in the full-res on +/// `full-ready`. fn serve_full(id: i64) -> Result<(Vec, &'static str), String> { let meta = META.read().unwrap().get(&id).cloned().ok_or_else(|| format!("no item {id}"))?; let ct = match meta.path.rsplit('.').next().unwrap_or("").to_ascii_lowercase().as_str() { @@ -244,8 +557,25 @@ fn serve_full(id: i64) -> Result<(Vec, &'static str), String> { "gif" => "image/gif", _ => "image/jpeg", }; - let bytes = std::fs::read(&meta.path).map_err(|e| format!("read {}: {e}", meta.path))?; - Ok((bytes, ct)) + if BROKEN.lock().unwrap().contains(&id) { + return Ok((PLACEHOLDER.as_slice().to_vec(), "image/jpeg")); + } + if let Some(b) = FULL_MEM.lock().unwrap().get(id) { + tr(&format!("full {id} hit-mem")); + return Ok((b, ct)); + } + tr(&format!("full {id} placeholder")); + let idx = ID_TO_IDX.read().unwrap().get(&id).copied().unwrap_or(u32::MAX); + { + let mut q = Q.lock().unwrap(); + let mut inq = INFLIGHT.lock().unwrap(); + if !inq.contains(&id) && q.len() < Q_CAP { + inq.insert(id); + q.push_front(Job { id, idx, urgent: true, full: true }); + } + } + Q_CV.notify_one(); + Ok((PLACEHOLDER.as_slice().to_vec(), "image/jpeg")) } /// `gallery://thumb/` and `gallery://full/`. @@ -317,6 +647,9 @@ fn emit_files(app: &tauri::AppHandle, scanning: bool, found: usize) { v.sort_by(|a, b| b.mtime.cmp(&a.mtime).then_with(|| a.path.cmp(&b.path))); v.into_iter().map(|x| x.id).collect() }; + *DISPLAY_IDS.write().unwrap() = ids.clone(); + *ID_TO_IDX.write().unwrap() = + ids.iter().enumerate().map(|(i, &id)| (id, i as u32)).collect(); let _ = app.emit("gallery-files", FileList { ids, scanning, found }); } @@ -420,9 +753,43 @@ pub fn run() { } }); let _ = app.listen("gtauri-log", |event| { - let _ = event; + // JS-side trace lines (JSON-encoded string payload) + let s = serde_json::from_str::(event.payload()) + .unwrap_or_else(|_| event.payload().to_string()); + tr(&s); }); + // Scroll anchor from JS (throttled to ~7 Hz): `a` = index of the + // first visible grid cell. REPLACES the prefetch window with + // [a, a+60) — the visible band plus ~13 rows ahead. Stale + // off-screen work from a previous position is dropped, never + // allowed to run ahead of what is about to be seen. + let _ = app.listen("gtauri-scroll", |event| { + #[derive(Deserialize)] + struct Anchor { + a: usize, + } + if let Ok(x) = serde_json::from_str::(event.payload()) { + tr(&format!("anchor a={}", x.a)); + // Window starts AT the first visible row, not behind it: + // Chromium's lazy loader can lag a fast jump by a beat, + // and the workers warming the visible band make those + // requests pure mem hits. (Warm cells dedupe out.) + // set_prefetch_window also VPORTs and drops all work + // left more than STALE_ROWS behind the new position. + set_prefetch_window(x.a, x.a + 60); + } + }); + + *APP_HANDLE.lock().unwrap() = Some(handle.clone()); + // Parallel decode pool: one worker could not keep up with a + // fast long scroll (observed 2400-deep backlog draining at + // ~3 cells/s). Four workers decode ~12 full-res photos/s. + for _ in 0..4 { + std::thread::spawn(decode_worker); + } + std::thread::spawn(heartbeat); + // Cache prune on startup (cheap: one readdir). std::thread::spawn(|| prune_cache(&thumbs_dir(), THUMB_CACHE_MAX)); @@ -438,6 +805,9 @@ pub fn run() { Err(e) => log::warn!("no DB yet ({e}); scan will create it"), } emit_files(&handle, true, META.read().unwrap().len()); + // Warm the first two screens before Chromium's lazy loader gets + // to them (it requests ~30 at once; we'd rather be ahead). + set_prefetch_window(0, 36); spawn_scan(handle); Ok(()) diff --git a/harnesses/gtauri/src/scan.rs b/harnesses/gtauri/src/scan.rs index 8a39bdd..70a5141 100644 --- a/harnesses/gtauri/src/scan.rs +++ b/harnesses/gtauri/src/scan.rs @@ -79,6 +79,13 @@ fn walk_dir(dir: &Path, out: &mut Vec, on_batch: &dyn Fn(&[Entry])) { if !ft.is_file() { continue; } + // OS junk that masquerades as photos: macOS AppleDouble + // resource forks ("._IMG…jpg"), hidden files, .DS_Store, … + // Not decodable — they render as permanent gray cells. + let name = p.file_name().and_then(|n| n.to_str()).unwrap_or(""); + if name.starts_with('.') { + continue; + } let Some(ext) = p.extension().and_then(|e| e.to_str()) else { continue }; if !IMAGE_EXTS.contains(&ext.to_ascii_lowercase().as_str()) { continue;