From 1cd5633eadb873c01d1f769543dabee65c733fd6 Mon Sep 17 00:00:00 2001 From: thomasrosen Date: Fri, 3 Jun 2022 21:11:36 +0000 Subject: [PATCH] thomasrosen published a site update --- asset-manifest.json | 182 +++++++++--------- index.html | 2 +- ...7554859c.chunk.js => 10.43570e7a.chunk.js} | 4 +- ....chunk.js.map => 10.43570e7a.chunk.js.map} | 2 +- ...662f47d4.chunk.js => 11.a52dc3cd.chunk.js} | 4 +- ....chunk.js.map => 11.a52dc3cd.chunk.js.map} | 2 +- ...e0db30d8.chunk.js => 12.868e58c4.chunk.js} | 4 +- ....chunk.js.map => 12.868e58c4.chunk.js.map} | 2 +- static/js/3.108d564c.chunk.js | 2 - static/js/3.ada86bf4.chunk.js | 2 + ...c.chunk.js.map => 3.ada86bf4.chunk.js.map} | 2 +- static/js/30.135a7f1e.chunk.js | 2 + static/js/30.135a7f1e.chunk.js.map | 1 + static/js/31.fa20935c.chunk.js | 2 + static/js/31.fa20935c.chunk.js.map | 1 + ...247d62e9.chunk.js => 32.28c1b4e8.chunk.js} | 4 +- ....chunk.js.map => 32.28c1b4e8.chunk.js.map} | 2 +- ...9147ffc8.chunk.js => 33.b5f395c1.chunk.js} | 4 +- ....chunk.js.map => 33.b5f395c1.chunk.js.map} | 2 +- ...fe730829.chunk.js => 34.65b89421.chunk.js} | 4 +- ....chunk.js.map => 34.65b89421.chunk.js.map} | 2 +- ...dd9ab2c2.chunk.js => 35.9c5923eb.chunk.js} | 4 +- ....chunk.js.map => 35.9c5923eb.chunk.js.map} | 2 +- ...a4383948.chunk.js => 36.32a85159.chunk.js} | 4 +- ....chunk.js.map => 36.32a85159.chunk.js.map} | 2 +- ...d3fef40f.chunk.js => 37.faff34f4.chunk.js} | 4 +- ....chunk.js.map => 37.faff34f4.chunk.js.map} | 2 +- ...335a2700.chunk.js => 38.b29e18af.chunk.js} | 4 +- ....chunk.js.map => 38.b29e18af.chunk.js.map} | 2 +- ...3d8d5f65.chunk.js => 39.c11b2331.chunk.js} | 4 +- ....chunk.js.map => 39.c11b2331.chunk.js.map} | 2 +- static/js/4.0ebae24f.chunk.js | 2 + ...0.chunk.js.map => 4.0ebae24f.chunk.js.map} | 2 +- static/js/4.41036e10.chunk.js | 2 - ...f1df755b.chunk.js => 40.33529392.chunk.js} | 4 +- ....chunk.js.map => 40.33529392.chunk.js.map} | 2 +- ...a35f2238.chunk.js => 41.7335274c.chunk.js} | 4 +- ....chunk.js.map => 41.7335274c.chunk.js.map} | 2 +- ...57e4a144.chunk.js => 42.b574f6a8.chunk.js} | 4 +- ....chunk.js.map => 42.b574f6a8.chunk.js.map} | 2 +- ...bf200ed1.chunk.js => 43.0d306afa.chunk.js} | 4 +- ....chunk.js.map => 43.0d306afa.chunk.js.map} | 2 +- ...a521b59c.chunk.js => 44.6041b379.chunk.js} | 4 +- ....chunk.js.map => 44.6041b379.chunk.js.map} | 2 +- ...881786d1.chunk.js => 45.5e1318ad.chunk.js} | 4 +- ....chunk.js.map => 45.5e1318ad.chunk.js.map} | 2 +- ...b9cc7faa.chunk.js => 46.8a3bfbc1.chunk.js} | 4 +- ....chunk.js.map => 46.8a3bfbc1.chunk.js.map} | 2 +- ...f0e622fd.chunk.js => 47.7a17c03a.chunk.js} | 4 +- ....chunk.js.map => 47.7a17c03a.chunk.js.map} | 2 +- ...f8ee47ad.chunk.js => 48.729600fb.chunk.js} | 4 +- ....chunk.js.map => 48.729600fb.chunk.js.map} | 2 +- ...8c244f9b.chunk.js => 49.f7a99fa4.chunk.js} | 4 +- ....chunk.js.map => 49.f7a99fa4.chunk.js.map} | 2 +- ....24f8abdf.chunk.js => 5.d7ba4ce8.chunk.js} | 4 +- ...f.chunk.js.map => 5.d7ba4ce8.chunk.js.map} | 2 +- ...7efcaac9.chunk.js => 50.e4b52a57.chunk.js} | 4 +- ....chunk.js.map => 50.e4b52a57.chunk.js.map} | 2 +- ...a0bb1a97.chunk.js => 51.3bd86e73.chunk.js} | 4 +- ....chunk.js.map => 51.3bd86e73.chunk.js.map} | 2 +- ...49377c35.chunk.js => 52.dcfddf8d.chunk.js} | 4 +- ....chunk.js.map => 52.dcfddf8d.chunk.js.map} | 2 +- ...43ea7bd0.chunk.js => 53.28e3f2b8.chunk.js} | 4 +- ....chunk.js.map => 53.28e3f2b8.chunk.js.map} | 2 +- ...cb50ae53.chunk.js => 54.f9d59cf4.chunk.js} | 4 +- ....chunk.js.map => 54.f9d59cf4.chunk.js.map} | 2 +- ...893238c6.chunk.js => 55.1e3d0992.chunk.js} | 4 +- ....chunk.js.map => 55.1e3d0992.chunk.js.map} | 2 +- ...e4dcec9a.chunk.js => 56.b4700328.chunk.js} | 4 +- ....chunk.js.map => 56.b4700328.chunk.js.map} | 2 +- ...9fc1ac4a.chunk.js => 57.f3d6e662.chunk.js} | 4 +- ....chunk.js.map => 57.f3d6e662.chunk.js.map} | 2 +- ...1db4599c.chunk.js => 58.a932d2c0.chunk.js} | 4 +- ....chunk.js.map => 58.a932d2c0.chunk.js.map} | 2 +- ...93f659a3.chunk.js => 59.b2f924e1.chunk.js} | 4 +- ....chunk.js.map => 59.b2f924e1.chunk.js.map} | 2 +- ....9ff06f56.chunk.js => 6.696417b9.chunk.js} | 4 +- ...6.chunk.js.map => 6.696417b9.chunk.js.map} | 2 +- ...75fee21f.chunk.js => 60.763deb4b.chunk.js} | 4 +- ....chunk.js.map => 60.763deb4b.chunk.js.map} | 2 +- ...307464dd.chunk.js => 61.73b0f606.chunk.js} | 4 +- ....chunk.js.map => 61.73b0f606.chunk.js.map} | 2 +- ...830cdb19.chunk.js => 62.42ab14fe.chunk.js} | 4 +- ....chunk.js.map => 62.42ab14fe.chunk.js.map} | 2 +- ....871151a1.chunk.js => 7.efb8b30c.chunk.js} | 4 +- ...1.chunk.js.map => 7.efb8b30c.chunk.js.map} | 2 +- ....1f4920af.chunk.js => 8.9e66ca37.chunk.js} | 4 +- ...f.chunk.js.map => 8.9e66ca37.chunk.js.map} | 2 +- ....aa18b467.chunk.js => 9.51757058.chunk.js} | 4 +- ...7.chunk.js.map => 9.51757058.chunk.js.map} | 2 +- static/js/main.dc167eb4.chunk.js | 2 + static/js/main.dc167eb4.chunk.js.map | 1 + static/js/main.fd085307.chunk.js | 2 - static/js/main.fd085307.chunk.js.map | 1 - static/js/runtime-main.153177a2.js | 2 + static/js/runtime-main.153177a2.js.map | 1 + static/js/runtime-main.82ca92d7.js | 2 - static/js/runtime-main.82ca92d7.js.map | 1 - static/media/pride-2022-1.128c6b16.png | Bin 0 -> 13695 bytes static/media/pride-2022-2.826bf2cd.png | Bin 0 -> 44993 bytes 100 files changed, 230 insertions(+), 218 deletions(-) rename static/js/{10.7554859c.chunk.js => 10.43570e7a.chunk.js} (55%) rename static/js/{10.7554859c.chunk.js.map => 10.43570e7a.chunk.js.map} (72%) rename static/js/{11.662f47d4.chunk.js => 11.a52dc3cd.chunk.js} (55%) rename static/js/{11.662f47d4.chunk.js.map => 11.a52dc3cd.chunk.js.map} (72%) rename static/js/{12.e0db30d8.chunk.js => 12.868e58c4.chunk.js} (96%) rename static/js/{12.e0db30d8.chunk.js.map => 12.868e58c4.chunk.js.map} (99%) delete mode 100644 static/js/3.108d564c.chunk.js create mode 100644 static/js/3.ada86bf4.chunk.js rename static/js/{3.108d564c.chunk.js.map => 3.ada86bf4.chunk.js.map} (72%) create mode 100644 static/js/30.135a7f1e.chunk.js create mode 100644 static/js/30.135a7f1e.chunk.js.map create mode 100644 static/js/31.fa20935c.chunk.js create mode 100644 static/js/31.fa20935c.chunk.js.map rename static/js/{30.247d62e9.chunk.js => 32.28c1b4e8.chunk.js} (56%) rename static/js/{30.247d62e9.chunk.js.map => 32.28c1b4e8.chunk.js.map} (73%) rename static/js/{31.9147ffc8.chunk.js => 33.b5f395c1.chunk.js} (97%) rename static/js/{31.9147ffc8.chunk.js.map => 33.b5f395c1.chunk.js.map} (98%) rename static/js/{32.fe730829.chunk.js => 34.65b89421.chunk.js} (97%) rename static/js/{32.fe730829.chunk.js.map => 34.65b89421.chunk.js.map} (98%) rename static/js/{33.dd9ab2c2.chunk.js => 35.9c5923eb.chunk.js} (97%) rename static/js/{33.dd9ab2c2.chunk.js.map => 35.9c5923eb.chunk.js.map} (98%) rename static/js/{34.a4383948.chunk.js => 36.32a85159.chunk.js} (97%) rename static/js/{34.a4383948.chunk.js.map => 36.32a85159.chunk.js.map} (98%) rename static/js/{35.d3fef40f.chunk.js => 37.faff34f4.chunk.js} (97%) rename static/js/{35.d3fef40f.chunk.js.map => 37.faff34f4.chunk.js.map} (98%) rename static/js/{36.335a2700.chunk.js => 38.b29e18af.chunk.js} (98%) rename static/js/{36.335a2700.chunk.js.map => 38.b29e18af.chunk.js.map} (98%) rename static/js/{37.3d8d5f65.chunk.js => 39.c11b2331.chunk.js} (98%) rename static/js/{37.3d8d5f65.chunk.js.map => 39.c11b2331.chunk.js.map} (98%) create mode 100644 static/js/4.0ebae24f.chunk.js rename static/js/{4.41036e10.chunk.js.map => 4.0ebae24f.chunk.js.map} (72%) delete mode 100644 static/js/4.41036e10.chunk.js rename static/js/{38.f1df755b.chunk.js => 40.33529392.chunk.js} (98%) rename static/js/{38.f1df755b.chunk.js.map => 40.33529392.chunk.js.map} (98%) rename static/js/{39.a35f2238.chunk.js => 41.7335274c.chunk.js} (98%) rename static/js/{39.a35f2238.chunk.js.map => 41.7335274c.chunk.js.map} (98%) rename static/js/{40.57e4a144.chunk.js => 42.b574f6a8.chunk.js} (97%) rename static/js/{40.57e4a144.chunk.js.map => 42.b574f6a8.chunk.js.map} (98%) rename static/js/{41.bf200ed1.chunk.js => 43.0d306afa.chunk.js} (98%) rename static/js/{41.bf200ed1.chunk.js.map => 43.0d306afa.chunk.js.map} (98%) rename static/js/{42.a521b59c.chunk.js => 44.6041b379.chunk.js} (98%) rename static/js/{42.a521b59c.chunk.js.map => 44.6041b379.chunk.js.map} (98%) rename static/js/{43.881786d1.chunk.js => 45.5e1318ad.chunk.js} (97%) rename static/js/{43.881786d1.chunk.js.map => 45.5e1318ad.chunk.js.map} (98%) rename static/js/{44.b9cc7faa.chunk.js => 46.8a3bfbc1.chunk.js} (98%) rename static/js/{44.b9cc7faa.chunk.js.map => 46.8a3bfbc1.chunk.js.map} (99%) rename static/js/{45.f0e622fd.chunk.js => 47.7a17c03a.chunk.js} (97%) rename static/js/{45.f0e622fd.chunk.js.map => 47.7a17c03a.chunk.js.map} (98%) rename static/js/{46.f8ee47ad.chunk.js => 48.729600fb.chunk.js} (97%) rename static/js/{46.f8ee47ad.chunk.js.map => 48.729600fb.chunk.js.map} (98%) rename static/js/{47.8c244f9b.chunk.js => 49.f7a99fa4.chunk.js} (97%) rename static/js/{47.8c244f9b.chunk.js.map => 49.f7a99fa4.chunk.js.map} (98%) rename static/js/{5.24f8abdf.chunk.js => 5.d7ba4ce8.chunk.js} (55%) rename static/js/{5.24f8abdf.chunk.js.map => 5.d7ba4ce8.chunk.js.map} (72%) rename static/js/{48.7efcaac9.chunk.js => 50.e4b52a57.chunk.js} (98%) rename static/js/{48.7efcaac9.chunk.js.map => 50.e4b52a57.chunk.js.map} (98%) rename static/js/{49.a0bb1a97.chunk.js => 51.3bd86e73.chunk.js} (97%) rename static/js/{49.a0bb1a97.chunk.js.map => 51.3bd86e73.chunk.js.map} (98%) rename static/js/{50.49377c35.chunk.js => 52.dcfddf8d.chunk.js} (97%) rename static/js/{50.49377c35.chunk.js.map => 52.dcfddf8d.chunk.js.map} (98%) rename static/js/{51.43ea7bd0.chunk.js => 53.28e3f2b8.chunk.js} (98%) rename static/js/{51.43ea7bd0.chunk.js.map => 53.28e3f2b8.chunk.js.map} (98%) rename static/js/{52.cb50ae53.chunk.js => 54.f9d59cf4.chunk.js} (98%) rename static/js/{52.cb50ae53.chunk.js.map => 54.f9d59cf4.chunk.js.map} (99%) rename static/js/{53.893238c6.chunk.js => 55.1e3d0992.chunk.js} (98%) rename static/js/{53.893238c6.chunk.js.map => 55.1e3d0992.chunk.js.map} (98%) rename static/js/{54.e4dcec9a.chunk.js => 56.b4700328.chunk.js} (97%) rename static/js/{54.e4dcec9a.chunk.js.map => 56.b4700328.chunk.js.map} (98%) rename static/js/{55.9fc1ac4a.chunk.js => 57.f3d6e662.chunk.js} (98%) rename static/js/{55.9fc1ac4a.chunk.js.map => 57.f3d6e662.chunk.js.map} (98%) rename static/js/{56.1db4599c.chunk.js => 58.a932d2c0.chunk.js} (98%) rename static/js/{56.1db4599c.chunk.js.map => 58.a932d2c0.chunk.js.map} (98%) rename static/js/{57.93f659a3.chunk.js => 59.b2f924e1.chunk.js} (97%) rename static/js/{57.93f659a3.chunk.js.map => 59.b2f924e1.chunk.js.map} (98%) rename static/js/{6.9ff06f56.chunk.js => 6.696417b9.chunk.js} (55%) rename static/js/{6.9ff06f56.chunk.js.map => 6.696417b9.chunk.js.map} (72%) rename static/js/{58.75fee21f.chunk.js => 60.763deb4b.chunk.js} (97%) rename static/js/{58.75fee21f.chunk.js.map => 60.763deb4b.chunk.js.map} (98%) rename static/js/{59.307464dd.chunk.js => 61.73b0f606.chunk.js} (97%) rename static/js/{59.307464dd.chunk.js.map => 61.73b0f606.chunk.js.map} (98%) rename static/js/{60.830cdb19.chunk.js => 62.42ab14fe.chunk.js} (97%) rename static/js/{60.830cdb19.chunk.js.map => 62.42ab14fe.chunk.js.map} (98%) rename static/js/{7.871151a1.chunk.js => 7.efb8b30c.chunk.js} (55%) rename static/js/{7.871151a1.chunk.js.map => 7.efb8b30c.chunk.js.map} (72%) rename static/js/{8.1f4920af.chunk.js => 8.9e66ca37.chunk.js} (55%) rename static/js/{8.1f4920af.chunk.js.map => 8.9e66ca37.chunk.js.map} (72%) rename static/js/{9.aa18b467.chunk.js => 9.51757058.chunk.js} (55%) rename static/js/{9.aa18b467.chunk.js.map => 9.51757058.chunk.js.map} (72%) create mode 100644 static/js/main.dc167eb4.chunk.js create mode 100644 static/js/main.dc167eb4.chunk.js.map delete mode 100644 static/js/main.fd085307.chunk.js delete mode 100644 static/js/main.fd085307.chunk.js.map create mode 100644 static/js/runtime-main.153177a2.js create mode 100644 static/js/runtime-main.153177a2.js.map delete mode 100644 static/js/runtime-main.82ca92d7.js delete mode 100644 static/js/runtime-main.82ca92d7.js.map create mode 100644 static/media/pride-2022-1.128c6b16.png create mode 100644 static/media/pride-2022-2.826bf2cd.png diff --git a/asset-manifest.json b/asset-manifest.json index 6e85d30..93acd2a 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,32 +1,32 @@ { "files": { "main.css": "/static/css/main.cc86ad2e.chunk.css", - "main.js": "/static/js/main.fd085307.chunk.js", - "main.js.map": "/static/js/main.fd085307.chunk.js.map", - "runtime-main.js": "/static/js/runtime-main.82ca92d7.js", - "runtime-main.js.map": "/static/js/runtime-main.82ca92d7.js.map", + "main.js": "/static/js/main.dc167eb4.chunk.js", + "main.js.map": "/static/js/main.dc167eb4.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.153177a2.js", + "runtime-main.js.map": "/static/js/runtime-main.153177a2.js.map", "static/js/2.02aed69b.chunk.js": "/static/js/2.02aed69b.chunk.js", "static/js/2.02aed69b.chunk.js.map": "/static/js/2.02aed69b.chunk.js.map", - "static/js/3.108d564c.chunk.js": "/static/js/3.108d564c.chunk.js", - "static/js/3.108d564c.chunk.js.map": "/static/js/3.108d564c.chunk.js.map", - "static/js/4.41036e10.chunk.js": "/static/js/4.41036e10.chunk.js", - "static/js/4.41036e10.chunk.js.map": "/static/js/4.41036e10.chunk.js.map", - "static/js/5.24f8abdf.chunk.js": "/static/js/5.24f8abdf.chunk.js", - "static/js/5.24f8abdf.chunk.js.map": "/static/js/5.24f8abdf.chunk.js.map", - "static/js/6.9ff06f56.chunk.js": "/static/js/6.9ff06f56.chunk.js", - "static/js/6.9ff06f56.chunk.js.map": "/static/js/6.9ff06f56.chunk.js.map", - "static/js/7.871151a1.chunk.js": "/static/js/7.871151a1.chunk.js", - "static/js/7.871151a1.chunk.js.map": "/static/js/7.871151a1.chunk.js.map", - "static/js/8.1f4920af.chunk.js": "/static/js/8.1f4920af.chunk.js", - "static/js/8.1f4920af.chunk.js.map": "/static/js/8.1f4920af.chunk.js.map", - "static/js/9.aa18b467.chunk.js": "/static/js/9.aa18b467.chunk.js", - "static/js/9.aa18b467.chunk.js.map": "/static/js/9.aa18b467.chunk.js.map", - "static/js/10.7554859c.chunk.js": "/static/js/10.7554859c.chunk.js", - "static/js/10.7554859c.chunk.js.map": "/static/js/10.7554859c.chunk.js.map", - "static/js/11.662f47d4.chunk.js": "/static/js/11.662f47d4.chunk.js", - "static/js/11.662f47d4.chunk.js.map": "/static/js/11.662f47d4.chunk.js.map", - "static/js/12.e0db30d8.chunk.js": "/static/js/12.e0db30d8.chunk.js", - "static/js/12.e0db30d8.chunk.js.map": "/static/js/12.e0db30d8.chunk.js.map", + "static/js/3.ada86bf4.chunk.js": "/static/js/3.ada86bf4.chunk.js", + "static/js/3.ada86bf4.chunk.js.map": "/static/js/3.ada86bf4.chunk.js.map", + "static/js/4.0ebae24f.chunk.js": "/static/js/4.0ebae24f.chunk.js", + "static/js/4.0ebae24f.chunk.js.map": "/static/js/4.0ebae24f.chunk.js.map", + "static/js/5.d7ba4ce8.chunk.js": "/static/js/5.d7ba4ce8.chunk.js", + "static/js/5.d7ba4ce8.chunk.js.map": "/static/js/5.d7ba4ce8.chunk.js.map", + "static/js/6.696417b9.chunk.js": "/static/js/6.696417b9.chunk.js", + "static/js/6.696417b9.chunk.js.map": "/static/js/6.696417b9.chunk.js.map", + "static/js/7.efb8b30c.chunk.js": "/static/js/7.efb8b30c.chunk.js", + "static/js/7.efb8b30c.chunk.js.map": "/static/js/7.efb8b30c.chunk.js.map", + "static/js/8.9e66ca37.chunk.js": "/static/js/8.9e66ca37.chunk.js", + "static/js/8.9e66ca37.chunk.js.map": "/static/js/8.9e66ca37.chunk.js.map", + "static/js/9.51757058.chunk.js": "/static/js/9.51757058.chunk.js", + "static/js/9.51757058.chunk.js.map": "/static/js/9.51757058.chunk.js.map", + "static/js/10.43570e7a.chunk.js": "/static/js/10.43570e7a.chunk.js", + "static/js/10.43570e7a.chunk.js.map": "/static/js/10.43570e7a.chunk.js.map", + "static/js/11.a52dc3cd.chunk.js": "/static/js/11.a52dc3cd.chunk.js", + "static/js/11.a52dc3cd.chunk.js.map": "/static/js/11.a52dc3cd.chunk.js.map", + "static/js/12.868e58c4.chunk.js": "/static/js/12.868e58c4.chunk.js", + "static/js/12.868e58c4.chunk.js.map": "/static/js/12.868e58c4.chunk.js.map", "static/js/13.1623337e.chunk.js": "/static/js/13.1623337e.chunk.js", "static/js/13.1623337e.chunk.js.map": "/static/js/13.1623337e.chunk.js.map", "static/js/14.d66df10b.chunk.js": "/static/js/14.d66df10b.chunk.js", @@ -61,68 +61,72 @@ "static/js/28.7de9d9d6.chunk.js.map": "/static/js/28.7de9d9d6.chunk.js.map", "static/js/29.cd552abf.chunk.js": "/static/js/29.cd552abf.chunk.js", "static/js/29.cd552abf.chunk.js.map": "/static/js/29.cd552abf.chunk.js.map", - "static/js/30.247d62e9.chunk.js": "/static/js/30.247d62e9.chunk.js", - "static/js/30.247d62e9.chunk.js.map": "/static/js/30.247d62e9.chunk.js.map", - "static/js/31.9147ffc8.chunk.js": "/static/js/31.9147ffc8.chunk.js", - "static/js/31.9147ffc8.chunk.js.map": "/static/js/31.9147ffc8.chunk.js.map", - "static/js/32.fe730829.chunk.js": "/static/js/32.fe730829.chunk.js", - "static/js/32.fe730829.chunk.js.map": "/static/js/32.fe730829.chunk.js.map", - "static/js/33.dd9ab2c2.chunk.js": "/static/js/33.dd9ab2c2.chunk.js", - "static/js/33.dd9ab2c2.chunk.js.map": "/static/js/33.dd9ab2c2.chunk.js.map", - "static/js/34.a4383948.chunk.js": "/static/js/34.a4383948.chunk.js", - "static/js/34.a4383948.chunk.js.map": "/static/js/34.a4383948.chunk.js.map", - "static/js/35.d3fef40f.chunk.js": "/static/js/35.d3fef40f.chunk.js", - "static/js/35.d3fef40f.chunk.js.map": "/static/js/35.d3fef40f.chunk.js.map", - "static/js/36.335a2700.chunk.js": "/static/js/36.335a2700.chunk.js", - "static/js/36.335a2700.chunk.js.map": "/static/js/36.335a2700.chunk.js.map", - "static/js/37.3d8d5f65.chunk.js": "/static/js/37.3d8d5f65.chunk.js", - "static/js/37.3d8d5f65.chunk.js.map": "/static/js/37.3d8d5f65.chunk.js.map", - "static/js/38.f1df755b.chunk.js": "/static/js/38.f1df755b.chunk.js", - "static/js/38.f1df755b.chunk.js.map": "/static/js/38.f1df755b.chunk.js.map", - "static/js/39.a35f2238.chunk.js": "/static/js/39.a35f2238.chunk.js", - "static/js/39.a35f2238.chunk.js.map": "/static/js/39.a35f2238.chunk.js.map", - "static/js/40.57e4a144.chunk.js": "/static/js/40.57e4a144.chunk.js", - "static/js/40.57e4a144.chunk.js.map": "/static/js/40.57e4a144.chunk.js.map", - "static/js/41.bf200ed1.chunk.js": "/static/js/41.bf200ed1.chunk.js", - "static/js/41.bf200ed1.chunk.js.map": "/static/js/41.bf200ed1.chunk.js.map", - "static/js/42.a521b59c.chunk.js": "/static/js/42.a521b59c.chunk.js", - "static/js/42.a521b59c.chunk.js.map": "/static/js/42.a521b59c.chunk.js.map", - "static/js/43.881786d1.chunk.js": "/static/js/43.881786d1.chunk.js", - "static/js/43.881786d1.chunk.js.map": "/static/js/43.881786d1.chunk.js.map", - "static/js/44.b9cc7faa.chunk.js": "/static/js/44.b9cc7faa.chunk.js", - "static/js/44.b9cc7faa.chunk.js.map": "/static/js/44.b9cc7faa.chunk.js.map", - "static/js/45.f0e622fd.chunk.js": "/static/js/45.f0e622fd.chunk.js", - "static/js/45.f0e622fd.chunk.js.map": "/static/js/45.f0e622fd.chunk.js.map", - "static/js/46.f8ee47ad.chunk.js": "/static/js/46.f8ee47ad.chunk.js", - "static/js/46.f8ee47ad.chunk.js.map": "/static/js/46.f8ee47ad.chunk.js.map", - "static/js/47.8c244f9b.chunk.js": "/static/js/47.8c244f9b.chunk.js", - "static/js/47.8c244f9b.chunk.js.map": "/static/js/47.8c244f9b.chunk.js.map", - "static/js/48.7efcaac9.chunk.js": "/static/js/48.7efcaac9.chunk.js", - "static/js/48.7efcaac9.chunk.js.map": "/static/js/48.7efcaac9.chunk.js.map", - "static/js/49.a0bb1a97.chunk.js": "/static/js/49.a0bb1a97.chunk.js", - "static/js/49.a0bb1a97.chunk.js.map": "/static/js/49.a0bb1a97.chunk.js.map", - "static/js/50.49377c35.chunk.js": "/static/js/50.49377c35.chunk.js", - "static/js/50.49377c35.chunk.js.map": "/static/js/50.49377c35.chunk.js.map", - "static/js/51.43ea7bd0.chunk.js": "/static/js/51.43ea7bd0.chunk.js", - "static/js/51.43ea7bd0.chunk.js.map": "/static/js/51.43ea7bd0.chunk.js.map", - "static/js/52.cb50ae53.chunk.js": "/static/js/52.cb50ae53.chunk.js", - "static/js/52.cb50ae53.chunk.js.map": "/static/js/52.cb50ae53.chunk.js.map", - "static/js/53.893238c6.chunk.js": "/static/js/53.893238c6.chunk.js", - "static/js/53.893238c6.chunk.js.map": "/static/js/53.893238c6.chunk.js.map", - "static/js/54.e4dcec9a.chunk.js": "/static/js/54.e4dcec9a.chunk.js", - "static/js/54.e4dcec9a.chunk.js.map": "/static/js/54.e4dcec9a.chunk.js.map", - "static/js/55.9fc1ac4a.chunk.js": "/static/js/55.9fc1ac4a.chunk.js", - "static/js/55.9fc1ac4a.chunk.js.map": "/static/js/55.9fc1ac4a.chunk.js.map", - "static/js/56.1db4599c.chunk.js": "/static/js/56.1db4599c.chunk.js", - "static/js/56.1db4599c.chunk.js.map": "/static/js/56.1db4599c.chunk.js.map", - "static/js/57.93f659a3.chunk.js": "/static/js/57.93f659a3.chunk.js", - "static/js/57.93f659a3.chunk.js.map": "/static/js/57.93f659a3.chunk.js.map", - "static/js/58.75fee21f.chunk.js": "/static/js/58.75fee21f.chunk.js", - "static/js/58.75fee21f.chunk.js.map": "/static/js/58.75fee21f.chunk.js.map", - "static/js/59.307464dd.chunk.js": "/static/js/59.307464dd.chunk.js", - "static/js/59.307464dd.chunk.js.map": "/static/js/59.307464dd.chunk.js.map", - "static/js/60.830cdb19.chunk.js": "/static/js/60.830cdb19.chunk.js", - "static/js/60.830cdb19.chunk.js.map": "/static/js/60.830cdb19.chunk.js.map", + "static/js/30.135a7f1e.chunk.js": "/static/js/30.135a7f1e.chunk.js", + "static/js/30.135a7f1e.chunk.js.map": "/static/js/30.135a7f1e.chunk.js.map", + "static/js/31.fa20935c.chunk.js": "/static/js/31.fa20935c.chunk.js", + "static/js/31.fa20935c.chunk.js.map": "/static/js/31.fa20935c.chunk.js.map", + "static/js/32.28c1b4e8.chunk.js": "/static/js/32.28c1b4e8.chunk.js", + "static/js/32.28c1b4e8.chunk.js.map": "/static/js/32.28c1b4e8.chunk.js.map", + "static/js/33.b5f395c1.chunk.js": "/static/js/33.b5f395c1.chunk.js", + "static/js/33.b5f395c1.chunk.js.map": "/static/js/33.b5f395c1.chunk.js.map", + "static/js/34.65b89421.chunk.js": "/static/js/34.65b89421.chunk.js", + "static/js/34.65b89421.chunk.js.map": "/static/js/34.65b89421.chunk.js.map", + "static/js/35.9c5923eb.chunk.js": "/static/js/35.9c5923eb.chunk.js", + "static/js/35.9c5923eb.chunk.js.map": "/static/js/35.9c5923eb.chunk.js.map", + "static/js/36.32a85159.chunk.js": "/static/js/36.32a85159.chunk.js", + "static/js/36.32a85159.chunk.js.map": "/static/js/36.32a85159.chunk.js.map", + "static/js/37.faff34f4.chunk.js": "/static/js/37.faff34f4.chunk.js", + "static/js/37.faff34f4.chunk.js.map": "/static/js/37.faff34f4.chunk.js.map", + "static/js/38.b29e18af.chunk.js": "/static/js/38.b29e18af.chunk.js", + "static/js/38.b29e18af.chunk.js.map": "/static/js/38.b29e18af.chunk.js.map", + "static/js/39.c11b2331.chunk.js": "/static/js/39.c11b2331.chunk.js", + "static/js/39.c11b2331.chunk.js.map": "/static/js/39.c11b2331.chunk.js.map", + "static/js/40.33529392.chunk.js": "/static/js/40.33529392.chunk.js", + "static/js/40.33529392.chunk.js.map": "/static/js/40.33529392.chunk.js.map", + "static/js/41.7335274c.chunk.js": "/static/js/41.7335274c.chunk.js", + "static/js/41.7335274c.chunk.js.map": "/static/js/41.7335274c.chunk.js.map", + "static/js/42.b574f6a8.chunk.js": "/static/js/42.b574f6a8.chunk.js", + "static/js/42.b574f6a8.chunk.js.map": "/static/js/42.b574f6a8.chunk.js.map", + "static/js/43.0d306afa.chunk.js": "/static/js/43.0d306afa.chunk.js", + "static/js/43.0d306afa.chunk.js.map": "/static/js/43.0d306afa.chunk.js.map", + "static/js/44.6041b379.chunk.js": "/static/js/44.6041b379.chunk.js", + "static/js/44.6041b379.chunk.js.map": "/static/js/44.6041b379.chunk.js.map", + "static/js/45.5e1318ad.chunk.js": "/static/js/45.5e1318ad.chunk.js", + "static/js/45.5e1318ad.chunk.js.map": "/static/js/45.5e1318ad.chunk.js.map", + "static/js/46.8a3bfbc1.chunk.js": "/static/js/46.8a3bfbc1.chunk.js", + "static/js/46.8a3bfbc1.chunk.js.map": "/static/js/46.8a3bfbc1.chunk.js.map", + "static/js/47.7a17c03a.chunk.js": "/static/js/47.7a17c03a.chunk.js", + "static/js/47.7a17c03a.chunk.js.map": "/static/js/47.7a17c03a.chunk.js.map", + "static/js/48.729600fb.chunk.js": "/static/js/48.729600fb.chunk.js", + "static/js/48.729600fb.chunk.js.map": "/static/js/48.729600fb.chunk.js.map", + "static/js/49.f7a99fa4.chunk.js": "/static/js/49.f7a99fa4.chunk.js", + "static/js/49.f7a99fa4.chunk.js.map": "/static/js/49.f7a99fa4.chunk.js.map", + "static/js/50.e4b52a57.chunk.js": "/static/js/50.e4b52a57.chunk.js", + "static/js/50.e4b52a57.chunk.js.map": "/static/js/50.e4b52a57.chunk.js.map", + "static/js/51.3bd86e73.chunk.js": "/static/js/51.3bd86e73.chunk.js", + "static/js/51.3bd86e73.chunk.js.map": "/static/js/51.3bd86e73.chunk.js.map", + "static/js/52.dcfddf8d.chunk.js": "/static/js/52.dcfddf8d.chunk.js", + "static/js/52.dcfddf8d.chunk.js.map": "/static/js/52.dcfddf8d.chunk.js.map", + "static/js/53.28e3f2b8.chunk.js": "/static/js/53.28e3f2b8.chunk.js", + "static/js/53.28e3f2b8.chunk.js.map": "/static/js/53.28e3f2b8.chunk.js.map", + "static/js/54.f9d59cf4.chunk.js": "/static/js/54.f9d59cf4.chunk.js", + "static/js/54.f9d59cf4.chunk.js.map": "/static/js/54.f9d59cf4.chunk.js.map", + "static/js/55.1e3d0992.chunk.js": "/static/js/55.1e3d0992.chunk.js", + "static/js/55.1e3d0992.chunk.js.map": "/static/js/55.1e3d0992.chunk.js.map", + "static/js/56.b4700328.chunk.js": "/static/js/56.b4700328.chunk.js", + "static/js/56.b4700328.chunk.js.map": "/static/js/56.b4700328.chunk.js.map", + "static/js/57.f3d6e662.chunk.js": "/static/js/57.f3d6e662.chunk.js", + "static/js/57.f3d6e662.chunk.js.map": "/static/js/57.f3d6e662.chunk.js.map", + "static/js/58.a932d2c0.chunk.js": "/static/js/58.a932d2c0.chunk.js", + "static/js/58.a932d2c0.chunk.js.map": "/static/js/58.a932d2c0.chunk.js.map", + "static/js/59.b2f924e1.chunk.js": "/static/js/59.b2f924e1.chunk.js", + "static/js/59.b2f924e1.chunk.js.map": "/static/js/59.b2f924e1.chunk.js.map", + "static/js/60.763deb4b.chunk.js": "/static/js/60.763deb4b.chunk.js", + "static/js/60.763deb4b.chunk.js.map": "/static/js/60.763deb4b.chunk.js.map", + "static/js/61.73b0f606.chunk.js": "/static/js/61.73b0f606.chunk.js", + "static/js/61.73b0f606.chunk.js.map": "/static/js/61.73b0f606.chunk.js.map", + "static/js/62.42ab14fe.chunk.js": "/static/js/62.42ab14fe.chunk.js", + "static/js/62.42ab14fe.chunk.js.map": "/static/js/62.42ab14fe.chunk.js.map", "index.html": "/index.html", "static/css/main.cc86ad2e.chunk.css.map": "/static/css/main.cc86ad2e.chunk.css.map", "static/js/2.02aed69b.chunk.js.LICENSE.txt": "/static/js/2.02aed69b.chunk.js.LICENSE.txt", @@ -150,14 +154,16 @@ "static/media/it.ftl": "/static/media/it.b3345292.ftl", "static/media/nl.ftl": "/static/media/nl.767a1c26.ftl", "static/media/pl.ftl": "/static/media/pl.bc186684.ftl", + "static/media/pride-2022-1.png": "/static/media/pride-2022-1.128c6b16.png", + "static/media/pride-2022-2.png": "/static/media/pride-2022-2.826bf2cd.png", "static/media/pt.ftl": "/static/media/pt.1d8c1bab.ftl", "static/media/ru.ftl": "/static/media/ru.9be0d24d.ftl", "static/media/ukraine.png": "/static/media/ukraine.d9765a7e.png" }, "entrypoints": [ - "static/js/runtime-main.82ca92d7.js", + "static/js/runtime-main.153177a2.js", "static/js/2.02aed69b.chunk.js", "static/css/main.cc86ad2e.chunk.css", - "static/js/main.fd085307.chunk.js" + "static/js/main.dc167eb4.chunk.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index cc7138f..f961188 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Volt Social Media Frame Generator
\ No newline at end of file +Volt Social Media Frame Generator
\ No newline at end of file diff --git a/static/js/10.7554859c.chunk.js b/static/js/10.43570e7a.chunk.js similarity index 55% rename from static/js/10.7554859c.chunk.js rename to static/js/10.43570e7a.chunk.js index 76b1dd2..280a30b 100644 --- a/static/js/10.7554859c.chunk.js +++ b/static/js/10.43570e7a.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[10],{105:function(t,e,p){"use strict";p.r(e),e.default=p.p+"static/media/pt.1d8c1bab.ftl"}}]); -//# sourceMappingURL=10.7554859c.chunk.js.map \ No newline at end of file +(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[10],{107:function(t,e,p){"use strict";p.r(e),e.default=p.p+"static/media/pt.1d8c1bab.ftl"}}]); +//# sourceMappingURL=10.43570e7a.chunk.js.map \ No newline at end of file diff --git a/static/js/10.7554859c.chunk.js.map b/static/js/10.43570e7a.chunk.js.map similarity index 72% rename from static/js/10.7554859c.chunk.js.map rename to static/js/10.43570e7a.chunk.js.map index a456165..eca49c7 100644 --- a/static/js/10.7554859c.chunk.js.map +++ b/static/js/10.43570e7a.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["locales/pt.ftl"],"names":[],"mappings":"+IAAA,OAAe,cAA0B","file":"static/js/10.7554859c.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/pt.1d8c1bab.ftl\";"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["locales/pt.ftl"],"names":[],"mappings":"+IAAA,OAAe,cAA0B","file":"static/js/10.43570e7a.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/pt.1d8c1bab.ftl\";"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/11.662f47d4.chunk.js b/static/js/11.a52dc3cd.chunk.js similarity index 55% rename from static/js/11.662f47d4.chunk.js rename to static/js/11.a52dc3cd.chunk.js index d4215a0..e9268c4 100644 --- a/static/js/11.662f47d4.chunk.js +++ b/static/js/11.a52dc3cd.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[11],{106:function(e,t,r){"use strict";r.r(t),t.default=r.p+"static/media/ru.9be0d24d.ftl"}}]); -//# sourceMappingURL=11.662f47d4.chunk.js.map \ No newline at end of file +(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[11],{108:function(e,t,r){"use strict";r.r(t),t.default=r.p+"static/media/ru.9be0d24d.ftl"}}]); +//# sourceMappingURL=11.a52dc3cd.chunk.js.map \ No newline at end of file diff --git a/static/js/11.662f47d4.chunk.js.map b/static/js/11.a52dc3cd.chunk.js.map similarity index 72% rename from static/js/11.662f47d4.chunk.js.map rename to static/js/11.a52dc3cd.chunk.js.map index 422aff5..6dcb69a 100644 --- a/static/js/11.662f47d4.chunk.js.map +++ b/static/js/11.a52dc3cd.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["locales/ru.ftl"],"names":[],"mappings":"+IAAA,OAAe,cAA0B","file":"static/js/11.662f47d4.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/ru.9be0d24d.ftl\";"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["locales/ru.ftl"],"names":[],"mappings":"+IAAA,OAAe,cAA0B","file":"static/js/11.a52dc3cd.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/ru.9be0d24d.ftl\";"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/12.e0db30d8.chunk.js b/static/js/12.868e58c4.chunk.js similarity index 96% rename from static/js/12.e0db30d8.chunk.js rename to static/js/12.868e58c4.chunk.js index ff596fb..04b6534 100644 --- a/static/js/12.e0db30d8.chunk.js +++ b/static/js/12.868e58c4.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[12],{107:function(t,n,e){"use strict";e.r(n),e.d(n,"getCLS",(function(){return v})),e.d(n,"getFCP",(function(){return g})),e.d(n,"getFID",(function(){return h})),e.d(n,"getLCP",(function(){return y})),e.d(n,"getTTFB",(function(){return F}));var i,a,r=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:r(),isFinal:!1}},u=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},c=!1,s=!1,p=function(t){c=!t.persisted},f=function(){addEventListener("pagehide",p),addEventListener("beforeunload",(function(){}))},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(n){var e=n.timeStamp;"hidden"===document.visibilityState&&t({timeStamp:e,isUnloading:c})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||"hidden"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},v=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=o("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=u("layout-shift",a);r&&(n=l(t,i,r,e),d((function(t){var e=t.isUnloading;r.takeRecords().map(a),e&&(i.isFinal=!0),n()})))},m=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,d((function(t){var n=t.timeStamp;return i=n}),!0)),{get timeStamp(){return i}}},g=function(t){var n,e=o("FCP"),i=m(),a=u("paint",(function(t){"first-contentful-paint"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],i=o("LCP"),a=m(),r=function(t){var e=t.startTime;e1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:r(),isFinal:!1}},u=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},c=!1,s=!1,p=function(t){c=!t.persisted},f=function(){addEventListener("pagehide",p),addEventListener("beforeunload",(function(){}))},d=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(n){var e=n.timeStamp;"hidden"===document.visibilityState&&t({timeStamp:e,isUnloading:c})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||"hidden"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},v=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=o("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=u("layout-shift",a);r&&(n=l(t,i,r,e),d((function(t){var e=t.isUnloading;r.takeRecords().map(a),e&&(i.isFinal=!0),n()})))},m=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,d((function(t){var n=t.timeStamp;return i=n}),!0)),{get timeStamp(){return i}}},g=function(t){var n,e=o("FCP"),i=m(),a=u("paint",(function(t){"first-contentful-paint"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],i=o("LCP"),a=m(),r=function(t){var e=t.startTime;e1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:e(),isFinal:!1}},a=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},r=!1,o=!1,s=function(t){r=!t.persisted},u=function(){addEventListener(\"pagehide\",s),addEventListener(\"beforeunload\",(function(){}))},c=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o||(u(),o=!0),addEventListener(\"visibilitychange\",(function(n){var e=n.timeStamp;\"hidden\"===document.visibilityState&&t({timeStamp:e,isUnloading:r})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||\"hidden\"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},p=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(\"CLS\",0),o=function(t){t.hadRecentInput||(r.value+=t.value,r.entries.push(t),n())},s=a(\"layout-shift\",o);s&&(n=l(t,r,s,e),c((function(t){var e=t.isUnloading;s.takeRecords().map(o),e&&(r.isFinal=!0),n()})))},d=function(){return void 0===t&&(t=\"hidden\"===document.visibilityState?0:1/0,c((function(n){var e=n.timeStamp;return t=e}),!0)),{get timeStamp(){return t}}},v=function(t){var n,e=i(\"FCP\"),r=d(),o=a(\"paint\",(function(t){\"first-contentful-paint\"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],r=i(\"LCP\"),o=d(),s=function(t){var e=t.startTime;e1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:e(),isFinal:!1}},a=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},r=!1,o=!1,s=function(t){r=!t.persisted},u=function(){addEventListener(\"pagehide\",s),addEventListener(\"beforeunload\",(function(){}))},c=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o||(u(),o=!0),addEventListener(\"visibilitychange\",(function(n){var e=n.timeStamp;\"hidden\"===document.visibilityState&&t({timeStamp:e,isUnloading:r})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||\"hidden\"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},p=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(\"CLS\",0),o=function(t){t.hadRecentInput||(r.value+=t.value,r.entries.push(t),n())},s=a(\"layout-shift\",o);s&&(n=l(t,r,s,e),c((function(t){var e=t.isUnloading;s.takeRecords().map(o),e&&(r.isFinal=!0),n()})))},d=function(){return void 0===t&&(t=\"hidden\"===document.visibilityState?0:1/0,c((function(n){var e=n.timeStamp;return t=e}),!0)),{get timeStamp(){return t}}},v=function(t){var n,e=i(\"FCP\"),r=d(),o=a(\"paint\",(function(t){\"first-contentful-paint\"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],r=i(\"LCP\"),o=d(),s=function(t){var e=t.startTime;e0})))).map(function(){var e=Object(f.a)(b.a.mark((function e(t){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t,""===t){e.next=5;break}return e.next=4,n(43)("./".concat(t,".png"));case 4:a=e.sent.default;case 5:return e.abrupt("return",{name:t,src:a});case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){l(e),p(e[0])}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[w]);var m=Object(o.useCallback)((function(e){p(e)}),[p]);return Object(o.useEffect)((function(){t(j)}),[t,j]),Object(r.jsx)("div",{className:"HashtagChooser",children:u.map((function(e){var t=e.src,n=g===t;return Object(r.jsx)("button",{"data-src":t,className:n?"isInRow choosen":"isInRow",onClick:function(){return m(e)},children:""===e.name?a("button_no_hashtag"):e.name},e.name)}))})})),C=n(28),D=n.n(C),Q=n(29),H=n.n(Q);function T(e,t,n){return Math.min(Math.max(t,e),n)}var U=function(e){var t=e.onChange,n=e.backgroundURL,a=e.backgroundRatio,s=e.frameURL,i=e.hashtagURL,u=Object(o.useRef)(null),O=Object(o.useRef)(null),l=Object(o.useState)(!1),h=Object(c.a)(l,2),d=h[0],j=h[1],p=Object(o.useState)(null),b=Object(c.a)(p,2),f=b[0],g=b[1],w=Object(o.useState)(null),m=Object(c.a)(w,2),x=m[0],v=m[1],A=Object(o.useState)(0),C=Object(c.a)(A,2),Q=C[0],U=C[1],N=Object(o.useState)(0),k=Object(c.a)(N,2),S=k[0],E=k[1],F=Object(o.useState)(0),_=Object(c.a)(F,2),M=_[0],y=_[1],K=Object(o.useState)(0),B=Object(c.a)(K,2),R=B[0],L=B[1],I=Object(o.useState)(1),V=Object(c.a)(I,2),P=V[0],Y=V[1],G=Object(o.useState)(300),z=Object(c.a)(G,2),J=z[0],X=z[1],W=Object(o.useState)(300),Z=Object(c.a)(W,2),q=Z[0],$=Z[1],ee=Object(o.useState)(300),te=Object(c.a)(ee,2),ne=te[0],ae=te[1],ce=Object(o.useState)(300),re=Object(c.a)(ce,2),oe=re[0],se=re[1],ie=Object(o.useState)(0),ue=Object(c.a)(ie,2),Oe=ue[0],le=ue[1],he=Object(o.useState)(0),de=Object(c.a)(he,2),je=de[0],pe=de[1],be=Object(o.useState)(0),fe=Object(c.a)(be,2),ge=fe[0],we=fe[1],me=Object(o.useState)(0),xe=Object(c.a)(me,2),ve=xe[0],Ae=xe[1];Object(o.useEffect)((function(){t&&t({x:Q,y:S,scale:P})}),[t,Q,S,P]),Object(o.useEffect)((function(){if(u&&u.current){var e=u.current.offsetWidth,t=u.current.offsetHeight;se(t),ae(e);var n=1,c=1;a<1?n=1/a:a>1&&(c=1*a),X(n),$(c)}}),[a]),Object(o.useEffect)((function(){var e=function(e,t,n,a,c){var r=Math.max(0,e*n-a)/2,o=Math.max(0,t*n-c)/2;return{rangeMaxX:r,rangeMinX:0-r,rangeMaxY:o,rangeMinY:0-o}}(J*ne,q*oe,P,ne,oe),t=e.rangeMinX,n=e.rangeMinY,a=e.rangeMaxX,c=e.rangeMaxY;le(t),pe(n),we(a),Ae(c)}),[J,q,ne,oe,P]),Object(o.useEffect)((function(){U(0),E(0),y(0),L(0),Y(1)}),[n]);var Ce=Object(o.useCallback)((function(e){var t=1*e.target.dataset.x,n=1*e.target.dataset.y,a=T(t+e.deltaX,Oe,ge),c=T(n+e.deltaY,je,ve);e.isFinal?(U(a||0),E(c||0),y(0),L(0)):(y(a-t||0),L(c-n||0))}),[Oe,je,ge,ve]),De=Object(o.useCallback)((function(e,t,n,a){e.preventDefault();var c=T(1*e.target.dataset.scale+t/200,1,8);Y(c||1);var r=1*e.target.dataset.x,o=1*e.target.dataset.y;U(T(r,Oe,ge)||0),E(T(o,je,ve)||0)}),[Oe,je,ge,ve]);return Object(o.useEffect)((function(){if(!d&&u&&u.current){var e=u.current;e.addEventListener("mousedown",(function(e){e.preventDefault()}),!1),e.addEventListener("touchstart",(function(e){e.preventDefault()}),!1),e.addEventListener("touchend",(function(e){e.preventDefault()}),!1),e.addEventListener("touchmove",(function(e){e.preventDefault()}),!1),g(new D.a(e,{direction:"DIRECTION_ALL"})),v(H()(e)),j(!0)}}),[u,d]),Object(o.useEffect)((function(){if(f&&x&&d&&u&&u.current)return f.on("pan",Ce),x.wheel(De),function(){f.off("pan",Ce),x.unwheel()}}),[u,Ce,De,d,f,x]),Object(r.jsxs)("div",{className:"Editor",ref:u,"data-x":Q,"data-y":S,"data-scale":P,children:[Object(r.jsx)("img",{src:n,ref:O,alt:"",className:"background",style:{width:100*J+"%",height:100*q+"%",transform:"translate3d(calc(-50% + ".concat(Q+M,"px), calc(-50% + ").concat(S+R,"px), 0) scale(").concat(P,",").concat(P,")")}}),Object(r.jsx)("img",{src:s,alt:"",className:"foreground"}),Object(r.jsx)("img",{src:i,alt:"",className:"hashtag"})]})},N=n.p+"static/media/VoltLogoPurple.125355f6.svg",k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAQ4AgMAAACRfoQcAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJUExURVAjeFAjeE8jd3Yl3xwAAAADdFJOU//+/Q3dsqEAAATsSURBVHgB7dAxAQAABAAwQtI/ipMCvi3CgiMV6NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NChQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOBTp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQwc6dOjQoUOHDh06dOjQoUOHDh06dOjQgQ4dOnTo0KFDhw4dOnTo0KFDhw4dOnSgQ4cOHTp06NChQ4cOHTp06NChQ4cOHTx06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHTrQoUOHDh06dOjQoUOHDh06dOjQoUOHDnTo0KFDhw4dOnTo0KFDhw4dOnTo0KEDHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4d6NChQ4cOHTp06NChQ4cOHTp06NChQ4cCHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4dxeoB30xd38yzCvgAAAAASUVORK5CYII=",S="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAALSURBVHgBY2BgAAAAAwABjPg5OgAAAABJRU5ErkJggg==",E=1080;function F(e){var t=e.href,n=e.name,a=e.target,c=e.children,s=Object(h.a)(e,["href","name","target","children"]),i=Object(o.useCallback)((function(e){return window.umami&&n&&window.umami.trackEvent("A: "+n),a?window.open(t,a):setTimeout((function(){window.location=t}),200),e.preventDefault(),!1}),[t,n,a]);return Object(r.jsx)("a",Object(l.a)(Object(l.a)({},s),{},{href:t,onClick:i,children:c}))}var _=v((function(e){var t=e.getString,n=e.locales,a=e.currentLocale,s=e.onLanguageChange,i=Object(o.useState)(null),u=Object(c.a)(i,2),h=u[0],p=u[1],b=Object(o.useState)(null),f=Object(c.a)(b,2),w=f[0],m=f[1],v=Object(o.useState)(null),C=Object(c.a)(v,2),D=C[0],Q=C[1],H=Object(o.useState)(1),T=Object(c.a)(H,2),_=T[0],M=T[1],y=Object(o.useState)(null),K=Object(c.a)(y,2),B=K[0],R=K[1],L=h?h.src:null,I=w?w.src:null,V=Object(o.useState)(0),P=Object(c.a)(V,2),Y=P[0],G=P[1],z=Object(o.useState)(0),J=Object(c.a)(z,2),X=J[0],W=J[1],Z=Object(o.useState)({x:0,y:0,scale:1}),q=Object(c.a)(Z,2),$=q[0],ee=q[1],te=Object(o.useCallback)((function(e){p(e)}),[p]),ne=Object(o.useCallback)((function(e){m(e)}),[m]),ae=Object(o.useCallback)((function(e){var t=e.x,n=e.y,a=e.scale;ee({x:t,y:n,scale:a})}),[]),ce=Object(o.useCallback)((function(e){if(e){var t=new FileReader;t.onload=function(t){var n=new Image;n.onload=function(){var a,c;n.width0?e[0]:"")}),[l]);return Object(r.jsx)(G,{userLocales:n,onLocaleChange:d,children:Object(r.jsx)(_,{locales:R,currentLocale:O,onLanguageChange:h})},"AppLocalizationProvider")}u.a.render(Object(r.jsx)(s.a.StrictMode,{children:Object(r.jsx)(z,{})}),document.getElementById("root")),M()}},[[49,1,2]]]); +//# sourceMappingURL=main.dc167eb4.chunk.js.map \ No newline at end of file diff --git a/static/js/main.dc167eb4.chunk.js.map b/static/js/main.dc167eb4.chunk.js.map new file mode 100644 index 0000000..75fc901 --- /dev/null +++ b/static/js/main.dc167eb4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["frames lazy /^/.//.*/.png$/ groupOptions: {} namespace object","hashtags lazy /^/.//.*/.png$/ groupOptions: {} namespace object","locales lazy /^/.//.*/.ftl$/ groupOptions: {} namespace object","FrameChooser.js","Localized.js","HashtagChooser.js","Editor.js","VoltLogoPurple.svg","purpleBG.png","empty_1x1.png","App.js","reportWebVitals.js","l10n.js","index.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","FrameChooser","onChange","useState","frames","setFrames","choosenFrame","setChoosenFrame","choosenFrameSRC","src","useEffect","a","all","frame_filename","default","name","new_frames","loadFrames","handleImageChoosing","useCallback","frame","className","frame_src_path","isChoosen","data-src","onClick","alt","Localized","props","elems","br","Fragment","children","withLocalization","Inner","l10n","React","useContext","FluentContext","createElement","getString","args","fallback","hashtags","split","tag","trim","filter","length","clamp","value","min","max","Math","Editor","backgroundURL","backgroundRatio","frameURL","hashtagURL","editorRef","useRef","backgroundImageRef","hammer_got_init","set_hammer_got_init","hammertime","set_hammertime","hamster","set_hamster","x","set_x","y","set_y","add_x","set_add_x","add_y","set_add_y","scale","set_scale","photoWidth","setPhotoWidth","photoHeight","setPhotoHeight","editorWidth","setEditorWidth","editorHeight","setEditorHeight","rangeMinX","set_rangeMinX","rangeMinY","set_rangeMinY","rangeMaxX","set_rangeMaxX","rangeMaxY","set_rangeMaxY","current","new_editorWidth","offsetWidth","new_editorHeight","offsetHeight","new_photoWidth","new_photoHeight","imageWidth","imageHeight","imageScale","containerWidth","containerHeight","updateRange","handleMove","event","prev_x","target","dataset","prev_y","new_x","deltaX","new_y","deltaY","isFinal","handleScale","delta","preventDefault","new_scale","element","addEventListener","Hammer","direction","Hamster","on","wheel","off","unwheel","ref","data-x","data-y","data-scale","style","width","height","transform","frameSize","UmamiLink","href","handleClick","window","umami","trackEvent","open","setTimeout","location","locales","currentLocale","onLanguageChange","setFrame","hashtag","setHashtag","originalPhoto","setOriginalPhoto","originalPhotoRation","setOriginalPhotoRation","orientation","set_orientation","set_width","set_height","cords","setCords","handleFrame","newFrame","handleHashtag","newHashtag","handleCordsChange","handleReadFile","file","reader","FileReader","onload","reader_event","img","Image","callback","view","DataView","result","getUint16","byteLength","offset","marker","getUint32","little","tags","i","readAsArrayBuffer","slice","getOrientation","new_orientation","original_ration","readAsDataURL","handleImage","files_event","files","onDrop","acceptedFiles","handleDownload","canvas","document","ctx","getContext","alpha","translate","rotate","PI","width_scaled","height_scaled","drawImage","pngUrl","toDataURL","mergeImages","purpleBG","b64","data","body","appendChild","download","click","remove","trigger_download","frameName","hashtagName","join","useDropzone","accept","maxFiles","noKeyboard","isDragActive","getRootProps","VoltLogoPurple","tabIndex","outline","type","display","startsWith","empty_1x1","entries","locale","data-locale","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","de","en","es","pt","fr","it","nl","pl","ru","_supportedLocales_","fetchMessages","path","fetch","response","text","messages","FluentResource","createMessagesGenerator","currentLocales","fetched","reduce","obj","cur","assign","generateBundles","bundle","FluentBundle","addResource","f","AppLocalizationProvider","userLocales","onLocaleChange","ReactLocalization","getDefaultBundles","bundles","setBundles","negotiateLanguages","defaultLocale","loadBundles","AppLanguageWrapper","navigator","languages","setUserLocales","setCurrentLocale","systemLocales","Array","isArray","handleLanguageChange","handleCurrentLocalesChange","ReactDOM","render","StrictMode","getElementById"],"mappings":"qJAAA,IAAIA,EAAM,CACT,cAAe,CACd,GACA,IAED,yBAA0B,CACzB,GACA,IAED,yBAA0B,CACzB,GACA,IAED,oCAAqC,CACpC,GACA,IAED,mBAAoB,CACnB,GACA,IAED,oBAAqB,CACpB,GACA,IAED,oBAAqB,CACpB,GACA,IAED,kBAAmB,CAClB,GACA,IAED,oBAAqB,CACpB,GACA,IAED,qBAAsB,CACrB,GACA,IAED,mBAAoB,CACnB,GACA,IAED,gCAAiC,CAChC,GACA,IAED,qCAAsC,CACrC,GACA,IAED,qCAAsC,CACrC,GACA,IAED,4BAA6B,CAC5B,GACA,IAED,iCAAkC,CACjC,GACA,IAED,iCAAkC,CACjC,GACA,IAED,qBAAsB,CACrB,GACA,IAED,qBAAsB,CACrB,GACA,IAED,gBAAiB,CAChB,GACA,KAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,WACzC,OAAOJ,EAAoBS,MAG7BX,EAAoBY,KAAO,WAC1B,OAAOC,OAAOD,KAAKb,IAEpBC,EAAoBW,GAAK,GACzBG,EAAOC,QAAUf,G,mBCpGjB,IAAID,EAAM,CACT,mBAAoB,CACnB,GACA,IAED,kBAAmB,CAClB,GACA,IAED,gBAAiB,CAChB,GACA,IAED,qBAAsB,CACrB,GACA,IAED,kBAAmB,CAClB,GACA,IAED,4BAA6B,CAC5B,GACA,IAED,yBAA0B,CACzB,GACA,IAED,uBAAwB,CACvB,GACA,IAED,0BAA2B,CAC1B,GACA,IAED,oBAAqB,CACpB,GACA,IAED,yBAA0B,CACzB,GACA,IAED,uBAAwB,CACvB,GACA,IAED,kBAAmB,CAClB,GACA,IAED,yBAA0B,CACzB,GACA,IAED,cAAe,CACd,GACA,IAED,gBAAiB,CAChB,GACA,IAED,oBAAqB,CACpB,GACA,IAED,wBAAyB,CACxB,GACA,IAED,iBAAkB,CACjB,GACA,IAED,kBAAmB,CAClB,GACA,IAED,uBAAwB,CACvB,GACA,IAED,6BAA8B,CAC7B,GACA,IAED,yBAA0B,CACzB,GACA,IAED,mBAAoB,CACnB,GACA,IAED,0BAAwB,CACvB,GACA,IAED,qBAAsB,CACrB,GACA,IAED,oBAAqB,CACpB,GACA,IAED,wBAAyB,CACxB,GACA,IAED,sBAAuB,CACtB,GACA,IAED,oBAAqB,CACpB,GACA,KAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,WACzC,OAAOJ,EAAoBS,MAG7BX,EAAoBY,KAAO,WAC1B,OAAOC,OAAOD,KAAKb,IAEpBC,EAAoBW,GAAK,GACzBG,EAAOC,QAAUf,G,mBC5IjB,IAAID,EAAM,CACT,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,GAED,WAAY,CACX,IACA,IAED,WAAY,CACX,IACA,KAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,WACzC,OAAOJ,EAAoBS,MAG7BX,EAAoBY,KAAO,WAC1B,OAAOC,OAAOD,KAAKb,IAEpBC,EAAoBW,GAAK,GACzBG,EAAOC,QAAUf,G,uKCoBFgB,MA1Ef,YAAqC,IAAbC,EAAY,EAAZA,SAAY,EACJC,mBAAS,IADL,mBACzBC,EADyB,KACjBC,EADiB,OAEQF,mBAAS,MAFjB,mBAEzBG,EAFyB,KAEXC,EAFW,KAI1BC,EAAoBF,EAAeA,EAAaG,IAAM,KAE5DC,qBAAU,WAAM,4CACZ,sBAAAC,EAAA,sDACItB,QAAQuB,IACJ,CACI,eACA,eACA,cACA,UAKA,aAGA,QACA,aACA,cACA,YACA,eAIA,+BAEH5B,IAtBD,uCAsBK,WAAM6B,GAAN,SAAAF,EAAA,kEAESE,EAFT,SAGe,MAAO,YAAYA,EAAnB,SAHf,0BAGyDC,QAHzD,mBAEGC,KAFH,KAGGN,IAHH,kDAtBL,wDA6BHlB,MAAK,SAAAyB,GACFX,EAAUW,GACVT,EAAgBS,EAAW,OAjCnC,4CADY,uBAAC,WAAD,wBAqCZC,KACD,IAEH,IAAMC,EAAsBC,uBAAY,SAAAC,GACpCb,EAAgBa,KACjB,CAACb,IAMJ,OAJAG,qBAAU,WACNR,EAASI,KACV,CAACJ,EAAUI,IAGV,qBAAKe,UAAU,eAAf,SAEQjB,EAAOpB,KAAI,SAAAoC,GACP,IAAME,EAAiBF,EAAMX,IACvBc,EAAYf,IAAoBc,EACtC,OAAO,qBAEHE,WAAUF,EACVD,UAAWE,EAAY,gBAAkB,QACzCE,QAAS,kBAAMP,EAAoBE,IAJhC,SAMH,qBAAKM,IAAKN,EAAML,KAAMN,IAAKa,KALtBA,S,gBCvDvBK,EAAY,SAAAC,GAAK,OACnB,cAAC,IAAD,2BAEQA,GAFR,IAGIC,MAAK,aACDC,GAAI,wBACDF,EAAMC,OALjB,SAQI,cAAC,IAAME,SAAP,UAAiBH,EAAMI,aAPlBJ,EAAMhC,KAanB,SAASqC,EAAiBC,GAQtB,OAPA,SAA0BN,GACtB,IAAMO,EAAOC,IAAMC,WAAWC,KAI9B,OAAOF,IAAMG,cAAcL,EAApB,aAA6BM,UAFlB,SAAC5C,EAAI6C,EAAMC,GAAX,OAAwBP,EAAKK,UAAU5C,EAAI6C,EAAMC,GAAY,OAE7Bd,KCwC3CK,SAlEf,YAAkD,IAAxB/B,EAAuB,EAAvBA,SAAUsC,EAAa,EAAbA,UAAa,EACjBrC,mBAAS,IADQ,mBACtCC,EADsC,KAC9BC,EAD8B,OAELF,mBAAS,MAFJ,mBAEtCG,EAFsC,KAExBC,EAFwB,KAIvCC,EAAoBF,EAAeA,EAAaG,IAAM,KAExDkC,EAAWH,EAAU,YAEzB9B,qBAAU,WAAM,4CACZ,sBAAAC,EAAA,sDACItB,QAAQuB,IACJ,CACI,IADJ,mBAGQ+B,EAASC,MAAM,MACV5D,KAAI,SAAA6D,GAAG,OAAIA,EAAIC,UACfC,QAAO,SAAAF,GAAG,OAAIA,EAAIG,OAAS,OAGnChE,IARL,uCAQS,WAAM6B,GAAN,eAAAF,EAAA,yDACGF,EAAMI,EACa,KAAnBA,EAFH,gCAGgB,MAAO,YAAcA,EAArB,SAHhB,OAGGJ,EAHH,OAG4DK,QAH5D,gCAKM,CACHC,KAAMF,EACNJ,QAPH,2CART,wDAmBClB,MAAK,SAAAyB,GACFX,EAAUW,GACVT,EAAgBS,EAAW,OAvBvC,4CADY,uBAAC,WAAD,wBA2BZC,KACD,CAAC0B,IAEJ,IAAMzB,EAAsBC,uBAAY,SAAAC,GACpCb,EAAgBa,KACjB,CAACb,IAMJ,OAJAG,qBAAU,WACNR,EAASI,KACV,CAACJ,EAAUI,IAGV,qBAAKe,UAAU,iBAAf,SAEQjB,EAAOpB,KAAI,SAAAoC,GACP,IAAME,EAAiBF,EAAMX,IACvBc,EAAYf,IAAoBc,EACtC,OAAO,wBAEHE,WAAUF,EACVD,UAAWE,EAAY,kBAAoB,UAC3CE,QAAS,kBAAMP,EAAoBE,IAJhC,SAMa,KAAfA,EAAML,KAAcyB,EAAU,qBAAuBpB,EAAML,MALvDK,EAAML,c,kCChCnC,SAASkC,EAAMC,EAAOC,EAAKC,GACvB,OAAOC,KAAKF,IAAIE,KAAKD,IAAID,EAAKD,GAAQE,GA+M3BE,MArMf,YAAqF,IAAnEpD,EAAkE,EAAlEA,SAAUqD,EAAwD,EAAxDA,cAAeC,EAAyC,EAAzCA,gBAAiBC,EAAwB,EAAxBA,SAAUC,EAAc,EAAdA,WAC5DC,EAAYC,iBAAO,MACnBC,EAAqBD,iBAAO,MAF8C,EAIjCzD,oBAAS,GAJwB,mBAIzE2D,EAJyE,KAIxDC,EAJwD,OAM3C5D,mBAAS,MANkC,mBAMzE6D,EANyE,KAM7DC,EAN6D,OAOjD9D,mBAAS,MAPwC,mBAOzE+D,EAPyE,KAOhEC,EAPgE,OAS7DhE,mBAAS,GAToD,mBASzEiE,EATyE,KAStEC,EATsE,OAU7DlE,mBAAS,GAVoD,mBAUzEmE,EAVyE,KAUtEC,EAVsE,OAWrDpE,mBAAS,GAX4C,mBAWzEqE,EAXyE,KAWlEC,EAXkE,OAYrDtE,mBAAS,GAZ4C,mBAYzEuE,EAZyE,KAYlEC,EAZkE,OAarDxE,mBAAS,GAb4C,mBAazEyE,EAbyE,KAalEC,EAbkE,OAgB5C1E,mBAAS,KAhBmC,mBAgBzE2E,EAhByE,KAgB7DC,EAhB6D,OAiB1C5E,mBAAS,KAjBiC,mBAiBzE6E,EAjByE,KAiB5DC,EAjB4D,QAkB1C9E,mBAAS,KAlBiC,qBAkBzE+E,GAlByE,MAkB5DC,GAlB4D,SAmBxChF,mBAAS,KAnB+B,qBAmBzEiF,GAnByE,MAmB3DC,GAnB2D,SAqB7ClF,mBAAS,GArBoC,qBAqBzEmF,GArByE,MAqB9DC,GArB8D,SAsB7CpF,mBAAS,GAtBoC,qBAsBzEqF,GAtByE,MAsB9DC,GAtB8D,SAuB7CtF,mBAAS,GAvBoC,qBAuBzEuF,GAvByE,MAuB9DC,GAvB8D,SAwB7CxF,mBAAS,GAxBoC,qBAwBzEyF,GAxByE,MAwB9DC,GAxB8D,MA0BhFnF,qBAAU,WACAR,GACFA,EAAS,CAAEkE,IAAGE,IAAGM,YAEtB,CAAC1E,EAAUkE,EAAGE,EAAGM,IAEpBlE,qBAAU,WACN,GAAMiD,GAAeA,EAAUmC,QAAS,CACpC,IAAMC,EAAkBpC,EAAUmC,QAAQE,YACpCC,EAAmBtC,EAAUmC,QAAQI,aAC3Cb,GAAgBY,GAChBd,GAAeY,GAEf,IAAII,EAAiB,EACjBC,EAAkB,EAClB5C,EAAkB,EAClB2C,EAAiB,EAAI3C,EACdA,EAAkB,IACzB4C,EAAkB,EAAI5C,GAG1BuB,EAAcoB,GACdlB,EAAemB,MAEpB,CAAC5C,IAEJ9C,qBAAU,WAAO,IAAD,EAlFpB,SAAqB2F,EAAYC,EAAaC,EAAYC,EAAgBC,GAEtE,IAGMf,EAHSrC,KAAKD,IAAI,EAAIiD,EAAaE,EAAcC,GAG3B,EAGtBZ,EALSvC,KAAKD,IAAI,EAAIkD,EAAcC,EAAcE,GAK5B,EAG5B,MAAO,CACHf,YACAJ,UAPc,EAAII,EAQlBE,YACAJ,UANc,EAAII,GA+Edc,CAAY5B,EAAaI,GAAaF,EAAcI,GAAcR,EAAOM,GAAaE,IAJtFE,EAFQ,EAERA,UACAE,EAHQ,EAGRA,UACAE,EAJQ,EAIRA,UACAE,EALQ,EAKRA,UAGJL,GAAcD,GACdG,GAAcD,GACdG,GAAcD,GACdG,GAAcD,KACf,CACCd,EACAE,EACAE,GACAE,GACAR,IAGJlE,qBAAU,WACN2D,EAAM,GACNE,EAAM,GACNE,EAAU,GACVE,EAAU,GACVE,EAAU,KACX,CAACtB,IAEJ,IAAMoD,GAAaxF,uBAAY,SAAAyF,GAC3B,IAAMC,EAAkC,EAAzBD,EAAME,OAAOC,QAAQ3C,EAC9B4C,EAAkC,EAAzBJ,EAAME,OAAOC,QAAQzC,EAE9B2C,EAAQhE,EAAM4D,EAASD,EAAMM,OAAQ5B,GAAWI,IAChDyB,EAAQlE,EAAM+D,EAASJ,EAAMQ,OAAQ5B,GAAWI,IAElDgB,EAAMS,SACNhD,EAAM4C,GAAS,GACf1C,EAAM4C,GAAS,GACf1C,EAAU,GACVE,EAAU,KAEVF,EAAUwC,EAAQJ,GAAU,GAC5BlC,EAAUwC,EAAQH,GAAU,MAEjC,CACC1B,GACAE,GACAE,GACAE,KAGE0B,GAAcnG,uBAAY,SAACyF,EAAOW,EAAOL,EAAQE,GACnDR,EAAMY,iBAEN,IACMC,EAAYxE,EAD8B,EAA7B2D,EAAME,OAAOC,QAAQnC,MACH2C,EAAQ,IAhHtC,EACA,GAgHP1C,EAAU4C,GAAa,GAEvB,IAAMZ,EAAkC,EAAzBD,EAAME,OAAOC,QAAQ3C,EAC9B4C,EAAkC,EAAzBJ,EAAME,OAAOC,QAAQzC,EACpCD,EAAMpB,EAAM4D,EAAQvB,GAAWI,KAAc,GAC7CnB,EAAMtB,EAAM+D,EAAQxB,GAAWI,KAAc,KAC9C,CACCN,GACAE,GACAE,GACAE,KA8CJ,OA3CAlF,qBAAU,WACN,IAAKoD,GAAqBH,GAAeA,EAAUmC,QAAS,CACxD,IAAM4B,EAAU/D,EAAUmC,QAE1B4B,EAAQC,iBAAiB,aAAa,SAAAf,GAClCA,EAAMY,oBAEP,GACHE,EAAQC,iBAAiB,cAAc,SAAAf,GACnCA,EAAMY,oBAEP,GACHE,EAAQC,iBAAiB,YAAY,SAAAf,GACjCA,EAAMY,oBAEP,GACHE,EAAQC,iBAAiB,aAAa,SAAAf,GAClCA,EAAMY,oBAEP,GAEHvD,EAAe,IAAI2D,IAAOF,EAAS,CAC/BG,UAAW,mBAGf1D,EAAY2D,IAAQJ,IAEpB3D,GAAoB,MAEzB,CAACJ,EAAWG,IAEfpD,qBAAU,WACN,GAAMsD,GAAgBE,GAAWJ,GAAqBH,GAAeA,EAAUmC,QAI3E,OAHA9B,EAAW+D,GAAG,MAAOpB,IACrBzC,EAAQ8D,MAAMV,IAEP,WACHtD,EAAWiE,IAAI,MAAOtB,IACtBzC,EAAQgE,aAGjB,CAACvE,EAAWgD,GAAYW,GAAaxD,EAAiBE,EAAYE,IAGjE,sBACI7C,UAAU,SACV8G,IAAKxE,EACLyE,SAAQhE,EACRiE,SAAQ/D,EACRgE,aAAY1D,EALhB,UAOI,qBACInE,IAAK8C,EACL4E,IAAKtE,EACLnC,IAAI,GACJL,UAAU,aACVkH,MAAO,CACHC,MAAmB,IAAX1D,EAAgB,IACxB2D,OAAqB,IAAZzD,EAAiB,IAC1B0D,UAAU,2BAAD,OAA6BtE,EAAII,EAAjC,4BAA0DF,EAAII,EAA9D,0BAAqFE,EAArF,YAA8FA,EAA9F,QAGjB,qBACInE,IAAKgD,EACL/B,IAAI,GACJL,UAAU,eAEd,qBACIZ,IAAKiD,EACLhC,IAAI,GACJL,UAAU,gBClOX,MAA0B,2CCA1B,+0DCAA,2LCaTsH,EAAY,KAyDlB,SAASC,EAAT,GAAgE,IAA3CC,EAA0C,EAA1CA,KAAM9H,EAAoC,EAApCA,KAAM+F,EAA8B,EAA9BA,OAAQ9E,EAAsB,EAAtBA,SAAaJ,EAAS,mDACrDkH,EAAc3H,uBAAY,SAAAyF,GAiB5B,OAfImC,OAAOC,OAASjI,GAChBgI,OAAOC,MAAMC,WAAW,MAAQlI,GAI5B+F,EAKJiC,OAAOG,KAAKL,EAAM/B,GAJlBqC,YAAW,WACPJ,OAAOK,SAAWP,IACnB,KAMPjC,EAAMY,kBACC,IACR,CAACqB,EAAM9H,EAAM+F,IAEhB,OAAO,6CACClF,GADD,IAEHiH,KAAMA,EACNpH,QAASqH,EAHN,SAKF9G,KA4TMC,SAxTf,YAAuE,IAAxDO,EAAuD,EAAvDA,UAAW6G,EAA4C,EAA5CA,QAASC,EAAmC,EAAnCA,cAAeC,EAAoB,EAApBA,iBAAoB,EACxCpJ,mBAAS,MAD+B,mBAC3DiB,EAD2D,KACpDoI,EADoD,OAEpCrJ,mBAAS,MAF2B,mBAE3DsJ,EAF2D,KAElDC,EAFkD,OAGxBvJ,mBAAS,MAHe,mBAG3DwJ,EAH2D,KAG5CC,EAH4C,OAIZzJ,mBAAS,GAJG,mBAI3D0J,EAJ2D,KAItCC,EAJsC,OAK3B3J,mBAAS,MALkB,mBAK3D4J,EAL2D,KAK9CC,EAL8C,KAO5DvG,EAAarC,EAAQA,EAAMX,IAAM,KACjCiD,EAAe+F,EAAUA,EAAQhJ,IAAM,KARqB,EAYvCN,mBAAS,GAZ8B,mBAY3DqI,EAZ2D,KAYpDyB,EAZoD,OAarC9J,mBAAS,GAb4B,mBAa3DsI,EAb2D,KAanDyB,EAbmD,OAexC/J,mBAAS,CAACiE,EAAE,EAAGE,EAAE,EAAGM,MAAM,IAfc,mBAe3DuF,EAf2D,KAepDC,GAfoD,KAiB5DC,GAAclJ,uBAAY,SAAAmJ,GAC5Bd,EAASc,KACV,CAACd,IAEEe,GAAgBpJ,uBAAY,SAAAqJ,GAC9Bd,EAAWc,KACZ,CAACd,IAEEe,GAAoBtJ,uBAAY,YAAoB,IAAlBiD,EAAiB,EAAjBA,EAAGE,EAAc,EAAdA,EAAGM,EAAW,EAAXA,MAC1CwF,GAAS,CAAEhG,IAAGE,IAAGM,YAClB,IAEG8F,GAAiBvJ,uBAAY,SAAAwJ,GAC/B,GAAQA,EAAR,CAIA,IAAMC,EAAS,IAAIC,WACnBD,EAAOE,OAAS,SAAAC,GACZ,IAAMC,EAAM,IAAIC,MAChBD,EAAIF,OAAS,WACT,IAAItC,EAAOC,EACPuC,EAAIxC,MAAQwC,EAAIvC,QAChBA,EAAUuC,EAAIvC,OAASuC,EAAIxC,MAASG,EACpCH,EAAQG,IAERF,EAASE,EACTH,EAASwC,EAAIxC,MAAQwC,EAAIvC,OAAUE,GAjIvD,SAAwBgC,EAAMO,GAG1B,IAAMN,EAAS,IAAIC,WAEnBD,EAAOE,OAAS,SAAUlE,GACtB,IAAMuE,EAAO,IAAIC,SAASxE,EAAME,OAAOuE,QAEvC,GAAiC,QAA7BF,EAAKG,UAAU,GAAG,GAClB,OAAOJ,GAAU,GAMrB,IAHA,IAAMlI,EAASmI,EAAKI,WAChBC,EAAS,EAENA,EAASxI,GAAQ,CACpB,IAAMyI,EAASN,EAAKG,UAAUE,GAAQ,GAGtC,GAFAA,GAAU,EAEK,QAAXC,EAAmB,CACnB,GAA2C,aAAvCN,EAAKO,UAAUF,GAAU,GAAG,GAC5B,OAAON,GAAU,GAErB,IAAMS,EAAgD,QAAvCR,EAAKG,UAAUE,GAAU,GAAG,GAC3CA,GAAUL,EAAKO,UAAUF,EAAS,EAAGG,GACrC,IAAMC,EAAOT,EAAKG,UAAUE,EAAQG,GACpCH,GAAU,EAEV,IAAK,IAAIK,EAAI,EAAGA,EAAID,EAAMC,IACtB,GAAkD,MAA9CV,EAAKG,UAAUE,EAAc,GAAJK,EAASF,GAClC,OAAOT,EAASC,EAAKG,UAAUE,EAAc,GAAJK,EAAU,EAAGF,QAG3D,IAA0B,SAAZ,MAATF,GACR,MAEAD,GAAUL,EAAKG,UAAUE,GAAQ,IAGzC,OAAON,GAAU,IAGrBN,EAAOkB,kBAAkBnB,EAAKoB,MAAM,EAAG,QA0F3BC,CAAerB,GAAM,SAAAsB,GACjB,IAAIC,EAAkB,EAEtB,OAAQD,GAGJ,KAAK,EAIL,KAAK,EAIL,KAAK,EAEDC,EAAkBzD,EAASD,EAC3B,MACJ,KAAK,EAIL,KAAK,EAIL,KAAK,EAIL,KAAK,EAED0D,EAAkB1D,EAAQC,EAC1B,MACJ,QACIyD,EAAkBzD,EAASD,EAInCyB,EAAUzB,GACV0B,EAAWzB,GACXmB,EAAiBmB,EAAajE,OAAOuE,QACrCrB,EAAgBiC,GAChBnC,EAAuBoC,OAG/BlB,EAAIvK,IAAMsK,EAAajE,OAAOuE,QAElCT,EAAOuB,cAAcxB,MACtB,IAEGyB,GAAcjL,uBAAY,SAAAkL,GAC5B3B,GAAe2B,EAAYvF,OAAOwF,MAAM,MACzC,CAAC5B,KAEE6B,GAASpL,uBAAY,SAAAqL,GACvB9B,GAAe8B,EAAc,MAC9B,CAAC9B,KAEE+B,GAAiBtL,uBAAY,WAC/B,IAAM6J,EAAM,IAAIC,MAChBD,EAAIF,OAAS,WACT,IAAM4B,EAASC,SAASpK,cAAc,UACtCmK,EAAOlE,MAAQG,EACf+D,EAAOjE,OAASE,EAEhB,IAAMiE,EAAMF,EAAOG,WAAW,KAAM,CAAEC,OAAO,IAG7C,OAAQ/C,GAGJ,KAAK,EAED6C,EAAIG,UAAUL,EAAOlE,MAAO,GAC5BoE,EAAIhI,OAAO,EAAG,GACd,MACJ,KAAK,EAEDgI,EAAIG,UAAUL,EAAOlE,MAAOkE,EAAOjE,QACnCmE,EAAII,OAAO3J,KAAK4J,IAChB,MACJ,KAAK,EAEDL,EAAIG,UAAU,EAAGL,EAAOjE,QACxBmE,EAAIhI,MAAM,GAAI,GACd,MACJ,KAAK,EAEDgI,EAAII,OAAO,GAAM3J,KAAK4J,IACtBL,EAAIhI,MAAM,GAAI,GACd,MACJ,KAAK,EAEDgI,EAAII,OAAO,GAAM3J,KAAK4J,IACtBL,EAAIG,UAAU,GAAIL,EAAOjE,QACzB,MACJ,KAAK,EAEDmE,EAAII,OAAO,GAAM3J,KAAK4J,IACtBL,EAAIG,UAAUL,EAAOlE,OAAQkE,EAAOjE,QACpCmE,EAAIhI,OAAO,EAAG,GACd,MACJ,KAAK,EAEDgI,EAAII,QAAQ,GAAM3J,KAAK4J,IACvBL,EAAIG,WAAWL,EAAOlE,MAAO,GAOrC,IAAM0E,EAAe1E,EAAQ2B,EAAMvF,MAC7BuI,EAAgB1E,EAAS0B,EAAMvF,MAErCgI,EAAIQ,UACApC,EACU,IAAVb,EAAM/F,EAAuC,IAA5BuE,EAAYuE,GACnB,IAAV/C,EAAM7F,EAAwC,IAA7BqE,EAAYwE,GAC7BD,EACAC,GAUJ,IAAME,EAASX,EAAOY,YAEtBC,YAAY,CACRC,GADO,mBAEHH,EAAS,CAACA,GAAU,IAFjB,YAGH5J,EAAW,CAACA,GAAY,IAHrB,YAIHC,EAAa,CAACA,GAAc,MAEnCnE,MAAK,SAAAkO,IAlOlB,SAA0B1M,EAAM2M,GAC5B,IAAM/M,EAAIgM,SAASpK,cAAc,KACjCoK,SAASgB,KAAKC,YAAYjN,GAE1BA,EAAEkN,SAAW9M,EACbJ,EAAEkI,KAAO6E,EACT/M,EAAEmN,QACFnN,EAAEoN,SA6NUC,CAAiB,2BAA4BP,GAE7C,IAAMQ,EAAY7M,EAAML,MAAQ,WAC1BmN,EAAczE,EAAQ1I,MAAQ,aAEhCgI,OAAOC,QACPD,OAAOC,MAAMC,WAAW,MAAQgF,GAChClF,OAAOC,MAAMC,WAAW,MAAQiF,GAChCnF,OAAOC,MAAMC,WAAW,MAAQ,CAACgF,EAAWC,GAAaC,KAAK,aAK1EnD,EAAIvK,IAAMkJ,IACX,CACCA,EACAQ,EAAM/F,EACN+F,EAAM7F,EACN6F,EAAMvF,MACNmF,EACAtG,EACAC,EACA+E,EACAD,EACApH,EACAqI,IArN8D,GAwN3B2E,YAAY,CAC/C7B,UACA8B,OAAQ,UACRC,SAAU,EACVC,YAAY,IAJRC,GAxN0D,GAwN1DA,aAAcC,GAxN4C,GAwN5CA,aAOtB,OACI,8CAAKpN,UAAU,OAAUoN,MAAzB,cACI,qBAAKhO,IAAKiO,EAAgBrN,UAAU,cAAcK,IAAKc,EAAU,mBACjE,6BAAI,cAAC,EAAD,CAAW5C,GAAG,8BAElB,qBAAKyB,UAAWmN,GAAe,kBAAoB,WAAnD,SACI,cAAC,EAAD,CAAW5O,GAAG,4BAGlB,6BAAI,cAAC,EAAD,CAAWA,GAAG,yBAClB,4BAAG,cAAC,EAAD,CAAWA,GAAG,6BAEjB,wBAAOyB,UAAU,cAAcsN,SAAS,IAAIpG,MAAO,CAACqG,QAAQ,QAA5D,UACOjF,EAAgB,qBAAKlJ,IAAKkJ,EAAejI,IAAI,YAAe,KAC/D,+BAAyBc,EAAhBmH,EAA0B,sBAAmC,uBACtE,uBAAOzJ,SAAUkM,GAAayC,KAAK,OAAOR,OAAO,UAAU9F,MAAO,CAACuG,QAAS,aAGpD,qCACxB,6BAAI,cAAC,EAAD,CAAWlP,GAAG,yBAClB,cAAC,EAAD,CAAcM,SAAUmK,MAEnB5G,GAAY,IAAIsL,WAAW,sBAC1B,KACA,qCACE,6BAAI,cAAC,EAAD,CAAWnP,GAAG,2BAClB,cAAC,EAAD,CAAgBM,SAAUqK,WAKnCZ,GAAmBlG,EAAY,qCAC9B,6BAAI,cAAC,EAAD,CAAW7D,GAAG,6BAMlB,cAAC,EAAD,CACI2D,cAAeoG,GAAiBqF,EAChCxL,gBAAiBqG,EACjBpG,SAAUA,EACVC,WAAYA,GAAcsL,EAC1B9O,SAAUuK,KAGd,wBAAQhJ,QAASgL,GAAjB,SAAiC,cAAC,EAAD,CAAW7M,GAAG,yBAC5C,KAEP,mCACI,cAACgJ,EAAD,CAAW7H,KAAK,UAAU8H,KAAK,4CAA/B,SACI,cAAC,EAAD,CAAWjJ,GAAG,mBAFtB,mBAKI,cAACgJ,EAAD,CAAW7H,KAAK,iBAAiB8H,KAAK,8CAAtC,SACI,cAAC,EAAD,CAAWjJ,GAAG,0BANtB,mBASI,cAACgJ,EAAD,CAAW7H,KAAK,cAAc8H,KAAK,wDAAnC,SACI,cAAC,EAAD,CAAWjJ,GAAG,uBAVtB,mBAaI,cAACgJ,EAAD,CAAW7H,KAAK,UAAU8H,KAAK,qCAA/B,SACI,cAAC,EAAD,CAAWjJ,GAAG,0BAKhByJ,GAAaE,EACb,qBAAKlI,UAAU,iBAAf,SAEMvB,OAAOmP,QAAQ5F,GACdrK,KAAI,YAAqB,IAAD,mBAAlBkQ,EAAkB,KAAVnO,EAAU,KACrB,OAAO,wBACHM,UAAW6N,IAAW5F,EAAgB,kBAAoB,UAE1D6F,cAAaD,EACbzN,QAAS8H,EAJN,SAMFxI,GAJImO,QASnB,YC3YHE,EAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,+BAAqB/P,MAAK,YAAkD,IAA/CgQ,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,O,gCCGDhG,EAAU,CACnBuG,GAAI,UACJC,GAAI,UACJC,GAAI,aACJC,GAAI,eACJC,GAAI,cACJC,GAAI,WACJC,GAAI,aACJC,GAAI,SACJC,GAAI,yCAGFC,EAAqBvQ,OAAOD,KAAKwJ,G,SAIxBiH,E,8EAAf,WAA6BpB,GAA7B,mBAAAvO,EAAA,sEACuB,MAAO,KAAeuO,EAAS,QADtD,cACUqB,EADV,gBAG2BC,MAAMD,EAAKzP,SAHtC,cAGU2P,EAHV,gBAI2BA,EAASC,OAJpC,cAIUC,EAJV,wCAMczB,EAAS,IAAI0B,IAAeD,KAN1C,6C,+BAeeE,E,8EAAf,WAAuCC,GAAvC,iBAAAnQ,EAAA,sEAC0BtB,QAAQuB,IAC1BkQ,EAAe9R,IAAIsR,IAF3B,cACUS,EADV,OAIUJ,EAAWI,EAAQC,QACrB,SAACC,EAAKC,GAAN,OAAcpR,OAAOqR,OAAOF,EAAKC,MALzC,oBAAAvQ,EAAA,MAQW,SAAUyQ,IAAV,2FACkBN,GADlB,yDAIC,OAHO5B,EADR,SAEOmC,EAAS,IAAIC,IAAapC,IACzBqC,YAAYZ,EAASzB,IAH7B,SAIOmC,EAJP,qHAAAG,IAAA,kDAAUJ,EAAV,yBARX,4C,sBAiBO,SAASK,EAAT,GAA4E,IAAzCC,EAAwC,EAAxCA,YAAa1P,EAA2B,EAA3BA,SAAU2P,EAAiB,EAAjBA,eAAiB,EAChDxR,mBAxBlC,WACI,IAAMkR,EAAS,IAAIC,IAAa,IAEhC,OADAD,EAAOE,YAAY,IAAIX,IAAe,KAC/B,IAAIgB,IAAkB,CAACP,IAqBSQ,IADuC,mBACvEC,EADuE,KAC9DC,EAD8D,KAqB9E,OAlBArR,qBAAU,WAAM,4CACZ,8BAAAC,EAAA,6DACUmQ,EAAiBkB,YACnBN,EACArB,EACA,CAAE4B,cA3CM,OA8CNN,GACFA,EAAeb,GARvB,SAWkCD,EAAwBC,GAX1D,OAWUM,EAXV,OAYIW,EAAY,IAAIH,IAAkBR,MAZtC,4CADY,uBAAC,WAAD,wBAeZc,KACD,CAACR,EAAaC,IAEZG,EAKE,cAAC,IAAD,CAAsB3P,KAAM2P,EAA5B,SACF9P,IAJM,sDCzEf,SAASmQ,IAAsB,IAAD,EACUhS,mBAASiS,UAAUC,WAD7B,mBACrBX,EADqB,KACRY,EADQ,OAEcnS,mBAAS,MAFvB,mBAErBmJ,EAFqB,KAENiJ,EAFM,KAI5B7R,qBAAU,WACR,IAAI8R,EAAgBJ,UAAUC,UAC9B,GAAItJ,OAAOC,QAAYwJ,GAAiBC,MAAMC,QAAQF,IAAiB,CAAC,IAAD,gBAChDA,GADgD,IACrE,2BAAoC,CAAC,IAA1BtD,EAAyB,QAClCnG,OAAOC,MAAMC,WAAW,MAAQiG,IAFmC,kCAKtE,IAEH,IAAMyD,EAAuBxR,uBAAY,SAAAyF,GACvC0L,EAAe,CAAC1L,EAAME,OAAOC,QAAQmI,WACpC,CAACoD,IAEEM,EAA6BzR,uBAAY,SAAA2P,GAC7CyB,EAAiBzB,EAAe9N,OAAS,EAAI8N,EAAe,GAAK,MAChE,CAACyB,IAEJ,OAAO,cAACd,EAAD,CAELC,YAAaA,EACbC,eAAgBiB,EAHX,SAKL,cAAC,EAAD,CAAKvJ,QAASA,EAASC,cAAeA,EAAeC,iBAAkBoJ,KAJnE,2BASRE,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAACZ,EAAD,MAEFxF,SAASqG,eAAe,SAM1B5D,M","file":"static/js/main.dc167eb4.chunk.js","sourcesContent":["var map = {\n\t\"./0xSOM.png\": [\n\t\t50,\n\t\t13\n\t],\n\t\"./2xSOM-Blue-Green.png\": [\n\t\t51,\n\t\t14\n\t],\n\t\"./2xSOM-Red-Yellow.png\": [\n\t\t52,\n\t\t15\n\t],\n\t\"./4xSOM-Blue-Red-Yellow-Green.png\": [\n\t\t53,\n\t\t16\n\t],\n\t\"./5xSOM-Blue.png\": [\n\t\t54,\n\t\t17\n\t],\n\t\"./5xSOM-Green.png\": [\n\t\t55,\n\t\t18\n\t],\n\t\"./5xSOM-Pride.png\": [\n\t\t56,\n\t\t19\n\t],\n\t\"./5xSOM-Red.png\": [\n\t\t57,\n\t\t20\n\t],\n\t\"./5xSOM-White.png\": [\n\t\t58,\n\t\t21\n\t],\n\t\"./5xSOM-Yellow.png\": [\n\t\t59,\n\t\t22\n\t],\n\t\"./Volt-Stars.png\": [\n\t\t60,\n\t\t23\n\t],\n\t\"./btw_Meine_Stimme_Balken.png\": [\n\t\t61,\n\t\t24\n\t],\n\t\"./btw_Meine_Stimme_Sterne_bunt.png\": [\n\t\t62,\n\t\t25\n\t],\n\t\"./btw_Meine_Stimme_Sterne_lila.png\": [\n\t\t63,\n\t\t26\n\t],\n\t\"./btw_VoteVolt_Balken.png\": [\n\t\t64,\n\t\t27\n\t],\n\t\"./btw_VoteVolt_Sterne_bunt.png\": [\n\t\t65,\n\t\t28\n\t],\n\t\"./btw_VoteVolt_Sterne_lila.png\": [\n\t\t66,\n\t\t29\n\t],\n\t\"./pride-2022-1.png\": [\n\t\t67,\n\t\t30\n\t],\n\t\"./pride-2022-2.png\": [\n\t\t68,\n\t\t31\n\t],\n\t\"./ukraine.png\": [\n\t\t69,\n\t\t32\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 42;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./#DeineWahl.png\": [\n\t\t70,\n\t\t33\n\t],\n\t\"./#EUReform.png\": [\n\t\t71,\n\t\t34\n\t],\n\t\"./#Europa.png\": [\n\t\t72,\n\t\t35\n\t],\n\t\"./#EuropeCares.png\": [\n\t\t73,\n\t\t36\n\t],\n\t\"./#European.png\": [\n\t\t74,\n\t\t37\n\t],\n\t\"./#FutureMadeInEurope.png\": [\n\t\t75,\n\t\t38\n\t],\n\t\"./#GeneratieEuropa.png\": [\n\t\t76,\n\t\t39\n\t],\n\t\"./#GeneratieVolt.png\": [\n\t\t77,\n\t\t40\n\t],\n\t\"./#GenerationEuropa.png\": [\n\t\t78,\n\t\t41\n\t],\n\t\"./#IkStemVolt.png\": [\n\t\t79,\n\t\t42\n\t],\n\t\"./#JetztBistDuDran.png\": [\n\t\t80,\n\t\t43\n\t],\n\t\"./#JoinTheChange.png\": [\n\t\t81,\n\t\t44\n\t],\n\t\"./#RejoinEU.png\": [\n\t\t82,\n\t\t45\n\t],\n\t\"./#ValuesOverPower.png\": [\n\t\t83,\n\t\t46\n\t],\n\t\"./#Volt.png\": [\n\t\t84,\n\t\t47\n\t],\n\t\"./#Volt21.png\": [\n\t\t85,\n\t\t48\n\t],\n\t\"./#VoltEuropa.png\": [\n\t\t86,\n\t\t49\n\t],\n\t\"./#VoltForLGBTIAQ.png\": [\n\t\t87,\n\t\t50\n\t],\n\t\"./#VoltRLP.png\": [\n\t\t88,\n\t\t51\n\t],\n\t\"./#VoteVolt.png\": [\n\t\t89,\n\t\t52\n\t],\n\t\"./#WirWerdenLaut.png\": [\n\t\t90,\n\t\t53\n\t],\n\t\"./#ZukunftMadeInEurope.png\": [\n\t\t91,\n\t\t54\n\t],\n\t\"./#ZweitstimmeVolt.png\": [\n\t\t92,\n\t\t55\n\t],\n\t\"./#democracy.png\": [\n\t\t93,\n\t\t56\n\t],\n\t\"./#paneuropäisch.png\": [\n\t\t94,\n\t\t57\n\t],\n\t\"./#pragmatisch.png\": [\n\t\t95,\n\t\t58\n\t],\n\t\"./#progressiv.png\": [\n\t\t96,\n\t\t59\n\t],\n\t\"./FriedenInEuropa.png\": [\n\t\t97,\n\t\t60\n\t],\n\t\"./PeaceInEurope.png\": [\n\t\t98,\n\t\t61\n\t],\n\t\"./stemvolt.nl.png\": [\n\t\t99,\n\t\t62\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 43;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de.ftl\": [\n\t\t100,\n\t\t3\n\t],\n\t\"./en.ftl\": [\n\t\t101,\n\t\t4\n\t],\n\t\"./es.ftl\": [\n\t\t102,\n\t\t5\n\t],\n\t\"./fr.ftl\": [\n\t\t103,\n\t\t6\n\t],\n\t\"./it.ftl\": [\n\t\t104,\n\t\t7\n\t],\n\t\"./nl.ftl\": [\n\t\t105,\n\t\t8\n\t],\n\t\"./pl.ftl\": [\n\t\t106,\n\t\t9\n\t],\n\t\"./pt.ftl\": [\n\t\t107,\n\t\t10\n\t],\n\t\"./ru.ftl\": [\n\t\t108,\n\t\t11\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 48;\nmodule.exports = webpackAsyncContext;","import { useState, useEffect, useCallback } from 'react'\n\nfunction FrameChooser({ onChange }) {\n const [frames, setFrames] = useState([])\n const [choosenFrame, setChoosenFrame] = useState(null)\n\n const choosenFrameSRC = !!choosenFrame ? choosenFrame.src : null\n\n useEffect(() => {\n async function loadFrames(){\n Promise.all(\n [\n 'pride-2022-1',\n 'pride-2022-2',\n '5xSOM-Pride',\n 'ukraine',\n // 'btw_VoteVolt_Balken',\n // 'btw_Meine_Stimme_Balken',\n // 'btw_VoteVolt_Sterne_bunt',\n // 'btw_Meine_Stimme_Sterne_bunt',\n 'Volt-Stars',\n // 'btw_VoteVolt_Sterne_lila',\n // 'btw_Meine_Stimme_Sterne_lila',\n '0xSOM', // SOM = Stripes of Movement\n '5xSOM-Blue',\n '5xSOM-Green',\n '5xSOM-Red',\n '5xSOM-Yellow',\n // '5xSOM-White',\n // '2xSOM-Blue-Green',\n // '2xSOM-Red-Yellow',\n '4xSOM-Blue-Red-Yellow-Green',\n ]\n .map(async frame_filename => {\n return {\n name: frame_filename,\n src: (await import(`./frames/${frame_filename}.png`)).default,\n }\n })\n )\n .then(new_frames => {\n setFrames(new_frames)\n setChoosenFrame(new_frames[0])\n })\n }\n loadFrames()\n }, [])\n\n const handleImageChoosing = useCallback(frame => {\n setChoosenFrame(frame)\n }, [setChoosenFrame])\n\n useEffect(() => {\n onChange(choosenFrame)\n }, [onChange, choosenFrame])\n\n return (\n
\n {\n frames.map(frame => {\n const frame_src_path = frame.src\n const isChoosen = choosenFrameSRC === frame_src_path\n return handleImageChoosing(frame)}\n >\n {frame.name}\n
\n })\n }\n \n )\n}\n\nexport default FrameChooser\n","import React from 'react'\nimport {\n Localized as LocalizedOriginal,\n // withLocalization,\n} from '@fluent/react'\n\nimport { FluentContext } from '../node_modules/@fluent/react/esm/context.js'\n\nconst Localized = props => (\n ,\n ...props.elems,\n }}\n >\n {props.children}\n \n)\n\n// A custom withLocalization to have an empty fallback.\n// It is nearly identical to the original.\nfunction withLocalization(Inner) {\n function WithLocalization(props) {\n const l10n = React.useContext(FluentContext)\n\n const getString = (id, args, fallback) => l10n.getString(id, args, fallback || ' ')\n\n return React.createElement(Inner, { getString, ...props })\n }\n return WithLocalization\n}\n\nexport {\n withLocalization,\n Localized,\n Localized as default,\n}\n\n/*\n\nimport { Localized, withLocalization } from '../Localized/'\n\n\nexport default withLocalization(componentName)\n\n\nimport Localized from '../Localized/'\n\n\nimport { withLocalization } from '@fluent/react'\nexport default withLocalization(componentName)\n\n*/\n","import { useState, useEffect, useCallback } from 'react'\nimport { withLocalization } from './Localized.js'\n\nfunction HashtagChooser({ onChange, getString }) {\n const [frames, setFrames] = useState([])\n const [choosenFrame, setChoosenFrame] = useState(null)\n\n const choosenFrameSRC = !!choosenFrame ? choosenFrame.src : null\n\n let hashtags = getString('hashtags')\n\n useEffect(() => {\n async function loadFrames() {\n Promise.all(\n [\n '',\n ...(\n hashtags.split('\\n')\n .map(tag => tag.trim())\n .filter(tag => tag.length > 0)\n )\n ]\n .map(async frame_filename => {\n let src = frame_filename\n if (frame_filename !== '') {\n src = (await import(`./hashtags/${frame_filename}.png`)).default\n }\n return {\n name: frame_filename,\n src\n }\n })\n )\n .then(new_frames => {\n setFrames(new_frames)\n setChoosenFrame(new_frames[0])\n })\n }\n loadFrames()\n }, [hashtags])\n\n const handleImageChoosing = useCallback(frame => {\n setChoosenFrame(frame)\n }, [setChoosenFrame])\n\n useEffect(() => {\n onChange(choosenFrame)\n }, [onChange, choosenFrame])\n\n return (\n
\n {\n frames.map(frame => {\n const frame_src_path = frame.src\n const isChoosen = choosenFrameSRC === frame_src_path\n return handleImageChoosing(frame)}\n >\n {frame.name === '' ? getString('button_no_hashtag') : frame.name}\n \n })\n }\n
\n )\n}\n\nexport default withLocalization(HashtagChooser)\n","import { useEffect, useRef, useState, useCallback } from 'react'\n\nimport Hammer from 'hammerjs'\nimport Hamster from 'hamsterjs'\n\nfunction updateRange(imageWidth, imageHeight, imageScale, containerWidth, containerHeight) {\n\n const rangeX = Math.max(0, (imageWidth * imageScale) - containerWidth)\n const rangeY = Math.max(0, (imageHeight * imageScale) - containerHeight)\n\n const rangeMaxX = (rangeX / 2)\n const rangeMinX = 0 - rangeMaxX\n\n const rangeMaxY = (rangeY / 2)\n const rangeMinY = 0 - rangeMaxY\n\n return {\n rangeMaxX,\n rangeMinX,\n rangeMaxY,\n rangeMinY,\n }\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max)\n}\n\n\n\nlet minScale = 1;\nlet maxScale = 8;\n\n\n\nfunction Editor({ onChange, backgroundURL, backgroundRatio, frameURL, hashtagURL }) {\n const editorRef = useRef(null)\n const backgroundImageRef = useRef(null)\n\n const [hammer_got_init, set_hammer_got_init] = useState(false)\n\n const [hammertime, set_hammertime] = useState(null)\n const [hamster, set_hamster] = useState(null)\n\n const [x, set_x] = useState(0)\n const [y, set_y] = useState(0)\n const [add_x, set_add_x] = useState(0)\n const [add_y, set_add_y] = useState(0)\n const [scale, set_scale] = useState(1)\n // const [add_scale, set_add_scale] = useState(0)\n\n const [photoWidth, setPhotoWidth] = useState(300)\n const [photoHeight, setPhotoHeight] = useState(300)\n const [editorWidth, setEditorWidth] = useState(300)\n const [editorHeight, setEditorHeight] = useState(300)\n\n const [rangeMinX, set_rangeMinX] = useState(0)\n const [rangeMinY, set_rangeMinY] = useState(0)\n const [rangeMaxX, set_rangeMaxX] = useState(0)\n const [rangeMaxY, set_rangeMaxY] = useState(0)\n\n useEffect(() => {\n if (!!onChange) {\n onChange({ x, y, scale})\n }\n }, [onChange, x, y, scale])\n\n useEffect(() => {\n if (!!editorRef && !!editorRef.current) {\n const new_editorWidth = editorRef.current.offsetWidth\n const new_editorHeight = editorRef.current.offsetHeight\n setEditorHeight(new_editorHeight)\n setEditorWidth(new_editorWidth)\n\n let new_photoWidth = 1\n let new_photoHeight = 1\n if (backgroundRatio < 1) {\n new_photoWidth = 1 / backgroundRatio\n } else if (backgroundRatio > 1) {\n new_photoHeight = 1 * backgroundRatio\n }\n\n setPhotoWidth(new_photoWidth)\n setPhotoHeight(new_photoHeight)\n }\n }, [backgroundRatio])\n\n useEffect(() => {\n const {\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n } = updateRange(photoWidth * editorWidth, photoHeight * editorHeight, scale, editorWidth, editorHeight)\n\n set_rangeMinX(rangeMinX)\n set_rangeMinY(rangeMinY)\n set_rangeMaxX(rangeMaxX)\n set_rangeMaxY(rangeMaxY)\n }, [\n photoWidth,\n photoHeight,\n editorWidth,\n editorHeight,\n scale,\n ])\n\n useEffect(() => {\n set_x(0)\n set_y(0)\n set_add_x(0)\n set_add_y(0)\n set_scale(1)\n }, [backgroundURL])\n\n const handleMove = useCallback(event => {\n const prev_x = event.target.dataset.x * 1\n const prev_y = event.target.dataset.y * 1\n\n const new_x = clamp(prev_x + event.deltaX, rangeMinX, rangeMaxX)\n const new_y = clamp(prev_y + event.deltaY, rangeMinY, rangeMaxY)\n\n if (event.isFinal) {\n set_x(new_x || 0)\n set_y(new_y || 0)\n set_add_x(0)\n set_add_y(0)\n }else{\n set_add_x(new_x - prev_x || 0)\n set_add_y(new_y - prev_y || 0)\n }\n }, [\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n ])\n\n const handleScale = useCallback((event, delta, deltaX, deltaY) => {\n event.preventDefault()\n\n const prev_scale = event.target.dataset.scale * 1\n const new_scale = clamp(prev_scale + delta / 200, minScale, maxScale)\n set_scale(new_scale || 1)\n\n const prev_x = event.target.dataset.x * 1\n const prev_y = event.target.dataset.y * 1\n set_x(clamp(prev_x, rangeMinX, rangeMaxX) || 0)\n set_y(clamp(prev_y, rangeMinY, rangeMaxY) || 0)\n }, [\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n ])\n\n useEffect(() => {\n if (!hammer_got_init && !!editorRef && !!editorRef.current) {\n const element = editorRef.current\n\n element.addEventListener('mousedown', event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchstart\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchend\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchmove\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n\n set_hammertime(new Hammer(element, {\n direction: 'DIRECTION_ALL',\n }))\n\n set_hamster(Hamster(element))\n\n set_hammer_got_init(true)\n }\n }, [editorRef, hammer_got_init])\n\n useEffect(() => {\n if (!!hammertime && !!hamster && hammer_got_init && !!editorRef && !!editorRef.current) {\n hammertime.on('pan', handleMove)\n hamster.wheel(handleScale)\n\n return function () {\n hammertime.off('pan', handleMove)\n hamster.unwheel()\n }\n }\n }, [editorRef, handleMove, handleScale, hammer_got_init, hammertime, hamster])\n\n return (\n \n \n \n \n \n )\n}\n\nexport default Editor\n","export default __webpack_public_path__ + \"static/media/VoltLogoPurple.125355f6.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAQ4AgMAAACRfoQcAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJUExURVAjeFAjeE8jd3Yl3xwAAAADdFJOU//+/Q3dsqEAAATsSURBVHgB7dAxAQAABAAwQtI/ipMCvi3CgiMV6NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NChQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOBTp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQwc6dOjQoUOHDh06dOjQoUOHDh06dOjQgQ4dOnTo0KFDhw4dOnTo0KFDhw4dOnSgQ4cOHTp06NChQ4cOHTp06NChQ4cOHTx06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHTrQoUOHDh06dOjQoUOHDh06dOjQoUOHDnTo0KFDhw4dOnTo0KFDhw4dOnTo0KEDHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4d6NChQ4cOHTp06NChQ4cOHTp06NChQ4cCHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4dxeoB30xd38yzCvgAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAALSURBVHgBY2BgAAAAAwABjPg5OgAAAABJRU5ErkJggg==\"","import { useState, useCallback } from 'react'\nimport './App.css'\nimport { useDropzone } from 'react-dropzone'\nimport mergeImages from 'merge-images'\nimport FrameChooser from './FrameChooser.js'\nimport HashtagChooser from './HashtagChooser.js'\nimport Editor from './Editor.js'\nimport VoltLogoPurple from './VoltLogoPurple.svg'\nimport purpleBG from './purpleBG.png'\nimport empty_1x1 from './empty_1x1.png'\n\nimport { withLocalization, Localized } from './Localized.js'\n\nconst frameSize = 1080\n\nfunction getOrientation(file, callback) {\n // Source: http://stackoverflow.com/a/32490603\n // (With some modifications: I just made the code fit the style-guide.)\n const reader = new FileReader()\n\n reader.onload = function (event) {\n const view = new DataView(event.target.result)\n\n if (view.getUint16(0, false) !== 0xFFD8) {\n return callback(-2)\n }\n\n const length = view.byteLength\n let offset = 2\n\n while (offset < length) {\n const marker = view.getUint16(offset, false)\n offset += 2\n\n if (marker === 0xFFE1) {\n if (view.getUint32(offset += 2, false) !== 0x45786966) {\n return callback(-1)\n }\n const little = view.getUint16(offset += 6, false) === 0x4949\n offset += view.getUint32(offset + 4, little)\n const tags = view.getUint16(offset, little)\n offset += 2\n\n for (var i = 0; i < tags; i++) {\n if (view.getUint16(offset + (i * 12), little) === 0x0112) {\n return callback(view.getUint16(offset + (i * 12) + 8, little))\n }\n }\n } else if ((marker & 0xFF00) !== 0xFF00) {\n break\n } else {\n offset += view.getUint16(offset, false)\n }\n }\n return callback(-1)\n }\n\n reader.readAsArrayBuffer(file.slice(0, 64 * 1024))\n}\n\nfunction trigger_download(name, data){\n const a = document.createElement('a')\n document.body.appendChild(a)\n // a.target = '_blank'\n a.download = name\n a.href = data\n a.click()\n a.remove()\n}\n\nfunction UmamiLink({ href, name, target, children, ...props }) {\n const handleClick = useCallback(event => {\n\n if (window.umami && name) {\n window.umami.trackEvent('A: ' + name) // Log Anker / Link\n }\n\n // follow link\n if (!(!!target)) {\n setTimeout(() => {\n window.location = href\n }, 200)\n }else{\n window.open(href, target)\n }\n\n // Prevent normal href-follow\n event.preventDefault()\n return false\n }, [href, name, target])\n\n return \n {children}\n \n}\n\nfunction App({ getString, locales, currentLocale, onLanguageChange }) {\n const [frame, setFrame] = useState(null)\n const [hashtag, setHashtag] = useState(null)\n const [originalPhoto, setOriginalPhoto] = useState(null)\n const [originalPhotoRation, setOriginalPhotoRation] = useState(1)\n const [orientation, set_orientation] = useState(null)\n\n const frameURL = !!frame ? frame.src : null\n const hashtagURL = !!hashtag ? hashtag.src : null\n\n // const [combinedImage, set_combinedImage] = useState(null)\n\n const [width, set_width] = useState(0)\n const [height, set_height] = useState(0)\n\n const [cords, setCords] = useState({x:0, y:0, scale:1})\n\n const handleFrame = useCallback(newFrame => {\n setFrame(newFrame)\n }, [setFrame])\n\n const handleHashtag = useCallback(newHashtag => {\n setHashtag(newHashtag)\n }, [setHashtag])\n\n const handleCordsChange = useCallback(({x, y, scale}) => {\n setCords({ x, y, scale })\n }, [])\n\n const handleReadFile = useCallback(file => {\n if (!(!!file)) {\n return;\n }\n\n const reader = new FileReader()\n reader.onload = reader_event => {\n const img = new Image()\n img.onload = function () {\n let width, height;\n if (img.width < img.height) {\n height = (img.height / img.width) * frameSize\n width = frameSize\n } else {\n height = frameSize\n width = (img.width / img.height) * frameSize\n }\n\n getOrientation(file, new_orientation => {\n let original_ration = 1\n // use the correct image orientation\n switch (new_orientation) {\n // Source: https://stackoverflow.com/a/30242954/2387277\n // Source: https://stackoverflow.com/questions/19463126/how-to-draw-photo-with-correct-orientation-in-canvas-after-capture-photo-by-usin\n case 2:\n // horizontal flip\n original_ration = height / width\n break\n case 3:\n // 180° rotate left\n original_ration = height / width\n break\n case 4:\n // vertical flip\n original_ration = height / width\n break\n case 5:\n // vertical flip + 90 rotate right\n original_ration = width / height\n break\n case 6:\n // 90° rotate right\n original_ration = width / height\n break\n case 7:\n // horizontal flip + 90 rotate right\n original_ration = width / height\n break\n case 8:\n // 90° rotate left\n original_ration = width / height\n break\n default:\n original_ration = height / width\n break\n }\n\n set_width(width)\n set_height(height)\n setOriginalPhoto(reader_event.target.result)\n set_orientation(new_orientation)\n setOriginalPhotoRation(original_ration)\n })\n }\n img.src = reader_event.target.result\n }\n reader.readAsDataURL(file)\n }, [])\n\n const handleImage = useCallback(files_event => {\n handleReadFile(files_event.target.files[0])\n }, [handleReadFile])\n\n const onDrop = useCallback(acceptedFiles => {\n handleReadFile(acceptedFiles[0])\n }, [handleReadFile])\n\n const handleDownload = useCallback(() => {\n const img = new Image()\n img.onload = function () {\n const canvas = document.createElement('canvas')\n canvas.width = frameSize\n canvas.height = frameSize\n\n const ctx = canvas.getContext('2d', { alpha: true })\n\n // use the correct image orientation\n switch (orientation) {\n // Source: https://stackoverflow.com/a/30242954/2387277\n // Source: https://stackoverflow.com/questions/19463126/how-to-draw-photo-with-correct-orientation-in-canvas-after-capture-photo-by-usin\n case 2:\n // horizontal flip\n ctx.translate(canvas.width, 0)\n ctx.scale(-1, 1)\n break\n case 3:\n // 180° rotate left\n ctx.translate(canvas.width, canvas.height)\n ctx.rotate(Math.PI)\n break\n case 4:\n // vertical flip\n ctx.translate(0, canvas.height)\n ctx.scale(1, -1)\n break\n case 5:\n // vertical flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.scale(1, -1)\n break\n case 6:\n // 90° rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.translate(0, -canvas.height)\n break\n case 7:\n // horizontal flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.translate(canvas.width, -canvas.height)\n ctx.scale(-1, 1)\n break\n case 8:\n // 90° rotate left\n ctx.rotate(-0.5 * Math.PI)\n ctx.translate(-canvas.width, 0)\n break\n default:\n break\n }\n\n\n const width_scaled = width * cords.scale\n const height_scaled = height * cords.scale\n\n ctx.drawImage(\n img,\n cords.x * 3.5 + (frameSize - width_scaled) * 0.5,\n cords.y * 3.5 + (frameSize - height_scaled) * 0.5,\n width_scaled,\n height_scaled,\n )\n // ctx.drawImage(\n // img,\n // ((frameSize - width_scaled) * 0.5),\n // ((frameSize - height_scaled) * 0.5),\n // width_scaled,\n // height_scaled,\n // )\n\n const pngUrl = canvas.toDataURL()\n\n mergeImages([\n purpleBG,\n ...(pngUrl ? [pngUrl] : []),\n ...(frameURL ? [frameURL] : []),\n ...(hashtagURL ? [hashtagURL] : []),\n ])\n .then(b64 => {\n // set_combinedImage(b64)\n trigger_download('volt-profile-picture.png', b64)\n\n const frameName = frame.name || 'No-Frame'\n const hashtagName = hashtag.name || 'No-Hashtag'\n\n if (window.umami) {\n window.umami.trackEvent('F: ' + frameName) // Log Frame\n window.umami.trackEvent('H: ' + hashtagName) // Log Hashtag\n window.umami.trackEvent('C: ' + [frameName, hashtagName].join(' | ')) // Log Combined\n }\n })\n\n }\n img.src = originalPhoto\n }, [\n originalPhoto,\n cords.x,\n cords.y,\n cords.scale,\n orientation,\n frameURL,\n hashtagURL,\n height,\n width,\n frame,\n hashtag\n ])\n\n const { isDragActive, getRootProps } = useDropzone({\n onDrop,\n accept: 'image/*',\n maxFiles: 1,\n noKeyboard: true,\n })\n\n return (\n
\n {getString('alt_volt_logo')}\n

\n\n
\n \n
\n\n

\n

\n\n \n\n {true || !!originalPhoto ? (<>\n

\n \n {\n (frameURL || '').startsWith('/static/media/btw_')\n ? null\n : <>\n

\n \n \n }\n ) : null}\n\n {!!originalPhoto && !!frameURL ? (<>\n

\n {/*\n

Edit your Photo:

\n

Your can reposition the image and scale it. Use pinch-to-zoom or scroll to scale.

\n */}\n\n \n\n \n ) : null}\n\n
\n \n \n \n   •  \n \n \n \n   •  \n \n \n \n   •  \n \n \n \n
\n\n {\n !!locales && !!onLanguageChange\n ?
\n {\n Object.entries(locales)\n .map(([locale, name]) => {\n return \n {name}\n \n })\n }\n
\n : null\n }\n
\n )\n}\nexport default withLocalization(App)\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n })\n }\n}\n\nexport default reportWebVitals\n","import React, { useEffect, useState } from 'react'\n\n// https://projectfluent.org/play/\n\n// import {LocalizationProvider,Localized} from '@fluent/react' // '@fluent/react/compat'\nimport { ReactLocalization, LocalizationProvider } from '@fluent/react'\nimport { FluentBundle, FluentResource } from '@fluent/bundle'\nimport { negotiateLanguages } from '@fluent/langneg'\n\n\nexport const locales = {\n de: 'Deutsch',\n en: 'English',\n es: 'Español',\n pt: 'Português',\n fr: 'Français',\n it: 'Italiano',\n nl: 'Nederlands',\n pl: 'Polska',\n ru: 'Pусский',\n}\n\nconst _supportedLocales_ = Object.keys(locales)\nconst _defaultLocale_ = 'en'\n\n\nasync function fetchMessages(locale) {\n const path = await import('./locales/' + locale + '.ftl')\n\n const response = await fetch(path.default)\n const messages = await response.text()\n\n return { [locale]: new FluentResource(messages) }\n}\n\nfunction getDefaultBundles() {\n const bundle = new FluentBundle('')\n bundle.addResource(new FluentResource(''))\n return new ReactLocalization([bundle])\n}\n\nasync function createMessagesGenerator(currentLocales) {\n const fetched = await Promise.all(\n currentLocales.map(fetchMessages)\n )\n const messages = fetched.reduce(\n (obj, cur) => Object.assign(obj, cur)\n )\n\n return function* generateBundles() {\n for (const locale of currentLocales) {\n const bundle = new FluentBundle(locale)\n bundle.addResource(messages[locale])\n yield bundle\n }\n }\n}\n\nexport function AppLocalizationProvider({ userLocales, children, onLocaleChange }){\n const [bundles, setBundles] = useState(getDefaultBundles())\n\n useEffect(() => {\n async function loadBundles() {\n const currentLocales = negotiateLanguages(\n userLocales,\n _supportedLocales_,\n { defaultLocale: _defaultLocale_ }\n )\n\n if (!!onLocaleChange) {\n onLocaleChange(currentLocales)\n }\n\n const generateBundles = await createMessagesGenerator(currentLocales)\n setBundles( new ReactLocalization(generateBundles()) )\n }\n loadBundles()\n }, [userLocales, onLocaleChange])\n\n if (!bundles) {\n // Show a loader.\n return
Loading texts…
\n }\n\n return \n {children}\n \n}\n\n","import React, { useState, useEffect, useCallback } from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport reportWebVitals from './reportWebVitals'\n\nimport 'intl-pluralrules'\nimport { AppLocalizationProvider, locales } from './l10n.js'\n\nfunction AppLanguageWrapper() {\n const [userLocales, setUserLocales] = useState(navigator.languages)\n const [currentLocale, setCurrentLocale] = useState(null)\n\n useEffect(() => {\n let systemLocales = navigator.languages\n if (window.umami && (!!systemLocales || Array.isArray(systemLocales))) {\n for (const locale of systemLocales) {\n window.umami.trackEvent('L: ' + locale) // Log Locale / Languages\n }\n }\n }, [])\n\n const handleLanguageChange = useCallback(event => {\n setUserLocales([event.target.dataset.locale])\n }, [setUserLocales])\n\n const handleCurrentLocalesChange = useCallback(currentLocales => {\n setCurrentLocale(currentLocales.length > 0 ? currentLocales[0] : '')\n }, [setCurrentLocale])\n\n return \n \n \n}\n\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n)\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals()\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.fd085307.chunk.js b/static/js/main.fd085307.chunk.js deleted file mode 100644 index 1930837..0000000 --- a/static/js/main.fd085307.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this["webpackJsonpprofile-picture-generator"]=this["webpackJsonpprofile-picture-generator"]||[]).push([[0],{38:function(e,t,n){},42:function(e,t,n){var a={"./0xSOM.png":[50,13],"./2xSOM-Blue-Green.png":[51,14],"./2xSOM-Red-Yellow.png":[52,15],"./4xSOM-Blue-Red-Yellow-Green.png":[53,16],"./5xSOM-Blue.png":[54,17],"./5xSOM-Green.png":[55,18],"./5xSOM-Pride.png":[56,19],"./5xSOM-Red.png":[57,20],"./5xSOM-White.png":[58,21],"./5xSOM-Yellow.png":[59,22],"./Volt-Stars.png":[60,23],"./btw_Meine_Stimme_Balken.png":[61,24],"./btw_Meine_Stimme_Sterne_bunt.png":[62,25],"./btw_Meine_Stimme_Sterne_lila.png":[63,26],"./btw_VoteVolt_Balken.png":[64,27],"./btw_VoteVolt_Sterne_bunt.png":[65,28],"./btw_VoteVolt_Sterne_lila.png":[66,29],"./ukraine.png":[67,30]};function c(e){if(!n.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],c=t[0];return n.e(t[1]).then((function(){return n(c)}))}c.keys=function(){return Object.keys(a)},c.id=42,e.exports=c},43:function(e,t,n){var a={"./#DeineWahl.png":[68,31],"./#EUReform.png":[69,32],"./#Europa.png":[70,33],"./#EuropeCares.png":[71,34],"./#European.png":[72,35],"./#FutureMadeInEurope.png":[73,36],"./#GeneratieEuropa.png":[74,37],"./#GeneratieVolt.png":[75,38],"./#GenerationEuropa.png":[76,39],"./#IkStemVolt.png":[77,40],"./#JetztBistDuDran.png":[78,41],"./#JoinTheChange.png":[79,42],"./#RejoinEU.png":[80,43],"./#ValuesOverPower.png":[81,44],"./#Volt.png":[82,45],"./#Volt21.png":[83,46],"./#VoltEuropa.png":[84,47],"./#VoltForLGBTIAQ.png":[85,48],"./#VoltRLP.png":[86,49],"./#VoteVolt.png":[87,50],"./#WirWerdenLaut.png":[88,51],"./#ZukunftMadeInEurope.png":[89,52],"./#ZweitstimmeVolt.png":[90,53],"./#democracy.png":[91,54],"./#paneurop\xe4isch.png":[92,55],"./#pragmatisch.png":[93,56],"./#progressiv.png":[94,57],"./FriedenInEuropa.png":[95,58],"./PeaceInEurope.png":[96,59],"./stemvolt.nl.png":[97,60]};function c(e){if(!n.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],c=t[0];return n.e(t[1]).then((function(){return n(c)}))}c.keys=function(){return Object.keys(a)},c.id=43,e.exports=c},48:function(e,t,n){var a={"./de.ftl":[98,3],"./en.ftl":[99,4],"./es.ftl":[100,5],"./fr.ftl":[101,6],"./it.ftl":[102,7],"./nl.ftl":[103,8],"./pl.ftl":[104,9],"./pt.ftl":[105,10],"./ru.ftl":[106,11]};function c(e){if(!n.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],c=t[0];return n.e(t[1]).then((function(){return n(c)}))}c.keys=function(){return Object.keys(a)},c.id=48,e.exports=c},49:function(e,t,n){"use strict";n.r(t);var a=n(5),c=n(2),r=n(1),o=n(0),s=n.n(o),i=n(25),u=n.n(i),O=n(13),l=n(6),h=n(32),d=(n(38),n(30)),j=n(27),p=n(4),b=n.n(p),f=n(9);var g=function(e){var t=e.onChange,a=Object(o.useState)([]),s=Object(c.a)(a,2),i=s[0],u=s[1],O=Object(o.useState)(null),l=Object(c.a)(O,2),h=l[0],d=l[1],j=h?h.src:null;Object(o.useEffect)((function(){function e(){return(e=Object(f.a)(b.a.mark((function e(){return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Promise.all(["ukraine","4xSOM-Blue-Red-Yellow-Green","5xSOM-Pride","Volt-Stars","0xSOM","5xSOM-Blue","5xSOM-Green","5xSOM-Red","5xSOM-Yellow"].map(function(){var e=Object(f.a)(b.a.mark((function e(t){return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=t,e.next=3,n(42)("./".concat(t,".png"));case 3:return e.t1=e.sent.default,e.abrupt("return",{name:e.t0,src:e.t1});case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){u(e),d(e[0])}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[]);var p=Object(o.useCallback)((function(e){d(e)}),[d]);return Object(o.useEffect)((function(){t(h)}),[t,h]),Object(r.jsx)("div",{className:"FrameChooser",children:i.map((function(e){var t=e.src,n=j===t;return Object(r.jsx)("div",{"data-src":t,className:n?"frame choosen":"frame",onClick:function(){return p(e)},children:Object(r.jsx)("img",{alt:e.name,src:t})},t)}))})},w=n(17),m=n(10),x=function(e){return Object(r.jsx)(w.b,Object(l.a)(Object(l.a)({},e),{},{elems:Object(l.a)({br:Object(r.jsx)("br",{})},e.elems),children:Object(r.jsx)(s.a.Fragment,{children:e.children})}),e.id)};function v(e){return function(t){var n=s.a.useContext(m.a);return s.a.createElement(e,Object(l.a)({getString:function(e,t,a){return n.getString(e,t,a||" ")}},t))}}var A=v((function(e){var t=e.onChange,a=e.getString,s=Object(o.useState)([]),i=Object(c.a)(s,2),u=i[0],l=i[1],h=Object(o.useState)(null),d=Object(c.a)(h,2),j=d[0],p=d[1],g=j?j.src:null,w=a("hashtags");Object(o.useEffect)((function(){function e(){return(e=Object(f.a)(b.a.mark((function e(){return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Promise.all([""].concat(Object(O.a)(w.split("\n").map((function(e){return e.trim()})).filter((function(e){return e.length>0})))).map(function(){var e=Object(f.a)(b.a.mark((function e(t){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t,""===t){e.next=5;break}return e.next=4,n(43)("./".concat(t,".png"));case 4:a=e.sent.default;case 5:return e.abrupt("return",{name:t,src:a});case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).then((function(e){l(e),p(e[0])}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[w]);var m=Object(o.useCallback)((function(e){p(e)}),[p]);return Object(o.useEffect)((function(){t(j)}),[t,j]),Object(r.jsx)("div",{className:"HashtagChooser",children:u.map((function(e){var t=e.src,n=g===t;return Object(r.jsx)("button",{"data-src":t,className:n?"isInRow choosen":"isInRow",onClick:function(){return m(e)},children:""===e.name?a("button_no_hashtag"):e.name},e.name)}))})})),C=n(28),D=n.n(C),Q=n(29),H=n.n(Q);function T(e,t,n){return Math.min(Math.max(t,e),n)}var U=function(e){var t=e.onChange,n=e.backgroundURL,a=e.backgroundRatio,s=e.frameURL,i=e.hashtagURL,u=Object(o.useRef)(null),O=Object(o.useRef)(null),l=Object(o.useState)(!1),h=Object(c.a)(l,2),d=h[0],j=h[1],p=Object(o.useState)(null),b=Object(c.a)(p,2),f=b[0],g=b[1],w=Object(o.useState)(null),m=Object(c.a)(w,2),x=m[0],v=m[1],A=Object(o.useState)(0),C=Object(c.a)(A,2),Q=C[0],U=C[1],N=Object(o.useState)(0),k=Object(c.a)(N,2),S=k[0],E=k[1],F=Object(o.useState)(0),_=Object(c.a)(F,2),M=_[0],y=_[1],K=Object(o.useState)(0),B=Object(c.a)(K,2),R=B[0],L=B[1],I=Object(o.useState)(1),V=Object(c.a)(I,2),P=V[0],Y=V[1],G=Object(o.useState)(300),z=Object(c.a)(G,2),J=z[0],X=z[1],W=Object(o.useState)(300),Z=Object(c.a)(W,2),q=Z[0],$=Z[1],ee=Object(o.useState)(300),te=Object(c.a)(ee,2),ne=te[0],ae=te[1],ce=Object(o.useState)(300),re=Object(c.a)(ce,2),oe=re[0],se=re[1],ie=Object(o.useState)(0),ue=Object(c.a)(ie,2),Oe=ue[0],le=ue[1],he=Object(o.useState)(0),de=Object(c.a)(he,2),je=de[0],pe=de[1],be=Object(o.useState)(0),fe=Object(c.a)(be,2),ge=fe[0],we=fe[1],me=Object(o.useState)(0),xe=Object(c.a)(me,2),ve=xe[0],Ae=xe[1];Object(o.useEffect)((function(){t&&t({x:Q,y:S,scale:P})}),[t,Q,S,P]),Object(o.useEffect)((function(){if(u&&u.current){var e=u.current.offsetWidth,t=u.current.offsetHeight;se(t),ae(e);var n=1,c=1;a<1?n=1/a:a>1&&(c=1*a),X(n),$(c)}}),[a]),Object(o.useEffect)((function(){var e=function(e,t,n,a,c){var r=Math.max(0,e*n-a)/2,o=Math.max(0,t*n-c)/2;return{rangeMaxX:r,rangeMinX:0-r,rangeMaxY:o,rangeMinY:0-o}}(J*ne,q*oe,P,ne,oe),t=e.rangeMinX,n=e.rangeMinY,a=e.rangeMaxX,c=e.rangeMaxY;le(t),pe(n),we(a),Ae(c)}),[J,q,ne,oe,P]),Object(o.useEffect)((function(){U(0),E(0),y(0),L(0),Y(1)}),[n]);var Ce=Object(o.useCallback)((function(e){var t=1*e.target.dataset.x,n=1*e.target.dataset.y,a=T(t+e.deltaX,Oe,ge),c=T(n+e.deltaY,je,ve);e.isFinal?(U(a||0),E(c||0),y(0),L(0)):(y(a-t||0),L(c-n||0))}),[Oe,je,ge,ve]),De=Object(o.useCallback)((function(e,t,n,a){e.preventDefault();var c=T(1*e.target.dataset.scale+t/200,1,8);Y(c||1);var r=1*e.target.dataset.x,o=1*e.target.dataset.y;U(T(r,Oe,ge)||0),E(T(o,je,ve)||0)}),[Oe,je,ge,ve]);return Object(o.useEffect)((function(){if(!d&&u&&u.current){var e=u.current;e.addEventListener("mousedown",(function(e){e.preventDefault()}),!1),e.addEventListener("touchstart",(function(e){e.preventDefault()}),!1),e.addEventListener("touchend",(function(e){e.preventDefault()}),!1),e.addEventListener("touchmove",(function(e){e.preventDefault()}),!1),g(new D.a(e,{direction:"DIRECTION_ALL"})),v(H()(e)),j(!0)}}),[u,d]),Object(o.useEffect)((function(){if(f&&x&&d&&u&&u.current)return f.on("pan",Ce),x.wheel(De),function(){f.off("pan",Ce),x.unwheel()}}),[u,Ce,De,d,f,x]),Object(r.jsxs)("div",{className:"Editor",ref:u,"data-x":Q,"data-y":S,"data-scale":P,children:[Object(r.jsx)("img",{src:n,ref:O,alt:"",className:"background",style:{width:100*J+"%",height:100*q+"%",transform:"translate3d(calc(-50% + ".concat(Q+M,"px), calc(-50% + ").concat(S+R,"px), 0) scale(").concat(P,",").concat(P,")")}}),Object(r.jsx)("img",{src:s,alt:"",className:"foreground"}),Object(r.jsx)("img",{src:i,alt:"",className:"hashtag"})]})},N=n.p+"static/media/VoltLogoPurple.125355f6.svg",k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAQ4AgMAAACRfoQcAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJUExURVAjeFAjeE8jd3Yl3xwAAAADdFJOU//+/Q3dsqEAAATsSURBVHgB7dAxAQAABAAwQtI/ipMCvi3CgiMV6NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NChQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOBTp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQwc6dOjQoUOHDh06dOjQoUOHDh06dOjQgQ4dOnTo0KFDhw4dOnTo0KFDhw4dOnSgQ4cOHTp06NChQ4cOHTp06NChQ4cOHTx06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHTrQoUOHDh06dOjQoUOHDh06dOjQoUOHDnTo0KFDhw4dOnTo0KFDhw4dOnTo0KEDHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4d6NChQ4cOHTp06NChQ4cOHTp06NChQ4cCHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4dxeoB30xd38yzCvgAAAAASUVORK5CYII=",S="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAALSURBVHgBY2BgAAAAAwABjPg5OgAAAABJRU5ErkJggg==",E=1080;function F(e){var t=e.href,n=e.name,a=e.target,c=e.children,s=Object(h.a)(e,["href","name","target","children"]),i=Object(o.useCallback)((function(e){return window.umami&&n&&window.umami.trackEvent("A: "+n),a?window.open(t,a):setTimeout((function(){window.location=t}),200),e.preventDefault(),!1}),[t,n,a]);return Object(r.jsx)("a",Object(l.a)(Object(l.a)({},s),{},{href:t,onClick:i,children:c}))}var _=v((function(e){var t=e.getString,n=e.locales,a=e.currentLocale,s=e.onLanguageChange,i=Object(o.useState)(null),u=Object(c.a)(i,2),h=u[0],p=u[1],b=Object(o.useState)(null),f=Object(c.a)(b,2),w=f[0],m=f[1],v=Object(o.useState)(null),C=Object(c.a)(v,2),D=C[0],Q=C[1],H=Object(o.useState)(1),T=Object(c.a)(H,2),_=T[0],M=T[1],y=Object(o.useState)(null),K=Object(c.a)(y,2),B=K[0],R=K[1],L=h?h.src:null,I=w?w.src:null,V=Object(o.useState)(0),P=Object(c.a)(V,2),Y=P[0],G=P[1],z=Object(o.useState)(0),J=Object(c.a)(z,2),X=J[0],W=J[1],Z=Object(o.useState)({x:0,y:0,scale:1}),q=Object(c.a)(Z,2),$=q[0],ee=q[1],te=Object(o.useCallback)((function(e){p(e)}),[p]),ne=Object(o.useCallback)((function(e){m(e)}),[m]),ae=Object(o.useCallback)((function(e){var t=e.x,n=e.y,a=e.scale;ee({x:t,y:n,scale:a})}),[]),ce=Object(o.useCallback)((function(e){if(e){var t=new FileReader;t.onload=function(t){var n=new Image;n.onload=function(){var a,c;n.width0?e[0]:"")}),[l]);return Object(r.jsx)(G,{userLocales:n,onLocaleChange:d,children:Object(r.jsx)(_,{locales:R,currentLocale:O,onLanguageChange:h})},"AppLocalizationProvider")}u.a.render(Object(r.jsx)(s.a.StrictMode,{children:Object(r.jsx)(z,{})}),document.getElementById("root")),M()}},[[49,1,2]]]); -//# sourceMappingURL=main.fd085307.chunk.js.map \ No newline at end of file diff --git a/static/js/main.fd085307.chunk.js.map b/static/js/main.fd085307.chunk.js.map deleted file mode 100644 index b33abab..0000000 --- a/static/js/main.fd085307.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["frames lazy /^/.//.*/.png$/ groupOptions: {} namespace object","hashtags lazy /^/.//.*/.png$/ groupOptions: {} namespace object","locales lazy /^/.//.*/.ftl$/ groupOptions: {} namespace object","FrameChooser.js","Localized.js","HashtagChooser.js","Editor.js","VoltLogoPurple.svg","purpleBG.png","empty_1x1.png","App.js","reportWebVitals.js","l10n.js","index.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","FrameChooser","onChange","useState","frames","setFrames","choosenFrame","setChoosenFrame","choosenFrameSRC","src","useEffect","a","all","frame_filename","default","name","new_frames","loadFrames","handleImageChoosing","useCallback","frame","className","frame_src_path","isChoosen","data-src","onClick","alt","Localized","props","elems","br","Fragment","children","withLocalization","Inner","l10n","React","useContext","FluentContext","createElement","getString","args","fallback","hashtags","split","tag","trim","filter","length","clamp","value","min","max","Math","Editor","backgroundURL","backgroundRatio","frameURL","hashtagURL","editorRef","useRef","backgroundImageRef","hammer_got_init","set_hammer_got_init","hammertime","set_hammertime","hamster","set_hamster","x","set_x","y","set_y","add_x","set_add_x","add_y","set_add_y","scale","set_scale","photoWidth","setPhotoWidth","photoHeight","setPhotoHeight","editorWidth","setEditorWidth","editorHeight","setEditorHeight","rangeMinX","set_rangeMinX","rangeMinY","set_rangeMinY","rangeMaxX","set_rangeMaxX","rangeMaxY","set_rangeMaxY","current","new_editorWidth","offsetWidth","new_editorHeight","offsetHeight","new_photoWidth","new_photoHeight","imageWidth","imageHeight","imageScale","containerWidth","containerHeight","updateRange","handleMove","event","prev_x","target","dataset","prev_y","new_x","deltaX","new_y","deltaY","isFinal","handleScale","delta","preventDefault","new_scale","element","addEventListener","Hammer","direction","Hamster","on","wheel","off","unwheel","ref","data-x","data-y","data-scale","style","width","height","transform","frameSize","UmamiLink","href","handleClick","window","umami","trackEvent","open","setTimeout","location","locales","currentLocale","onLanguageChange","setFrame","hashtag","setHashtag","originalPhoto","setOriginalPhoto","originalPhotoRation","setOriginalPhotoRation","orientation","set_orientation","set_width","set_height","cords","setCords","handleFrame","newFrame","handleHashtag","newHashtag","handleCordsChange","handleReadFile","file","reader","FileReader","onload","reader_event","img","Image","callback","view","DataView","result","getUint16","byteLength","offset","marker","getUint32","little","tags","i","readAsArrayBuffer","slice","getOrientation","new_orientation","original_ration","readAsDataURL","handleImage","files_event","files","onDrop","acceptedFiles","handleDownload","canvas","document","ctx","getContext","alpha","translate","rotate","PI","width_scaled","height_scaled","drawImage","pngUrl","toDataURL","mergeImages","purpleBG","b64","data","body","appendChild","download","click","remove","trigger_download","frameName","hashtagName","join","useDropzone","accept","maxFiles","noKeyboard","isDragActive","getRootProps","VoltLogoPurple","tabIndex","outline","type","display","startsWith","empty_1x1","entries","locale","data-locale","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","de","en","es","pt","fr","it","nl","pl","ru","_supportedLocales_","fetchMessages","path","fetch","response","text","messages","FluentResource","createMessagesGenerator","currentLocales","fetched","reduce","obj","cur","assign","generateBundles","bundle","FluentBundle","addResource","f","AppLocalizationProvider","userLocales","onLocaleChange","ReactLocalization","getDefaultBundles","bundles","setBundles","negotiateLanguages","defaultLocale","loadBundles","AppLanguageWrapper","navigator","languages","setUserLocales","setCurrentLocale","systemLocales","Array","isArray","handleLanguageChange","handleCurrentLocalesChange","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.fd085307.chunk.js","sourcesContent":["var map = {\n\t\"./0xSOM.png\": [\n\t\t50,\n\t\t13\n\t],\n\t\"./2xSOM-Blue-Green.png\": [\n\t\t51,\n\t\t14\n\t],\n\t\"./2xSOM-Red-Yellow.png\": [\n\t\t52,\n\t\t15\n\t],\n\t\"./4xSOM-Blue-Red-Yellow-Green.png\": [\n\t\t53,\n\t\t16\n\t],\n\t\"./5xSOM-Blue.png\": [\n\t\t54,\n\t\t17\n\t],\n\t\"./5xSOM-Green.png\": [\n\t\t55,\n\t\t18\n\t],\n\t\"./5xSOM-Pride.png\": [\n\t\t56,\n\t\t19\n\t],\n\t\"./5xSOM-Red.png\": [\n\t\t57,\n\t\t20\n\t],\n\t\"./5xSOM-White.png\": [\n\t\t58,\n\t\t21\n\t],\n\t\"./5xSOM-Yellow.png\": [\n\t\t59,\n\t\t22\n\t],\n\t\"./Volt-Stars.png\": [\n\t\t60,\n\t\t23\n\t],\n\t\"./btw_Meine_Stimme_Balken.png\": [\n\t\t61,\n\t\t24\n\t],\n\t\"./btw_Meine_Stimme_Sterne_bunt.png\": [\n\t\t62,\n\t\t25\n\t],\n\t\"./btw_Meine_Stimme_Sterne_lila.png\": [\n\t\t63,\n\t\t26\n\t],\n\t\"./btw_VoteVolt_Balken.png\": [\n\t\t64,\n\t\t27\n\t],\n\t\"./btw_VoteVolt_Sterne_bunt.png\": [\n\t\t65,\n\t\t28\n\t],\n\t\"./btw_VoteVolt_Sterne_lila.png\": [\n\t\t66,\n\t\t29\n\t],\n\t\"./ukraine.png\": [\n\t\t67,\n\t\t30\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 42;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./#DeineWahl.png\": [\n\t\t68,\n\t\t31\n\t],\n\t\"./#EUReform.png\": [\n\t\t69,\n\t\t32\n\t],\n\t\"./#Europa.png\": [\n\t\t70,\n\t\t33\n\t],\n\t\"./#EuropeCares.png\": [\n\t\t71,\n\t\t34\n\t],\n\t\"./#European.png\": [\n\t\t72,\n\t\t35\n\t],\n\t\"./#FutureMadeInEurope.png\": [\n\t\t73,\n\t\t36\n\t],\n\t\"./#GeneratieEuropa.png\": [\n\t\t74,\n\t\t37\n\t],\n\t\"./#GeneratieVolt.png\": [\n\t\t75,\n\t\t38\n\t],\n\t\"./#GenerationEuropa.png\": [\n\t\t76,\n\t\t39\n\t],\n\t\"./#IkStemVolt.png\": [\n\t\t77,\n\t\t40\n\t],\n\t\"./#JetztBistDuDran.png\": [\n\t\t78,\n\t\t41\n\t],\n\t\"./#JoinTheChange.png\": [\n\t\t79,\n\t\t42\n\t],\n\t\"./#RejoinEU.png\": [\n\t\t80,\n\t\t43\n\t],\n\t\"./#ValuesOverPower.png\": [\n\t\t81,\n\t\t44\n\t],\n\t\"./#Volt.png\": [\n\t\t82,\n\t\t45\n\t],\n\t\"./#Volt21.png\": [\n\t\t83,\n\t\t46\n\t],\n\t\"./#VoltEuropa.png\": [\n\t\t84,\n\t\t47\n\t],\n\t\"./#VoltForLGBTIAQ.png\": [\n\t\t85,\n\t\t48\n\t],\n\t\"./#VoltRLP.png\": [\n\t\t86,\n\t\t49\n\t],\n\t\"./#VoteVolt.png\": [\n\t\t87,\n\t\t50\n\t],\n\t\"./#WirWerdenLaut.png\": [\n\t\t88,\n\t\t51\n\t],\n\t\"./#ZukunftMadeInEurope.png\": [\n\t\t89,\n\t\t52\n\t],\n\t\"./#ZweitstimmeVolt.png\": [\n\t\t90,\n\t\t53\n\t],\n\t\"./#democracy.png\": [\n\t\t91,\n\t\t54\n\t],\n\t\"./#paneuropäisch.png\": [\n\t\t92,\n\t\t55\n\t],\n\t\"./#pragmatisch.png\": [\n\t\t93,\n\t\t56\n\t],\n\t\"./#progressiv.png\": [\n\t\t94,\n\t\t57\n\t],\n\t\"./FriedenInEuropa.png\": [\n\t\t95,\n\t\t58\n\t],\n\t\"./PeaceInEurope.png\": [\n\t\t96,\n\t\t59\n\t],\n\t\"./stemvolt.nl.png\": [\n\t\t97,\n\t\t60\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 43;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de.ftl\": [\n\t\t98,\n\t\t3\n\t],\n\t\"./en.ftl\": [\n\t\t99,\n\t\t4\n\t],\n\t\"./es.ftl\": [\n\t\t100,\n\t\t5\n\t],\n\t\"./fr.ftl\": [\n\t\t101,\n\t\t6\n\t],\n\t\"./it.ftl\": [\n\t\t102,\n\t\t7\n\t],\n\t\"./nl.ftl\": [\n\t\t103,\n\t\t8\n\t],\n\t\"./pl.ftl\": [\n\t\t104,\n\t\t9\n\t],\n\t\"./pt.ftl\": [\n\t\t105,\n\t\t10\n\t],\n\t\"./ru.ftl\": [\n\t\t106,\n\t\t11\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 48;\nmodule.exports = webpackAsyncContext;","import { useState, useEffect, useCallback } from 'react'\n\nfunction FrameChooser({ onChange }) {\n const [frames, setFrames] = useState([])\n const [choosenFrame, setChoosenFrame] = useState(null)\n\n const choosenFrameSRC = !!choosenFrame ? choosenFrame.src : null\n\n useEffect(() => {\n async function loadFrames(){\n Promise.all(\n [\n 'ukraine',\n // 'btw_VoteVolt_Balken',\n // 'btw_Meine_Stimme_Balken',\n '4xSOM-Blue-Red-Yellow-Green',\n '5xSOM-Pride',\n // 'btw_VoteVolt_Sterne_bunt',\n // 'btw_Meine_Stimme_Sterne_bunt',\n 'Volt-Stars',\n // 'btw_VoteVolt_Sterne_lila',\n // 'btw_Meine_Stimme_Sterne_lila',\n '0xSOM', // SOM = Stripes of Movement\n '5xSOM-Blue',\n '5xSOM-Green',\n '5xSOM-Red',\n '5xSOM-Yellow',\n // '5xSOM-White',\n // '2xSOM-Blue-Green',\n // '2xSOM-Red-Yellow',\n ]\n .map(async frame_filename => {\n return {\n name: frame_filename,\n src: (await import(`./frames/${frame_filename}.png`)).default,\n }\n })\n )\n .then(new_frames => {\n setFrames(new_frames)\n setChoosenFrame(new_frames[0])\n })\n }\n loadFrames()\n }, [])\n\n const handleImageChoosing = useCallback(frame => {\n setChoosenFrame(frame)\n }, [setChoosenFrame])\n\n useEffect(() => {\n onChange(choosenFrame)\n }, [onChange, choosenFrame])\n\n return (\n
\n {\n frames.map(frame => {\n const frame_src_path = frame.src\n const isChoosen = choosenFrameSRC === frame_src_path\n return handleImageChoosing(frame)}\n >\n {frame.name}\n
\n })\n }\n \n )\n}\n\nexport default FrameChooser\n","import React from 'react'\nimport {\n Localized as LocalizedOriginal,\n // withLocalization,\n} from '@fluent/react'\n\nimport { FluentContext } from '../node_modules/@fluent/react/esm/context.js'\n\nconst Localized = props => (\n ,\n ...props.elems,\n }}\n >\n {props.children}\n \n)\n\n// A custom withLocalization to have an empty fallback.\n// It is nearly identical to the original.\nfunction withLocalization(Inner) {\n function WithLocalization(props) {\n const l10n = React.useContext(FluentContext)\n\n const getString = (id, args, fallback) => l10n.getString(id, args, fallback || ' ')\n\n return React.createElement(Inner, { getString, ...props })\n }\n return WithLocalization\n}\n\nexport {\n withLocalization,\n Localized,\n Localized as default,\n}\n\n/*\n\nimport { Localized, withLocalization } from '../Localized/'\n\n\nexport default withLocalization(componentName)\n\n\nimport Localized from '../Localized/'\n\n\nimport { withLocalization } from '@fluent/react'\nexport default withLocalization(componentName)\n\n*/\n","import { useState, useEffect, useCallback } from 'react'\nimport { withLocalization } from './Localized.js'\n\nfunction HashtagChooser({ onChange, getString }) {\n const [frames, setFrames] = useState([])\n const [choosenFrame, setChoosenFrame] = useState(null)\n\n const choosenFrameSRC = !!choosenFrame ? choosenFrame.src : null\n\n let hashtags = getString('hashtags')\n\n useEffect(() => {\n async function loadFrames() {\n Promise.all(\n [\n '',\n ...(\n hashtags.split('\\n')\n .map(tag => tag.trim())\n .filter(tag => tag.length > 0)\n )\n ]\n .map(async frame_filename => {\n let src = frame_filename\n if (frame_filename !== '') {\n src = (await import(`./hashtags/${frame_filename}.png`)).default\n }\n return {\n name: frame_filename,\n src\n }\n })\n )\n .then(new_frames => {\n setFrames(new_frames)\n setChoosenFrame(new_frames[0])\n })\n }\n loadFrames()\n }, [hashtags])\n\n const handleImageChoosing = useCallback(frame => {\n setChoosenFrame(frame)\n }, [setChoosenFrame])\n\n useEffect(() => {\n onChange(choosenFrame)\n }, [onChange, choosenFrame])\n\n return (\n
\n {\n frames.map(frame => {\n const frame_src_path = frame.src\n const isChoosen = choosenFrameSRC === frame_src_path\n return handleImageChoosing(frame)}\n >\n {frame.name === '' ? getString('button_no_hashtag') : frame.name}\n \n })\n }\n
\n )\n}\n\nexport default withLocalization(HashtagChooser)\n","import { useEffect, useRef, useState, useCallback } from 'react'\n\nimport Hammer from 'hammerjs'\nimport Hamster from 'hamsterjs'\n\nfunction updateRange(imageWidth, imageHeight, imageScale, containerWidth, containerHeight) {\n\n const rangeX = Math.max(0, (imageWidth * imageScale) - containerWidth)\n const rangeY = Math.max(0, (imageHeight * imageScale) - containerHeight)\n\n const rangeMaxX = (rangeX / 2)\n const rangeMinX = 0 - rangeMaxX\n\n const rangeMaxY = (rangeY / 2)\n const rangeMinY = 0 - rangeMaxY\n\n return {\n rangeMaxX,\n rangeMinX,\n rangeMaxY,\n rangeMinY,\n }\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max)\n}\n\n\n\nlet minScale = 1;\nlet maxScale = 8;\n\n\n\nfunction Editor({ onChange, backgroundURL, backgroundRatio, frameURL, hashtagURL }) {\n const editorRef = useRef(null)\n const backgroundImageRef = useRef(null)\n\n const [hammer_got_init, set_hammer_got_init] = useState(false)\n\n const [hammertime, set_hammertime] = useState(null)\n const [hamster, set_hamster] = useState(null)\n\n const [x, set_x] = useState(0)\n const [y, set_y] = useState(0)\n const [add_x, set_add_x] = useState(0)\n const [add_y, set_add_y] = useState(0)\n const [scale, set_scale] = useState(1)\n // const [add_scale, set_add_scale] = useState(0)\n\n const [photoWidth, setPhotoWidth] = useState(300)\n const [photoHeight, setPhotoHeight] = useState(300)\n const [editorWidth, setEditorWidth] = useState(300)\n const [editorHeight, setEditorHeight] = useState(300)\n\n const [rangeMinX, set_rangeMinX] = useState(0)\n const [rangeMinY, set_rangeMinY] = useState(0)\n const [rangeMaxX, set_rangeMaxX] = useState(0)\n const [rangeMaxY, set_rangeMaxY] = useState(0)\n\n useEffect(() => {\n if (!!onChange) {\n onChange({ x, y, scale})\n }\n }, [onChange, x, y, scale])\n\n useEffect(() => {\n if (!!editorRef && !!editorRef.current) {\n const new_editorWidth = editorRef.current.offsetWidth\n const new_editorHeight = editorRef.current.offsetHeight\n setEditorHeight(new_editorHeight)\n setEditorWidth(new_editorWidth)\n\n let new_photoWidth = 1\n let new_photoHeight = 1\n if (backgroundRatio < 1) {\n new_photoWidth = 1 / backgroundRatio\n } else if (backgroundRatio > 1) {\n new_photoHeight = 1 * backgroundRatio\n }\n\n setPhotoWidth(new_photoWidth)\n setPhotoHeight(new_photoHeight)\n }\n }, [backgroundRatio])\n\n useEffect(() => {\n const {\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n } = updateRange(photoWidth * editorWidth, photoHeight * editorHeight, scale, editorWidth, editorHeight)\n\n set_rangeMinX(rangeMinX)\n set_rangeMinY(rangeMinY)\n set_rangeMaxX(rangeMaxX)\n set_rangeMaxY(rangeMaxY)\n }, [\n photoWidth,\n photoHeight,\n editorWidth,\n editorHeight,\n scale,\n ])\n\n useEffect(() => {\n set_x(0)\n set_y(0)\n set_add_x(0)\n set_add_y(0)\n set_scale(1)\n }, [backgroundURL])\n\n const handleMove = useCallback(event => {\n const prev_x = event.target.dataset.x * 1\n const prev_y = event.target.dataset.y * 1\n\n const new_x = clamp(prev_x + event.deltaX, rangeMinX, rangeMaxX)\n const new_y = clamp(prev_y + event.deltaY, rangeMinY, rangeMaxY)\n\n if (event.isFinal) {\n set_x(new_x || 0)\n set_y(new_y || 0)\n set_add_x(0)\n set_add_y(0)\n }else{\n set_add_x(new_x - prev_x || 0)\n set_add_y(new_y - prev_y || 0)\n }\n }, [\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n ])\n\n const handleScale = useCallback((event, delta, deltaX, deltaY) => {\n event.preventDefault()\n\n const prev_scale = event.target.dataset.scale * 1\n const new_scale = clamp(prev_scale + delta / 200, minScale, maxScale)\n set_scale(new_scale || 1)\n\n const prev_x = event.target.dataset.x * 1\n const prev_y = event.target.dataset.y * 1\n set_x(clamp(prev_x, rangeMinX, rangeMaxX) || 0)\n set_y(clamp(prev_y, rangeMinY, rangeMaxY) || 0)\n }, [\n rangeMinX,\n rangeMinY,\n rangeMaxX,\n rangeMaxY,\n ])\n\n useEffect(() => {\n if (!hammer_got_init && !!editorRef && !!editorRef.current) {\n const element = editorRef.current\n\n element.addEventListener('mousedown', event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchstart\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchend\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n element.addEventListener(\"touchmove\", event => {\n event.preventDefault()\n // event.stopPropagation()\n }, false)\n\n set_hammertime(new Hammer(element, {\n direction: 'DIRECTION_ALL',\n }))\n\n set_hamster(Hamster(element))\n\n set_hammer_got_init(true)\n }\n }, [editorRef, hammer_got_init])\n\n useEffect(() => {\n if (!!hammertime && !!hamster && hammer_got_init && !!editorRef && !!editorRef.current) {\n hammertime.on('pan', handleMove)\n hamster.wheel(handleScale)\n\n return function () {\n hammertime.off('pan', handleMove)\n hamster.unwheel()\n }\n }\n }, [editorRef, handleMove, handleScale, hammer_got_init, hammertime, hamster])\n\n return (\n \n \n \n \n \n )\n}\n\nexport default Editor\n","export default __webpack_public_path__ + \"static/media/VoltLogoPurple.125355f6.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAQ4AgMAAACRfoQcAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJUExURVAjeFAjeE8jd3Yl3xwAAAADdFJOU//+/Q3dsqEAAATsSURBVHgB7dAxAQAABAAwQtI/ipMCvi3CgiMV6NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NChQIcOHTp06NChQ4cOHTp06NChQ4cOHejQoUOHDh06dOjQoUOHDh06dOjQoUMHOnTo0KFDhw4dOnTo0KFDhw4dOnTo0IEOHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQ4cOBTp06NChQ4cOHTp06NChQ4cOHTp06ECHDh06dOjQoUOHDh06dOjQoUOHDh060KFDhw4dOnTo0KFDhw4dOnTo0KFDhw506NChQ4cOHTp06NChQ4cOHTp06NChAx06dOjQoUOHDh06dOjQoUOHDh06dOhAhw4dOnTo0KFDhw4dOnTo0KFDhw4dOtChQ4cOHTp06NChQ4cOHTp06NChQwc6dOjQoUOHDh06dOjQoUOHDh06dOjQgQ4dOnTo0KFDhw4dOnTo0KFDhw4dOnSgQ4cOHTp06NChQ4cOHTp06NChQ4cOHTx06NChQ4cOdOjQoUOHDh06dOjQoUOHDh06dOjQoQMdOnTo0KFDhw4dOnTo0KFDhw4dOnToQIcOHTp06NChQ4cOHTp06NChQ4cOHTrQoUOHDh06dOjQoUOHDh06dOjQoUOHDnTo0KFDhw4dOnTo0KFDhw4dOnTo0KEDHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4d6NChQ4cOHTp06NChQ4cOHTp06NChQ4cCHTp06NChQ4cOHTp06NChQ4cOHTp0oEOHDh06dOjQoUOHDh06dOjQoUOHDh3o0KFDhw4dOnTo0KFDhw4dOnTo0KFDBzp06NChQ4cOHTp06NChQ4cOHTp06NCBDh06dOjQoUOHDh06dOjQoUOHDh06dKBDhw4dOnTo0KFDhw4dOnTo0KFDhw4dxeoB30xd38yzCvgAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAALSURBVHgBY2BgAAAAAwABjPg5OgAAAABJRU5ErkJggg==\"","import { useState, useCallback } from 'react'\nimport './App.css'\nimport { useDropzone } from 'react-dropzone'\nimport mergeImages from 'merge-images'\nimport FrameChooser from './FrameChooser.js'\nimport HashtagChooser from './HashtagChooser.js'\nimport Editor from './Editor.js'\nimport VoltLogoPurple from './VoltLogoPurple.svg'\nimport purpleBG from './purpleBG.png'\nimport empty_1x1 from './empty_1x1.png'\n\nimport { withLocalization, Localized } from './Localized.js'\n\nconst frameSize = 1080\n\nfunction getOrientation(file, callback) {\n // Source: http://stackoverflow.com/a/32490603\n // (With some modifications: I just made the code fit the style-guide.)\n const reader = new FileReader()\n\n reader.onload = function (event) {\n const view = new DataView(event.target.result)\n\n if (view.getUint16(0, false) !== 0xFFD8) {\n return callback(-2)\n }\n\n const length = view.byteLength\n let offset = 2\n\n while (offset < length) {\n const marker = view.getUint16(offset, false)\n offset += 2\n\n if (marker === 0xFFE1) {\n if (view.getUint32(offset += 2, false) !== 0x45786966) {\n return callback(-1)\n }\n const little = view.getUint16(offset += 6, false) === 0x4949\n offset += view.getUint32(offset + 4, little)\n const tags = view.getUint16(offset, little)\n offset += 2\n\n for (var i = 0; i < tags; i++) {\n if (view.getUint16(offset + (i * 12), little) === 0x0112) {\n return callback(view.getUint16(offset + (i * 12) + 8, little))\n }\n }\n } else if ((marker & 0xFF00) !== 0xFF00) {\n break\n } else {\n offset += view.getUint16(offset, false)\n }\n }\n return callback(-1)\n }\n\n reader.readAsArrayBuffer(file.slice(0, 64 * 1024))\n}\n\nfunction trigger_download(name, data){\n const a = document.createElement('a')\n document.body.appendChild(a)\n // a.target = '_blank'\n a.download = name\n a.href = data\n a.click()\n a.remove()\n}\n\nfunction UmamiLink({ href, name, target, children, ...props }) {\n const handleClick = useCallback(event => {\n\n if (window.umami && name) {\n window.umami.trackEvent('A: ' + name) // Log Anker / Link\n }\n\n // follow link\n if (!(!!target)) {\n setTimeout(() => {\n window.location = href\n }, 200)\n }else{\n window.open(href, target)\n }\n\n // Prevent normal href-follow\n event.preventDefault()\n return false\n }, [href, name, target])\n\n return \n {children}\n \n}\n\nfunction App({ getString, locales, currentLocale, onLanguageChange }) {\n const [frame, setFrame] = useState(null)\n const [hashtag, setHashtag] = useState(null)\n const [originalPhoto, setOriginalPhoto] = useState(null)\n const [originalPhotoRation, setOriginalPhotoRation] = useState(1)\n const [orientation, set_orientation] = useState(null)\n\n const frameURL = !!frame ? frame.src : null\n const hashtagURL = !!hashtag ? hashtag.src : null\n\n // const [combinedImage, set_combinedImage] = useState(null)\n\n const [width, set_width] = useState(0)\n const [height, set_height] = useState(0)\n\n const [cords, setCords] = useState({x:0, y:0, scale:1})\n\n const handleFrame = useCallback(newFrame => {\n setFrame(newFrame)\n }, [setFrame])\n\n const handleHashtag = useCallback(newHashtag => {\n setHashtag(newHashtag)\n }, [setHashtag])\n\n const handleCordsChange = useCallback(({x, y, scale}) => {\n setCords({ x, y, scale })\n }, [])\n\n const handleReadFile = useCallback(file => {\n if (!(!!file)) {\n return;\n }\n\n const reader = new FileReader()\n reader.onload = reader_event => {\n const img = new Image()\n img.onload = function () {\n let width, height;\n if (img.width < img.height) {\n height = (img.height / img.width) * frameSize\n width = frameSize\n } else {\n height = frameSize\n width = (img.width / img.height) * frameSize\n }\n\n getOrientation(file, new_orientation => {\n let original_ration = 1\n // use the correct image orientation\n switch (new_orientation) {\n // Source: https://stackoverflow.com/a/30242954/2387277\n // Source: https://stackoverflow.com/questions/19463126/how-to-draw-photo-with-correct-orientation-in-canvas-after-capture-photo-by-usin\n case 2:\n // horizontal flip\n original_ration = height / width\n break\n case 3:\n // 180° rotate left\n original_ration = height / width\n break\n case 4:\n // vertical flip\n original_ration = height / width\n break\n case 5:\n // vertical flip + 90 rotate right\n original_ration = width / height\n break\n case 6:\n // 90° rotate right\n original_ration = width / height\n break\n case 7:\n // horizontal flip + 90 rotate right\n original_ration = width / height\n break\n case 8:\n // 90° rotate left\n original_ration = width / height\n break\n default:\n original_ration = height / width\n break\n }\n\n set_width(width)\n set_height(height)\n setOriginalPhoto(reader_event.target.result)\n set_orientation(new_orientation)\n setOriginalPhotoRation(original_ration)\n })\n }\n img.src = reader_event.target.result\n }\n reader.readAsDataURL(file)\n }, [])\n\n const handleImage = useCallback(files_event => {\n handleReadFile(files_event.target.files[0])\n }, [handleReadFile])\n\n const onDrop = useCallback(acceptedFiles => {\n handleReadFile(acceptedFiles[0])\n }, [handleReadFile])\n\n const handleDownload = useCallback(() => {\n const img = new Image()\n img.onload = function () {\n const canvas = document.createElement('canvas')\n canvas.width = frameSize\n canvas.height = frameSize\n\n const ctx = canvas.getContext('2d', { alpha: true })\n\n // use the correct image orientation\n switch (orientation) {\n // Source: https://stackoverflow.com/a/30242954/2387277\n // Source: https://stackoverflow.com/questions/19463126/how-to-draw-photo-with-correct-orientation-in-canvas-after-capture-photo-by-usin\n case 2:\n // horizontal flip\n ctx.translate(canvas.width, 0)\n ctx.scale(-1, 1)\n break\n case 3:\n // 180° rotate left\n ctx.translate(canvas.width, canvas.height)\n ctx.rotate(Math.PI)\n break\n case 4:\n // vertical flip\n ctx.translate(0, canvas.height)\n ctx.scale(1, -1)\n break\n case 5:\n // vertical flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.scale(1, -1)\n break\n case 6:\n // 90° rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.translate(0, -canvas.height)\n break\n case 7:\n // horizontal flip + 90 rotate right\n ctx.rotate(0.5 * Math.PI)\n ctx.translate(canvas.width, -canvas.height)\n ctx.scale(-1, 1)\n break\n case 8:\n // 90° rotate left\n ctx.rotate(-0.5 * Math.PI)\n ctx.translate(-canvas.width, 0)\n break\n default:\n break\n }\n\n\n const width_scaled = width * cords.scale\n const height_scaled = height * cords.scale\n\n ctx.drawImage(\n img,\n cords.x * 3.5 + (frameSize - width_scaled) * 0.5,\n cords.y * 3.5 + (frameSize - height_scaled) * 0.5,\n width_scaled,\n height_scaled,\n )\n // ctx.drawImage(\n // img,\n // ((frameSize - width_scaled) * 0.5),\n // ((frameSize - height_scaled) * 0.5),\n // width_scaled,\n // height_scaled,\n // )\n\n const pngUrl = canvas.toDataURL()\n\n mergeImages([\n purpleBG,\n ...(pngUrl ? [pngUrl] : []),\n ...(frameURL ? [frameURL] : []),\n ...(hashtagURL ? [hashtagURL] : []),\n ])\n .then(b64 => {\n // set_combinedImage(b64)\n trigger_download('volt-profile-picture.png', b64)\n\n const frameName = frame.name || 'No-Frame'\n const hashtagName = hashtag.name || 'No-Hashtag'\n\n if (window.umami) {\n window.umami.trackEvent('F: ' + frameName) // Log Frame\n window.umami.trackEvent('H: ' + hashtagName) // Log Hashtag\n window.umami.trackEvent('C: ' + [frameName, hashtagName].join(' | ')) // Log Combined\n }\n })\n\n }\n img.src = originalPhoto\n }, [\n originalPhoto,\n cords.x,\n cords.y,\n cords.scale,\n orientation,\n frameURL,\n hashtagURL,\n height,\n width,\n frame,\n hashtag\n ])\n\n const { isDragActive, getRootProps } = useDropzone({\n onDrop,\n accept: 'image/*',\n maxFiles: 1,\n noKeyboard: true,\n })\n\n return (\n
\n {getString('alt_volt_logo')}\n

\n\n
\n \n
\n\n

\n

\n\n \n\n {true || !!originalPhoto ? (<>\n

\n \n {\n (frameURL || '').startsWith('/static/media/btw_')\n ? null\n : <>\n

\n \n \n }\n ) : null}\n\n {!!originalPhoto && !!frameURL ? (<>\n

\n {/*\n

Edit your Photo:

\n

Your can reposition the image and scale it. Use pinch-to-zoom or scroll to scale.

\n */}\n\n \n\n \n ) : null}\n\n
\n \n \n \n   •  \n \n \n \n   •  \n \n \n \n   •  \n \n \n \n
\n\n {\n !!locales && !!onLanguageChange\n ?
\n {\n Object.entries(locales)\n .map(([locale, name]) => {\n return \n {name}\n \n })\n }\n
\n : null\n }\n
\n )\n}\nexport default withLocalization(App)\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n })\n }\n}\n\nexport default reportWebVitals\n","import React, { useEffect, useState } from 'react'\n\n// https://projectfluent.org/play/\n\n// import {LocalizationProvider,Localized} from '@fluent/react' // '@fluent/react/compat'\nimport { ReactLocalization, LocalizationProvider } from '@fluent/react'\nimport { FluentBundle, FluentResource } from '@fluent/bundle'\nimport { negotiateLanguages } from '@fluent/langneg'\n\n\nexport const locales = {\n de: 'Deutsch',\n en: 'English',\n es: 'Español',\n pt: 'Português',\n fr: 'Français',\n it: 'Italiano',\n nl: 'Nederlands',\n pl: 'Polska',\n ru: 'Pусский',\n}\n\nconst _supportedLocales_ = Object.keys(locales)\nconst _defaultLocale_ = 'en'\n\n\nasync function fetchMessages(locale) {\n const path = await import('./locales/' + locale + '.ftl')\n\n const response = await fetch(path.default)\n const messages = await response.text()\n\n return { [locale]: new FluentResource(messages) }\n}\n\nfunction getDefaultBundles() {\n const bundle = new FluentBundle('')\n bundle.addResource(new FluentResource(''))\n return new ReactLocalization([bundle])\n}\n\nasync function createMessagesGenerator(currentLocales) {\n const fetched = await Promise.all(\n currentLocales.map(fetchMessages)\n )\n const messages = fetched.reduce(\n (obj, cur) => Object.assign(obj, cur)\n )\n\n return function* generateBundles() {\n for (const locale of currentLocales) {\n const bundle = new FluentBundle(locale)\n bundle.addResource(messages[locale])\n yield bundle\n }\n }\n}\n\nexport function AppLocalizationProvider({ userLocales, children, onLocaleChange }){\n const [bundles, setBundles] = useState(getDefaultBundles())\n\n useEffect(() => {\n async function loadBundles() {\n const currentLocales = negotiateLanguages(\n userLocales,\n _supportedLocales_,\n { defaultLocale: _defaultLocale_ }\n )\n\n if (!!onLocaleChange) {\n onLocaleChange(currentLocales)\n }\n\n const generateBundles = await createMessagesGenerator(currentLocales)\n setBundles( new ReactLocalization(generateBundles()) )\n }\n loadBundles()\n }, [userLocales, onLocaleChange])\n\n if (!bundles) {\n // Show a loader.\n return
Loading texts…
\n }\n\n return \n {children}\n \n}\n\n","import React, { useState, useEffect, useCallback } from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport reportWebVitals from './reportWebVitals'\n\nimport 'intl-pluralrules'\nimport { AppLocalizationProvider, locales } from './l10n.js'\n\nfunction AppLanguageWrapper() {\n const [userLocales, setUserLocales] = useState(navigator.languages)\n const [currentLocale, setCurrentLocale] = useState(null)\n\n useEffect(() => {\n let systemLocales = navigator.languages\n if (window.umami && (!!systemLocales || Array.isArray(systemLocales))) {\n for (const locale of systemLocales) {\n window.umami.trackEvent('L: ' + locale) // Log Locale / Languages\n }\n }\n }, [])\n\n const handleLanguageChange = useCallback(event => {\n setUserLocales([event.target.dataset.locale])\n }, [setUserLocales])\n\n const handleCurrentLocalesChange = useCallback(currentLocales => {\n setCurrentLocale(currentLocales.length > 0 ? currentLocales[0] : '')\n }, [setCurrentLocale])\n\n return \n \n \n}\n\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n)\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals()\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/runtime-main.153177a2.js b/static/js/runtime-main.153177a2.js new file mode 100644 index 0000000..ceede8d --- /dev/null +++ b/static/js/runtime-main.153177a2.js @@ -0,0 +1,2 @@ +!function(e){function r(r){for(var n,f,c=r[0],u=r[1],i=r[2],b=0,l=[];bZFq7;;%Dz3fKHt~x`Tgvpbl-sgSJb*^*W^KviTH#aq6XAxon0D%4cIsHoj zzz9M=>dbHm;e2d{1^|W`a}!I04Nk!oR{ozbu1$>amb~b$zso792^^(B73efyRI_p*N^SGN<+u~jem-p%(jc{ z*0p2M?E4Nfd#7u6WcF@K??p=NK1Xjm9ozFczFW(_LuJ|NLF^WC?ertI`w+VX zkzEqsP6u++S$glz(cMSF`>w~JVvHsew_`-N`{0}1@SQ%!{eA$F>%GYBKE{o1#CAVo zs~5h}&A8JCC4obEHhU0%I}pE`5$m52OD%|bGGev?G5sDf*MOL*N9^~(f43p#nh7Pdp2~htk@_j2hKc>Q8^^=6v^2Sg2N?r^b+{+K|@6c8hW%uJx!bS@~F< zPH2mCZKnWt_4(3vG-tIQSCu|jwH`;gCU=biSLNA#*P~oD2HcegAcSyK8*-KF@*KGI zxysIR7N0@A(PGb4XD5N|*&tVy9%sopwrsVvWMBDdgeVNbQ}t4hZ@N2+r)JJEl2Sgbl@k$^K~2%JrZ8+r|ih4 zXRBT0i(TZ4uAC~9acQ;EtZ-B+aaJhSwrFrrC~=l6ay(JwdaTstM3M7}BBv82kh~7z zCyF7&Tcp(SLVCGU9tVZuLs2~@ZsKy#slO3$$@KF6 z|NArE(^Q=C2T%2zGavsC+$&aG!cjAp%reLS zBmRGM$Sp8exb5po!h7ExTv@&DO*zqyx6xzkd`0A=Pe@Pssw4ua zjO!kTwO2gIZ`eb2oSy<4f6iaQsG26g%GeB#7@Pv@F;I!X4nIG{mTH^77XhdG1Oy{Aaws$1( z6Fk^OvuM6&XRq5(KXOoD0eb%D?!LCQ4r5Poz{8iR28auF7>kuMAw1kmAJO&uRPiz1 zO(PKK*}d~;$Zb6z2OH^TknlMW0WsGB(7+qik9AjuMs z1*#W|Q*W!TB)@ydg<5v6Ws#}OvL>0FfBA_EMHVfVaaR?7&%;6o!h6KsKE_@3xhRE) z+wKm-Zfy4snL_&VcZX-`?6umMw|+=Eu+&7!ee+4XQ<5DjnQCBO`>3;!pmzw_`?5IN z_;UD-v*H-qHnk+`WJkhhSvrvDeU-6mwQ}L*b%?UMy2rA!(S{?vvtpc=$Qq7q6A4(3WdZYYGUw&<@2nzYQ-55@04$bvO+O z>TJ$4))(HdH_?`|yuMFB zO$}p#+P0W*TypU->iKbL77DB*E_K%EczWW}wrpJTQm9Cn0hsBj@O@^c;>g&S%Ip0n zYY0BfNXrSA*Q5__t)Y%l2B0bGMV~`rHz^@x{9-l^i}Rxd_&v7W9ogm6gA%?(3gz~F z^lVML*qDRlMCDswB7J_=GQjQ%hYZuyZsvzp0!`GxDK69u*xw!y2k!a({Jk@^wzm(^ zah~|u_|nvoKb0XmAbH~p^W#AQv%v|Qg<>3*mTjo7()jWBudua6c&#^vjXV=@Sa-rF zlyouiz4QqyonhY#OCNVR$|9c4N_bg3ZC^+IW{2$nOI4hxNKX%MNxJO%;u&{wOiQHa z@^atHUjsIrsF4C5?NdX;yUu;lSli5&^tvk*Vi>v6GM)QZD%=TJ^niInL4`~4*Q=B) zAyvI%PX|pr>AB^^i?u>KJhhQ&O%v~O!%|NZb*1t+CSah7`}JJbCNY!{LzFJ|Tu7BI z^agF;F3+Bss~Hu?R18{@R(=r+KsQ}5+zY$ZrkTr3NMsKW zJdg{4%*dBDF1(mBX551YAUOEu`&cY`mGZy<+;h}|mJl)B6jtSIHLeU?w-*9Q;dWdajDk^0rcq#I5D${zP|_6J zgia=uEj}i|(S(T-JAbF$2$ur%o}QSsn_VWc3Igna^O;<3zz7lE2M~{d$#P zdR7-S@o{WW)>U0xC5R`ZkQeL^u?I%>X4_^n6C`cl*&Mr2{<&P2i=AF#+#Kqb{kgnP zj2BO}W0`z8?!7QPugLp@LYG4vUoowX}1702YBu+QzSUp2N!n0R8&NqjtFEuG-@ zMCGu+h2;5I>T9V5(Ni8;DjJxp8{gf9(sEkat0aV!=$YkDd-dhJUbhD4V}mDHpX9i? z-rQ|g#LH0VZ2XJ22Y>UrUH$&FSPY}BM%&TlF|)u^r3zLkAFj>|6Q0CcxX@(BcQD&)FS2)sv#14i--92r!g&` zso0B|@UUbfmcr;!9Na%2N1;o|EsWdc%X*QVq%MM5hVelf{XV|27eNf=$JjTMAk}Cr zh%eL(%W0j^%2J`1$UZpT?-h=@%uZhxQW{fU6oz@o><=ZpdawU`m~5|d`X-0$;R6sPCWlg2IZY^tIgrS#IE8_QGK)&qEk zmFoDlUQ-V9R2t1B8>y&(S$s{iXjblThgr~D4TEKS>D=y;EypoeGn`1ktdw9&ifyX1whDI915M4{q>$W3Fa(>PEtvKejT1g*Q z$d(MGEDL!As>+mE6kt=waGj%X_r^gsw?l+Z=^=@WW<7=}HhQ3j@S*RS)L&^kop-UR zTNM6Tk6N1sJoWZWslk=+5$xq+7}-N#Tpp?j8#QRjVO|@Q8oVIhTN^%&h6{HazTfjcq{vl%=VonGzyUQyyu^8QyeeSXx9Ok*N&WTE7{9&uwRmTMd zJ1wwI-fP&A!PMRL%gIyX_{&W2wW#k+x-rq0;O))a)*2oEkg|7k^4xpYYQr~Hpf&$% z;gYE7{Zqyt9Y7YsU?XkCbU`wkLJwuRx@ed|VkXQ>FCPg_kigWz%wn)JOe*g%wLUmM zOA*v4Fxh?wo=jSSP${D#;Y>^lK~GIb-4Al)YeD>uqL9)+7iwWpmgGKT$iNhS zIfj`(&rr`poPqPv-e6m_`IxUpa-+-;XHTe}^A{#L##F3ehtLS&oZ1A7{AR{CSh=I* zaI;5K56>vEsGf_3iW9z#r!pZ;)*m!r-yI=;Z@QkIw(|f{rSA8{!4dUt1-s!PJT%qb zz{fmAmf;||`Y?8XlNQCry`jG|FaD6%3 z!tmF1Jab4dEdRAgf~lO2ZAi*yiTtnY=f{rZ%_CFHfQ9J-(eH@%AEbMi{2%xQ>6^o5 zJ~nb&7^fwt*Ef_FP)y~>z?<-nL>}V`n`htAf(W!&O6#i&9`?D%Zihx_KAkuXI2rU2 zMvh%R8=@Z{&wx)c;>y)p%&NbW81v7kJ*awUEJqEsS@MmE(^}+|!(dig*h^*^z^V0P z_*?ISW1^E|645MBWkccYqd&*Qqgk-uoLZfGybG9a`!I1?`Uo=1@^6Q34V)YMF6aDr zKJadd^XY{~RlmfkDQ-=f>O*)wJCpe`d;R;z)G};eHyMb%liKQCOx`@?Ch>IkHV3op z1L-C12Wqtu9v^iPFkDc~24^;_bQ@YjYMYb958Z|tWHgGF((bjn&oQ_+HdOjY}^(Ia8Rq81R z4O;c{(LwI;WKBfEHKMzPqXi**Y11d_M8`{Fuv6$&nupqE#jCYJ z({m(iL)aW?<;~NlVab|G?B;@q<$^Hd(n0II&sm*&KQ?A~fa&7I7iM=}piZB*5Jbck zB);gW%yD15s_({&F3^^l52-sGdMsO+CEilBa>#$C@8z@nc!r5jiC0W6J58jwe3DW$ zj`$LOZtQ2bnWf=f-JQ{f+D^`If5|o5tMG8&@McjI?fYsUYoB6}AuN1CULPVgFD1UZ z>)y&RvGMg<+y)i4oVtMAZvCwg7IfD|jScTxe`#fo(BF@^r29OU@5YnZ zSoxaz?3j`T2vm_#V&LQ14)T5B=O=&^>JoI9b?tdVI*)*|3m`*C96xpJ^YiVF)=y|$ z2b~l(gpN<=ys4}Q$QbR=9*IB5!~%h`gv8-f>6utG65?xy^6{d`YpbE6lB)fP%@U~G z1?bU+AvXTWM~X=YQ!G{6T-}+`=&}4KDC84|xqA2x4@)dn!dzW~u`PIK4=+)wOHWnH z^xL>cvSDdUhiWpyG+Y94n?sZB51X1+WjeEXQI4jAMxAeceq@+SVXW_V(En5w*yzoe zxl5Z$J!M5g?Yi|flxJ+d@;I+xgUm7t=~(8s;q2lsd+++Hd=JIz=a=9O))H&=@L}uK z0Z--*8rp2H1moF&1uTj6GXqCe0-#39cJOp?$h!e-mMDk7`Gl4@d9Xi4w7A&gWfy?X z$K3kXWxb)hKYyY4L2rpY2t>|L{i%8z(|fQswsdeH7EUfazW@Ey+h4~R?_f>%nI4om z)nI|0`aLUgQB~e%@h5{x+fg@*Zvw>mp7~DaFj;&i8&SXXQg@ZQ<9ok)&-bf^VtW|O zgr)CUr*D{&YwA1Qp$$TN`THw!iI)|j8Abjkt@dX2bsE-wCSd{oXXKTtk>sK*7S!&q zQ&nBCf(wpr$BlUJU_nIZ;5TT;u7ADA{Ju1rN?sAb*>gk+2;Fk-I@t;rs^)`dUO1_+d?5Wnw7oeYRPy`;sKTcx(j|3L2+<8k8r_vdIW|?$Hu~NI*W5~I z8>4T5iN1IZl0~NGCmswDBug8`NfKY_*nI4@%zU(1mPy+f!fE7T1c_kg<6XIC`UMOv zS&~|-o?MnD38n6}Qch1>XRI@hd(BXJRe&3FM%eNPYqa1CW3$WxS9h7r0uxb;gYcK^ z0@q+PYimID#~AAIa5B#@+eJh`N@)z$6tQ5XykJSb?zTX~?jrsrsxvl&5}Ync1Ht-y zvSK6}os@IA6}_l_4Qu-$ zI@T-BP0qHRD1>=hy4*b$aip4E4~8BvL(C^9N~|%pZ?8b9113n zsUb_!0?wZ2AW*ia0OEE^oJ&T+U#ygfF95#P$lh?*r#4?O0rZG8JU0hY5`{CHC(uzx zPhjG~zwqzAU*}GVpbRmPe{=56oB_4@9^A2=uHbc54@CP)!D~jB@qP*PU}+%$+qPHz zVU;kEln*$5<4`R+gW1kzz!iTMW^Fs!2g7X#>d|K^L>{7m?*j>Vs_W_PYso-K#4oyH zxhJo|t0-QbLtfW!gC+yN_%Q*orvGKF2w9*AZmfS}+L^cnP%l&bdqP3bED zHf)fSXnM;!VW&PXn+Zp%Bv9oFxPrwz0niRgQhoCe>kjuWP=w1RkX*`&x@31afBk3i zvFX7T7bEk9iq)A9+-LO?2N0j2s_j6UY;TL zKQ1w9=%hlEb}WDRMx7^2+h#U@$d-;rroLWO6e0%i0(Oe^IzT z$d9t$9|6%_^bSRSOB;pYV+LW$JcW#Mt$=y*5cjaWQ2dhomlGA=N>%` z{N6wfb>ph!Y0MwV2P4z3VKry=&ThV-SPT{Q?S5Cm{fdkZ2ECr&8QI^KnghU#>_)B+ zFU17S!P0XGq%xsXA$cOWZx=a?cJBQ+%^v~fDj<-g%B?kXg5EHY4?8GfV!Pr!2)1v5 zcUEtqf;y}qUf|-!PO|zhNVEU3nQ84>%Soa}b(Dgx0U9FwnXmQ=Q)1 zX$i|&0RuAH7=zgYu61h&U+bsznf{)Fe&c6y>GHPvZrGtpDk?4cPg5fDM&n)&KL>;z z!-g`s&qiGx*k~kdG@qXSe&wj+9GaMS-cCw z6Y~MYDX|ljP>#k_$YHAyJCSS6n)(@A^8v;dK`E6b8xR#SiHKBS`w(GMA@d~_o4U_1 zBFzpNjtktxv@1$9b#}sdDh`60EohJ8sJjY|rc@^^FS-s-0!Sn$P#%Fk{I61lM-#gIcOUUN5Djt#4LD5`GwQZ*lgkA>>pOHiQIIA;caK{e zG0T>tGk?wc{y{;I#!Gjv3$(jw@fyo}r*^pY9Js?kcOP*}*B7L4oy}!E3Oz>QWp2a1 zf43`FegY$2+{w#Mp>rJ|4#&@n;7Op?u3YlZ({S2sQV-UYXVMoud)QCq1%i*dQ|?JHA{>5B$6GmbKL%gi0PYE0DSXo^3Q^ZM}J5r$4*%qLrJ-`Jn#0 zNRUz}3W*yGTsY39gqO4&S4*DWc>j!zd}dvoUx=tNYVJh`bin?zo32ZZ3G*z@itz){ zrf9vf3$;RFh~6_xSDy5=M#agN`kxp0*{}#b`e#>b+9%2iWoE2 z)bEARcEENB^x*6M@U6uq0<WzQI6RIpv3>wU z8;PX&T3v<@P+&Q#9$>g8XAO#)6s5_@iE>zh`7q%pB49;xRIJtsu_KrsR;-n1+{9&= z&vy#8{vD?nrkE8w!5=r_-NiQZ3x~bB!1B+03#j=xfn#4qOjuu8rognEb}U;HP%(U7h)K22X1I9Ku^ zDV8drj)NvyHbBuT+Ntym6Gx%6SgIEPP##?|5#a-UN!u7AMB^Z2#s!V~W1CqGr_#0g zzkisbFK78HCL~aQHy&fe^kdNlxZ}h>?FS=IwHD@sjAQ=eII1loy=IcGXbsa#0sk*{ z^)3ECObo(k3O>5vlxP8vMyChcJb|rIslVUhY6ZHH_=(G1h#5B#R58hsuEjwZv?#&8 zB2fF)ZNVO@(=293NSyT_sI7%5zI9Be*pNWY$ZP)Qj)5X*-YV>bQHy0&Av|?nYDk!! z;uOTYkibMQ(PZ(Ni^0~sL#nOng7w7cv@J1AqbAFkVGPz51|JtbEJ{o~b%+*<1u^Z> zQA(5a5(XwymnR3#c?Vta9q#Tb^wjas89zV`PElGf&b!+v%#Ct@!5#KlC`$X1$dc>v ztOQLpES(=ueJLFLgZUrY+g7|Vig=u3%lYAVEsNUSVW$8P)Iq9=)Ij9;@2>S6H?KrRG**Z{bK+D-1=Fat&?|HeWp?a=AOJA_kS?m@H zd=qp>!8m!*JWDECl9@UYe64=ufGct{tHfOf^GaieTgt84M#%X_Z*a>gkCdSgH+sTVIO? z)l~mBH?K%J4lP;Dx_W)WU}X2iSig zDR9O2Em<7IN-gKh&X7^#Q^Y}hlGM%g%K~TYb_5(Cg-yQm11b#Nuu}Z`9*GQczU?&5 z+psNes86^4er-;Y{UB9g1iL~aKn;-kdprILLUBwerI{41Qhm(gDZzvv#-{{ zDhvrU^E;~Ui3|tnHdy|J1#w~$Bj_;2VWF=`BsA$jzBV`{f^bh5yN<(cPz+fQa z-UICM=4O3ayuFYoUA`z0)N{QwZ+-ET){UJ-@CHvu8thDuC<825epxii)D;#j*^R|Y zuwwaz<6?dS;KKxUOuZyz%8LHyox={j1(iHuj7E5RiC#uvV!R=6vy>~2Dsp(`*nGPG z`gv3W+0F}3ADT3ni+*n?h@;(8#2AHKy1DqW&5-Y(^**c1cs=WzA?ttETlWj=Z!`@N zxC{w>G|K*H#2m%v5oQjT*CokD7+v?CW_YXz2g3MF_r`$$&-h_i* zd?Kh633b4&St)ToV5%V;3^Yi4y4aSE2127U= zBj|NX<@vU+##j-OnTU0n=m`6b#l&gSJ<+DPFo+>8L=2sZKPxd2hhK(4amC-F< zT#p3dinI1_SI9ms7~D*85@vYt&J zveFx`m0Cmt`;l0D`5;!)QW^90QAO^<$tu`#BGRZvpX-w$nm9@jML}_u4niqsL}bvY z&GIa$Lw`O`{i(sX>9tbnKhL3J$vxjbxHT;6{-ukl^9DDMU8A)pL3ioe4~svy-4A|# zKAlT8KBkimY3l@{j$eD})JS$dp|^G3d-Ban1YyIfD&yKl$hYvQ2agpoOMGIJ$hKAF zZo44`yAg8Qb(=PWZ1CJK?bF5-4eB|MNANdojQrC*MK3-}Kn87JPKK^JKEmLsyD#=b zv@6!i;z;XPV9IQ14z+tUpTb#cUz)6re}>s9QH^qJDnkqm9ihA%?%w%N$F!~yiX&7; z2vlA)o739-$jiu^qzKUDZZn__ZncHX{e8_&khDYNdiH^(%`<*5c^y#8nN>WrRd}gkko2b_51(42{VSh$N@!A${Qk_!a za+W{nil1Q5;|I72RA)pywuMT+dB_njsS6S@Cv^7g{se<2uVP}2wJ`j$j#-aoF-BwZ zI(rB9v7Y9$M@3MBuK)kxI7H&+AUxqKF+UVXMWb!=87cH`mVZO^>HiHiCK+cizgt;K zuEa`K*~02%Fr|49@Am0~Y>&?Ndh!v6yww~VSd12`gnKXIsep8gkzp+Lxg6fhl8!yb zsxmz~rZ4*KM`3&1KO(uUkP2n06LmaSF&)xkcgHb)_0!?J} zjs23Mk__h9Ij4%tv62f3464v7_`=-xs*UKucZzTYe<^*7?g&giGl9ehNuzHhK5V80 zhG^|r$wIJ~?X7}dZ4R(3SkvA27S+Lfd?-R0B#Fa2N-#_di&5_d#4A2hr3~hSx_js4 zyA-E%I8+0AI`hORCn{*c>1r(XaM;L-N+}l27z3@1ExPYjvjW{56`%*kKk9#c7kWi3 zf%f`kMOO?ry?lL#8%3Q~47H3Uy%}Vwf$AtKbnLBXA^1H?^kF9WWeQWWFf(yjDdh8i zvQ8ZHY8vV|YEn!Tnr~7^4X>x(%MPXI{wJYHl4BSl`N`ig64K!ZBr&f47qwnN1~aDJ z7B)pmBKLJ7R%Gopt-zfL_LcqOi{MU@(0&U4|MIu%s^KMRUuzjWyl-36v0Wl(KQu$d zStt(WD?#NQoKKa5Ea;O0#QbOS0_WUr6|xXq?BYHsy~AoX)z|DtJm-gsPd{DjNB^=j ztH8l>q_oivih0szwqu##5Pq2qF-=PK?d-riTR{W_hRV{$Q|7za(%W@m{iJ=4mfPrcK4Qg%1Qsx!V$RG}vA2P2IS9w5s8%Q@h{z zA95SLc=6|roMA8QTXu^@TBKHrSn(o`5EdQ-`bD{$9qqP>MrnNtjsY*d;(&QDYlw}B z5w$py_ziktznOe@A_}y+2URs3!zSqWNK;eaMa0=_xl*}QATUqyu@zi+om zwK3#XqdGvtWh=oyjekC~@9^`D34EhPwmO3T!1{&Nanfm{P zr8Ud3Io+4+*`8D*@EumfA0_f?h`gP_%l_IY7R`ANE1HNClcyu>`AIW4D~liJx=O+|E&E^v*)2(PDixFRD?4tlKAo-A z#Z=lag~j~J_{1QLe$2$_*)Iz8)YrtwyPdcv>Aej5wl-t4Y#k20F!@0m+{Wjk!Yi&k zJB#s{gD(w!vdO$4PJEH3L&$cxYscdI#Y4M#(rH=dj#iEQqzvHu&R@f_iDBsywBsQK zpR>NXs61T1y%(eU<6P;axdjq0+>(^mK9izBQy2El@j-uEc@%Q2>?&s9HjG5kS9lDbz;S+_zR53_DBBbaH&kxh%KA%7y0EGzAw7MEnGX+BL7BB z49i?5`;Yc4YE~xd3Ga`Zv5bWA@*t7ALJ13W(EVM^sbOWarR$KIAxh!M+pyzx-blr zyTplXKf+$o7kB)na9o!xzmD*|m>ZIf1BMH=``@}FqZ|dzi%?lszBpmSxhul=1BB4# zfxY)6h{tS6?tHQR9&u$c@zEez%*ZL{mSF2%*d-}{Xxb|Vp}#L0{{GD5J@nMparB0v zE=J6?Vc2}{9LqFnsPvHqC-Pp)!xUA0Cy8{zpA*Pj-t2oW3YA=2#^bKZ$Xis!osgyv zs5tf(nDftqkqY`~h6P#^t;&haXq>xcspVP06?IC=+W}}hmXR$ z`|eBKBi*j?zAkm#Tt$fw$-|H|^72f;t%GHyJ78`yyglxudwVg?GVso2QKZEBmygl!CuV`!g7C zi=m{Ard+9+(TYh`?o>9BaZ#PGp1rXWs0$*~_mjsY+)GDlZeHB>?D=!3km*OsWUp-R zxBQyTE2|mW@WXv5JC(;`aF!|R*Lg2NGut`| z)U9f%8$;Na@=7~v)7J%Fch+8f$s|TRLQM9_S5061O{G;A*ff|N=l3=PeD4*m>#@tY zw@bYgI=#11sn#uZLRbZYTUb+6RnqSTrZ&BzihyuV0wy*R`YK`onJhEPHC8W0GnxO0lwiYLU z{k}SN(qHc1^ocxbc{%k#r$k!uvns&}f5l-%H!-5=wG?6RBV~Cb!C}6kfi+zf?KkKB zoSNg6deF+8M#vt$E|J{o0dO-QGFbRonw7T0vk8G>ZCR(EvNzaT`ab?K*W(Op`1+yE z>?VQ3@yffE;hd}TudDb^wN!i_$88FKYx*^6LHs7hiKCbQovH6S0SJ3_UgG^IKIZ9f1x*yZftDFQnn|trvM7q`w*eVln+n7ddbaC?lN%_sm0Q{JHNP( zt~%V{C^v*L6DroOI}E4BfN33fCSBn839g?lb-GSx4XX*|J0e_P1hi9@!z3P(^ z^mM>*wmUoqq7ofK2}Lzs9Yd2(+}S5*f@IXK=r_vg8TFhJi(Tbk15I1$1&wkR}75klZy)RKyCckXY$ zeH?V-rngo*6LVYS?>ib5CstpAq>cl|1g)K}QgJbEP-=23e7O`xDYXydnY`T4dZTxD zr3Qv~5%^ttYlpqChXfY5+P#4iByHbH_?)$7cCXHF@}3lP+wUM@`xUR?1c{(XZya{v z=dQ=Qa=lfa><{f_>#piLpffrztAAX*B=_oOC5+6Fb0cLOlGlPW?1_>^Mgy0_BLhwL>GY|;wE`wW;-~@MfC%A;*5F8Q+ z4#C;s{l0zAzq{w`JxzDr>Zhu^s;j$i-#dhYb0_x9PwCSA<=pC$SEgfmikr3^#R7!2+LgSe2#78T$S*-pQRyF$;u1*l??3b+Wk{)`+M12VXU-8o2 z$UMK*Wx6q9x;25_nXz24(Oiqr-@Ru>(U)XY_vWm3<}5cVjCU5WEB)seTC^uB;3Fl< zGY#rPd5Qx$@_)MY$8V^P6rY}|L2m6{+udsRe;j9il%RM3jO=}8+Rnk(BvSYNX>uQ}Uk{^HD?d%6 zI8}orX`>8DgLKyrsd@`9NrNPc9vdOb9e}uW!-(o+N$RCH#_)(6WMECA_MNO0jgp!j z+#fn$^0x>P*GUr9NDx(ufyzXIMZyI6f&{s6f*b+hHzDF$CE_X#qH=x0yw9NYFoM_u z{E#+0zY#p&38G>%P?ircB@REb0xzfs&wm2XZvsEO0pEWT&*ukTz;`^~abRLP;WyhS z-lMpm`*3Vqp12R;I(FfFtiv`a#?~*wHmk-qEX6h`!Zs<#v1-JzZzFdeA@mrdwf)X+ z*e#^qCZX8OWZuWG)1fHQpvzxv#8F}TvfT9LW3JC#g&Q!XAzb^Oy~2p2(wMcxfccva zW3I-tugbJv-q57b*nU?NsWo8vss~Hbeu30{9;n9Pbw7!5fQ9&p3i=}_b!Cl*`(NW7 zm02;q#$t2;PF2JqkrCR%f3N%hQV&EN`td?4ZiQnz$Cr1w;NZH&PV48=8UF>`|L1ym zxW7XQJ*NLd7R9_nCDip;ad(Fj`af$?w|BQUH#c_=H`mvw{Ner@#X`{!54R7uH+NT; zkN5v`-J=vg%0A}*)$#vm>pzu`_5WM_Ulgk1?#@-xiU9y9`6@3ZuIY-lzl>8KAVeZ2 z4y2mqHeI=&z5X-?H`T8T^&kVsen!7Eaz__~15on^^q(RSg9wDWdo2F{*nt@TMWcxS zqW@p)fC9@FZ_0kl)Q%cYrUy3f7$5bdL;Y>Hi~>u_=5p)QK*W(?(QdGb-p+8`rzO~q z`IlMC-In@-8gaPAf=T+e;@~l76Wb~8g+crZxLe#d#34g5>f6w;IrU9>L4!YH;%vix z@LlV)Hv8UO-IKM|m*K=A>PZ0?7;9Nn1x+>%`di%RvV%C?;y+YAMLkG~5`nCQ%grMi zYF_Tm{X8?n#i@hrK<&%)rzPPNk=A>$GpG*I~|vO<*}?%uXv)UG+oQhOEL5M6CzN#dP`j|4r|G<-kNcyoqoMB)gsD1 zqiGWgq|v6E1xa_;>pumIm#5{7^iZA3>B^%*RF4T$9iH4za`U6er^^W#X%uV5vV1cy z=c+6xL2I0)+2GmQToq3{xMq*ZZXN$$qNwpau)xCp+rXYCY!%@{F}S9r@IoLW-7rG| zp)>Cpf=GYIw{=b#(WJfxFFWv4d01JW0?msF1!By{fC44?^Dt2S5og>G8{xN=q#<`g}2Uu{-Q zhzLYGb{b$Chte3T#;;#V2fc9;M9K7M;rZ0^K3Qu_zJBOrX6{~7O6cHW4BYta1%f)$ zK|unSAM@pLL;N_PD6NCQeVxFK%4QPU$fXy7J>+Z`tlcKb{&(SsM#Z%l$9N);3-f-R zLI~oP>5js<;~CV0SJ78eeGLH{Le?|WLwza?(4ld712oQfN0X%p*A4vmyzVtnl8&DB zf;^l}fX?N&#*>gOYzpdblO{ju5QMIs@gzMo38L$Si(;qzCW_)8U^kA@g!cm?Kx;?z zY~I;)P|?7x%6f6QsA>jA>koP;yUFo#8bV|myc($qPY+*5<*hQ24Us`TrLdhkya5~w zg-+q|SiF!mU?fVdEnYp!h%|Im&Siu4NblnJ7^67;CY)jnqA* z1d%Qs|Nbe0gB7|=am3s7G>Rt$9g5Pk0esAV|8E|;gg0PVAh2pp7Dadk$AZS<$r_*= z?y3j%Oh1J`yL%5u?SLre0MTlwCY(n2C0>+V(0dR(R12>E4MDPkMGBf_Zqz46<**Qh zt0zXiA>1>gTfQ-g95h?`m>bn)L%U5pF+Qxp^YqX`rJ8F;a&!ZmdfMNHSonJyDXnnSdZ#FJG-0}!gco`nu#MRn`3a8Ugp{$rtghyEXoEEWpG z{R&=+>f-R(YGoV)t)}k|qD#$36|FoCGb8}dwfT~=>(~kh`z!lcmCLB#mWUo=`Y;va z*Z6%vPr0D(cIX&P_t9EbsPPvD?-XpKmPDM8G1zYO2j4Lm0wN4o{(B_m!z+}V^%~{j z#{!(8HbILrEkmvHHCXun=C68tEfwJW+jD_JGsW>h6SPPd84tgIvbj8XE05@0U4%I! z9*8q;*%l$P2zhX*=B8i-yJsUJb6b14dC!WI~;ukyr|}iz*01BMK!&SzX%qu_;T1#>ET@RHWa_-)m^LFldnN}yG}Xk#pG>v`z+@^diwiY<+C zB100qlSS4I;Tncf>e$;X=$eRfP`YO4TgI8uuDAI*FNBK#4H=jN4WpQ?bd*fw2<_kG zkNG?uTojnHR~k3Z-j6=)cD{NPNZ9xc@>s=82;w2<)Cv27mr{Zn%fB25?XY+}_#+*U z*Z7WB;7`}`^~vhd#Z!1muRK<|mb-a>Jl@e9H{5%X7;X44xXZyZ1XEvtAj%_+uyL2- z^=p5hz2Sf!4e08x>yaxmoFhFRxIO~o>9VOU8C!HY7<%|wx6>nc)s^44e```nC=x3v z^W49OlY+qPJtaPNH7Xt{@eNPIOxP$N2gHP}ksc!Oz6&^y>clxiBYm3XYfZGIA9`JD zUrZ~VX>PXLI%nKotO($UVs&v{whJQIaihB4K|5{pSC2?ZEgYpHa-TNpWrm?xj)qL| zTDVv|gB~>NG5qwPtIZ1fnrLrOVR=M>(^wu?#8C_w*YfXqhXN3fBmF~UXP-n_W4y3) z?ERG6*4dMLoQrp9V4k>oY1;`)`bF;F0~9z4vROjxVI4H}T|aHy(WZgUbadkBmiqXS zSMvF9Ox@SGWX{_%h!YJ6$nL0twu1jwCB4O*7$H0KDPb(!*~x-Z0`7f63JHHM^8i?8 zqS#-<4ch>!^c6|8(AImbiKu%e0lbMQb{_by44P=!uleQW#l;<7ibleP$qZ>TD3pde zGd|Ou1p2Gg{({X$mP*7f`&>yuGgXg z6K5ILd0;^dzKLMj_+(mT{F=lgw^OG!x8?NvrIVxkg`j*+pT#WcGR(Il;(KH1Yn5M_ zjPk9Fym;#c-g{_knGfs(r5}IQQ;mb68~{y)vK5Q3>HV(b6R^;KG7S`})^)-=%e=#{ z!nhXh!VU`>2#MV9+)KD9Kg(KfA57B7c?z_d`x04|DSr|f;@ydRm3|pv83AbXMnS$E zlv~8TilZ#H!JrE?EHknv3|Hvk`=~-sG1dSex-OGH6&c+;sAkfrdpd>|xKO)H_0jEX zi{b^F=I?Ag-}^q}xzQ!QkK@u>&|&~C{aHcTpmBQBu=%(m`6Hvw-Gh@YTvey`<2O8z z7U1)DoSx}AK6OF3{gW>rwo4EZ|NP8^NK~VIewIpAwai?sGv{OjeU?mRCfcw@4{CrO6B9l z?!?pE6oNHC%i;TTP05=Z^6enbHuy5}5u#T1>L#;|N6`@);%F+=WGSS;d!^QheT9j&(QYm`+&9|{?yyHlD3rZKd}{FK>m6`u?B zrsga@ER@IL^#~rm^1}Ev!3P4UT8kW-t9iQ(78b7v9a?G<6!>%sI3h6s&{OwDpSKno z_lwVR8={^ay}XqH0K9j1{zm8n^tHJobN5z*PK^M*b+s^)J?A2~Fgckcu60cN=^xcs z9Dvo3a@wyTMwJ8s9&S^<83RTz8i^b|w-%kv(+ z#eZ6}-X9&$l4&*20iV@28@h^hBOJ%P71$-82L!O_TPa|^CZ`hTelacaD+M4HeNwqR zxL~bO`MPMaxFIP@wgA50<}#B~oW>{_4a1a0)7>OkUCy49OgNqHb*F$S7xEOen@M#@ zCw4qw0lq?(kU9W-DzGyVP=LT;(s`xn%mvfTl z3&3(L$Yf*~rO%{A0~|&rM$1?pkI5aN|WpWR=q7&ep^@aE|d#Y-3Nxr$o6P12W>z1 zmsl4O27EydaD;f4RD7zo#`}Eyz$`Nn$q>&&GBM#W=!*bU&Z$+5|7&7L8-pD8yMI`h zD-vHBT@LfcVc94$1$18bXnPOu#3QfCaPuPwHZ!PYnVdCw)(iDZSOC7~-v(^uLbsPh z9C~#yTY9J9NM({N?y_P4D&~zYOl>z=_||!5ndg6I>L@!s(@cWw06G`umj1RE%bZxf zr)h3hbW`0n4y0-OJD@JfB%S}u0RvDPK%Z*J7g+Rq%{ACl*>bnHkO0+G=K^j=P7P+O zyGs||)+ZnCtE?hkjP6)k--?Q&*|`-ZgWP=VcRy5?<@q(Is09Eq3$7xi3D+g^nLlH& z%^P2QoBZiqe1VA)0L&0BKCR+E>6LiD$YdHgwpLzRXeMk2Fs9%79WzIqVFTR5ZWarT zUBnaz;>ubAaA~253V(wXio{2%Ty@gui15~61f9iV=^YQv`hod3bng=Tdj%sx&O4o@^gFp7wKb_Ea-dNb9FX5-|uswCLLW(Sok; zMFK=&A?94P=*sy@ELQ*F%OCC2ANGGMe*_@_s<)L>QIWQ{#^_UMR4_vJy)4YHO0EVK zWhM`DwW2=P&z|SbMqnE3A2Z{1mIYAj;aW`0;(Cg2*IJit3kyb3QijLQy@m>idR>)e zgv+EqcYsR50WkRB#r3l2U~smL#kslw?@{5QyX_%qnnhiz1dsBL(7@kq=RY>7>oCMD7NdGRx5JrxAb4WSou6MtLhSkP>r)p#iPRi+85Ec|I z*p?U8j3&j!0eA+S+Jg$`V8Rh`R4m^*Wwgp>jUz2}tEY%WEfU(5F9R_?Y5~jw4rG#7 z(B(c=%;OKuV{h616cx1bEbwL}CM5!OVznZp$1f~ebOh&#inHT^zcd=a^B~w;^!Zy` zJ`D|qY;}xoG=M#8z9xdj%hMqBPbK;-t>1CTWeWA%awAao0E~_I0w@)#ShgBM zu&IiPG3^pPf&3a9l~>Y5*jN(uP+!^m^6I}ig< zZne>-f2dVHH~0C>AVEx2P2^7-_b&FEOw|V|+MlT9t& zdXyDuRU24z%s2TIg7Q@((Nn?|ih8LZ=37zxfAT+vS39Y(h26c+7gqza@XdwNL0JKj zV;u!I3XG0hvd%_XUOB2&Ci?s~d!BJ3;cj7cP=LOYok)DO8VaJuaR*^U)c>W0e}%o) zj!Mg!-bEyX;|w|WQSbjSIE5a(D2Yh!rA2rh@cBHlWHFeN7H+^>|=bx*@Fi zqJ#lUBJHfWr8afIwMdQlNyX>nP*-z?upER?>S&NfBo@ld=kFRsRa;vT7LpG#$6JTB zS5~dlmtN>W^FOoH-}4hkKEVw^2Q<^z&IgqN2Yx=6^19Yo=6@AY9qAfGtzgY5VOYq* zC&xzz-9byq;1I$n0W)8V4mG*C^*EdakGNKes^*v%aT$!rbF0tGbv>g67<%6(>Qzeb zsENF(%EsPi{%sDg5U<1LGpxw<;}+II4L-^r!W}yM+z@I+LJ_jmbR)a#z}g)>|2XW$ zY>HNZKJrJGXK5l36|T`PD^Riu{@NKCI(sO5Xr8m(Eamk^;`3>-?42+QT%69k-DOjq zoy59q`wr~$Go>@a0#yz&^4U<=8gNlrtdJd@LS>9!N0*WMOKk=yfdpWXfv=I z-D8aSZNi+S&bu6E^J=oURa1F`yUW0BM+%P-cXV=9(}1O1qb65d43SgY8!AGYBGlWN zBY}njnnnFiT=CkwjLoRVR<}z2d0Y(x-wg(Td+oGJWl&4cv_<&iZgVNW|F^M-yjD*m zVyWr;4iIy>u-w2BWD3!uT0C-|2^N&pdM3!EU1O5nbu-#M0l}YTvD@FQn*#HA|ImHIYBqLD;>VXMEBs0?+XN_4C^Rl zHzw~Gx#mt=IcxmYaVC}i%ly$JN0rb#Wt`y6%LzZ%)IbxJVwuUsDxVgt&JWdzU%xh- zyi(7zacyU>7oQ3K@;7@u%yDYXJ16pkn<0#}&xY%7NCqryh&tnb?!RgE&U(Xd0nQ<_yEma%>rP;qxRcpG503c0$W5)4lBj9< zSeIPq#Sq|Mw%4bUxq;)eSy;Y;3dmzmczi1HXZIqjCCxQ}Yk{ZdCu13YE59#uGVZHl z%j)a3lJa~n_QHczk$uc<%1NnedhpP9#u(z8)*pXW@3&U3P3xHToD%f$?;@vE6+;-t z5$vL%aB1q_DZ<#>Wm5~WqfVhR-B|pcZv{*>ddHg21y9C8UIk*bV067WKIvnZ zZa*2Vc4Mtb=;S+-%MOGILJU@ZU~dfmEarlyUuYdZe?f`bZ85rJ$~eabQY5|>wy4`p z=QWsYB28a5B%WSnJAT^Dug>0ASFk)wvNis^*7<_AQvTK49kc+pB^8~nr8q6{$=Z+t zGPJN;J)fO>C1kf7$pReR3siw0te_ifECJ(?o?i<&8Y}Z<-5?)IfiGlvNuFmgzZo`~ zcYI}_T+)ZxfiR}WnaiWGDbL&eVxxZ~wOpJntB{|+P(eIS%GheE`!#O!v`fxD@B|-c z`%jn5(e1f6XgMZ2fm|iwpkqod+_sa*yt%M;2_2^O-chS4dxeRsivyZc@(X^X;C9R| z+bxpeXR!R-s+*(^vvsC_YgFfY$i`ve@FgqId#%%T|AYVcS!=6;&10!${I7*ZB~33{ zfr7Wi#lZ4Y>;OS$`RWaW4RI^0-p8H}0d33(FQh>(JxMk#?K{@s$`@t8^0x`4{j6T@ z?21Uf?Vp!H8!Kh@RDgQX)|Cb})@Y_bm_C|79v)^V%`oP-H1a~c>^}3ss>FD}PYGcC zZtoDyCO{P9{^=`a@l%OH#%7USHj zqixPi8)%a_(e30?VY1PW_lvx|<5eE6f|m;N6{Xmy(|yhK>eHyjhW0mrxuLqPi27t< zRyU4+yCzr4c+$fyBwwX{@x#q6bnZtV23DLu*Hy8J8;->ut_!WFi^0>3iT30gzkie` zc^WHD7yFz^s`04hm(r-!q)^7&=6pYwW@u>U-kGM3&Ku>4I|HZnnD^ve^KT25nm!ur zTRaoU$;Zh8vKjvlhq0^wVF(@j&`I)3KijMtvjW=>KK7?7Tr7)wgxvPIX{qr|2c>|B zJ0@2!QfIDX=KTUE5a*Yru7=-cf`*QeL+H-!1DIqsz#+HfwYqQxQ}jX7CnwtteMjAa z&}(P69M6_Dz|)hrn=X8ze4ao}vG5&zM3Td~eB`xTsWHP7qekUm**stxC zRJ_ypjF0^(7H}8jAY*dTkt3rVykRJrf;LEogP-7A5& z7){^}qz0cSvZ|>sD1R%_Q}mb9=dxUM@qzeyv#I;ooZGD|FQO;k+|=K@tvazX{&SVyWXUQtTv7Eo?|<8#9F1sTz9tF}b9AWXxbWo|J67B2 zq!ym@l9*hyp!`}UfB#2hBr#gl=H9{a314k07krn4W$e3svV!{rfWRSLZLd%a&qVl~ z-lqGS9g9`BfB!^v(b%XXIHTg1W3aL>@1GHfF|w-9t?XmMtO8!pKWVz>Q9Qc zH4?OVzeL6w(NGH@Fouo)tylQ)U5N<&#P20;axH7ghK4wV^Ka`2@DE#khuLBUV8_CH z(O$r*cf}55x`n`%0})fff6RqtXZYiKoWJm67knZ%$H2^CknEyzeh$pAhYNJn#&RUr z*Vl(<=ZQ0c9DFlqzN3t5#;X^WfV8!lz2P-^uI4T6WQH(a$FE49^9E0jb9|@On~Ld&edsn)pFh>JfQP`Cn^iux#}AMJ8MdMwJP_Y z?V07b*4MYUm&+iZ2{-_Jp5iX8-^UNwUI@?49B3k)F)mIN!DKB@eG+p`fW7Y0AxM2y zJcH!fCs|GtTcg!4kTKksVUm&1G5QT`iIKk;BW>?jj&@@qF;Yg3iaA-x-|6e&-|2@o zrP}lj+t&!%5Tg~=)MQztA!IZ7%1q^kJ{Gp*eXrh?HLkrnED#b<-TMBnT+`Xscp)@J zaxb9*ZERwu969RgW{{0L@z{?4kFXCV4j8!o$W$%7C3s+u7&c1)5tm^UkwwxH}vIuIRAxZJOA=!kpFkIITA6 z10|j?k`5Hv`;mpZY|Jm`y|S;pm=hfHr3mo+zFuZ!xsmwb`* zMm|6RdO#|OnPayUk!|PnPo^Je)vc3JfINO1Bh6{kxzlHq!<)xd*v-p7oWhHni&~2G zpF84W>ew$^D&8kliYomsyI|wetm%3&R1y|^2Sc-+-U}m%1fQ0$UVEv-&_SU+YE1EB zU=!N9#fTh(JHt)9`a}`i)=e7`-)DM|{h$_|`xM7UiI9X?=tcQ686ZyYnhh;0k#la% ztJvCuj~?Fp%bXQt>nx1Nc(q;4KGKmEf3YBkrD|<&(~Oq&-~G}f)XzpWvMj1i_hw3k zrtaN4>37jRXs?`VGIGm}N{GtxZjdeZ{;J2C;E?1epX_iVhy#LBG1t+r|F17ZoEpx5P!4HXGx&jbJ>)u>A*kO zZ%NI8n7p-q4_P({Q8ix6RX_EDH(< zs<@bw^4jJ-|3<4y+MO8{vr%|jC-xZgp*jdfG0YgWAadxsWYIKYda1y}u3r7&0q^8H zD9=lDffBt^Vl5eUs@yO_%^`5Mod~wAuDd`nm(i~O--53-^o{}1{4&@BiM9;i&(yst zFl_Q-K^Nt4{oH6U**c;_n;2K<>k8_zHq~)ZS30^6NDY+BM?Mu&<{h1j@V=83N1|aRDXw_YwkW_8i8vIDx;B6n_zyWc{GVOIEGXJ5eJVo8QQ;I zdTVmOo{vKT^-|o#x!HeF-`fX??5*230Q3Z=eUWEa<=W ztW@;=$+-jx>z-$ah}aop4J$%|`5fmhp;cVP*~6t)Fu(t_@Ba;+)ljZfbRvVd(a(sb z;CW>Y?W(p_|1c_#mn%7~5;8MkyYlvN8lto|S+xB4kT(12z){CX4&siZ=$ZdKntD^h>xr$ zSX9#CT#6Zx|CcaR^icD2n(~02G#$n1V)Wlr_i2)gIg=I1rjI=Ljs=$|ocTE45n3!) z;nOm~+X5#sk_J)W{Igq<n5Z=!MvtnNf)9f(}n3N@cT2D&$xMh?XP5J)wPz7iiLHDsP;KEw4;BU z{iwlq2f5}UjpxLYl6j_JMgIl|VtAF6pgxx^Vx8247CvG=t%2vQ)1MUl-R9^(+cOnFD^iJUb%Ta_lMZ7;eYU6u-XYrfM4;WPq`%~1L< ziG|fvKL2-a$*c(~XqK9vaeKSUQ9JyQ2w9SKf{5DU?`PN{;f{={q~BoNP%A^e&RU)Pp2NH#&5 zNDI4KI+40~EmVNh8Z*610orkga+t$pu)_uu1oP>c2?dw!7sv8DAPuufna%Y*pTMX? ztpCd)N2+D(s1Ha&*-16jDtK{eIXa%H!OLjK=*eR^&Yq{m)MmvEQ`>ql^s zl3;{EIO*=3h+j5IUe&efW%QbhUHE3^d4d*(yDQzG! zLA*gxqgLo<7fre?oEd7{7=h+%WUIJ{#gEqPGKfgxsh};1v@~82eCj$B z`0vCuw=srKlxDv_l@GA#z&kC>LZsjFgW}^-r){_?@I?IG31bhHjoy2`2uPFV8;Ds+ zGJmK9p|d!oF+N%m>^kiW2Y-IcLFBZgtvv}xO&@bMBV6))Xu&RZ={TL8#e%AMj?@fp z^H%b3N3$w_rQ0jaC%xMQ=W9o&0|nT{xv1r-`GRN#Nr~ns{*$CMhv}*GueN?r(r+j4 zq@`HX`id7nN{(}7qaLyFjM1LcJU$$n$eMQQN3F{$Xq71mGp#x-z(>rA0XNwfD6u3xF<4Mz<5wKkB0pa?X3j zLYlc$mL;&S_4p584~W7cM-XI-VW04m+Z-toItvf~7Oc&3eYlpr9{Kk#iN%Ig8%w9r z13OW#3PZa!i%HpD()C&G+W9N{CZ&b^)*RuHA9z_ntGL~mV7&8g;R#9M z-KNb|F+y-Ex9{Z}J5w}L)eW>my^@?5X%F-j)eY<*0eCl>S`}}R0P_TY=#@wbl0r(d zN2X63)Tb!(S{V-wmpld~MdZ4n_bo$79uv`d8#Z7+O>6)Op|s}PKie!?7}42?s7k=5(D9F}hD!m zgBbVadqRzvLz+}v>_*0vrXo>K$^s`y0%9z*eJYdOlOA~tnv=W20@QKgIwMVN8rjJL z9ycq$C-N6i_2QJH78qeSck~Q2TNJC*Y3i~k^SZEFW1dazH+1somV-WX#KjG%3^QAg zaRa0}MCubK}QVaOIK73sJ_iUbDTLo@{X0HBex}7 z>~`o8jfG=HUxoby_MX#G#|YV>4$&@6(d7X$Dv*iGDiNn*N>!g?Q5HX4=@}e8PV15c-{-?ni&w zn1^eAuaL4@54OXS+ytuzA~}wl&I%GyauuvaZSl|~LVAPHL;>mdBzf$K5l5f08RvG+pvM@Hdc#SKC4;woqSk^ltdyj=# z-0i)K%f}IijU6B5B98XdIA4LnNH`W@k_AKT3#$cwZYQHA^ISn&N({yfwOpJ=Ax>FLG37`5>Xj4=Lve&M^En`41qMk>0)-1^Ng41tNyg>@Y>22n^jv`B1H zyn%2etX_Axvh|7eFV^sY$`0l1o?EzSj(mDTX)Tb@7dgeIy#lv-&H&76X!!SMf9dil z^zcTD09-^gaOkCyZJ}$iI7j_)0RTS_noD+e4XA;HM6V~t5j=_N-0ohI`M?AkLwqgy zjj`pJIWHzZ2blikY(nu2M#B`$tNtvC*7A=&al86w=|o~#O_GO~Ap&BM`VZlPbqVMW z&nzPsFYJ;eA#=$HYa+&a!WX~OS}!BVLCg<|MC6|Ui9;imNAR-`owfo z_kP#GQZ==CuR~aXkO$GqZuK@Yb0ek}W=qGII;yO2BxC8g0bu4Jkqp4AkeZRNk{XY% zS_|tNv_lnqi-TK@^3AXgme{1BS2CF`R*yN3>g=FSRc&!#MH-Aibj?DHvJZF zeREK^M^XVJcrWh|GK7$ZrV0^e)0DoEyXDwz%(Zn5P#k&lSrWSy9b(gY@u9wVMh^19 z=l+D;JqvJ=j!ErgcUyOoXHUZv6($LMD?Lztm(JM$z#1*9$=O}*d{##CC4qh#qye$6IN_S`$msXO`= z#itbpgZbUvk7T%h1e+j(9f8A#_%m7Q{ZdWZJgG9DAKQ2_;!=Z?#?{;$vm8S%@YUir7t+eF)^5m^7fbK38(ccokF6a30VpcwBenk}Zagie z@Y4e41?yV2^p)u1XU9lzA5A1!fPyt~h>SsTeWD@Ul!;NAu^$)}K2!t|Z(jPO1bH(K zUG<%68vfuhS_9_8%Mbc}42jqpR3LAqSAhDQwH?xFF2O53AR=?6lUFsJN`fzX!IkQU zt2*HxH|JdwGL@%8en3`?d>p;q-Akn7s6aw2pF<&iiEe}2o`!Js4p2(^;Ww3t#%5^( zDU*S9&i0t!q$Cm?p7PWvu0cR`+fJFyaOY__)M3})#Vaqm9J||K`aG?wBWP z;6&gp^`13N&zRVk06$YX$v`--NU?5+N9B<*PjJ)om!}F`wQ6*Yhcuvk?_@62pO27rVY$yp8B~l(F07h0i6g)ZQG9rq6>v@&P&gIe^Ds&K?^c7eG*8qL z7`8oc#jKVP)EtD#+mMZHV<2JZIC%OOpOC0Sn>tTTFrCA$8~GM8;N3rkiC{r*x*kZA z>e8;WO-H$b5Ip%TZ0fZ_;-)!|RVYbFyB66rGm9j|Afr}{P)oDevFGo(#fuP)HJUU* zX8TWzSz=Sn>RK!-;sBzgMrn{gXC{^|e3q`xio>PH<~dnd=KR9GhAOHPVyyA_tS$Yc?R-FMPe z)&fKBfvy1p3xNy6qd(n}!(l`GU>hCy|AbO`vJJ@?TRl77|naWKm%kgI;S-^35S}QxuU9ZpQ7aPXCu= z>GpZ)__hf=I;CG>I+iYfKQtNQYZ#vNX4{iX5BR;5$bl*8rZ5Xq;a|+}s5I}<8@4zT zvFG+4qMeC=5~9a`!ET6ig8~2Pv!&6ulxDwnnkOrWbdG;BcGQ#$S=JR*@rGEdfA(F^ z@TG&{XJt7bsipmM3Xr<6)1WQ4kSoU*p;NyjWae<=4Y`b9jMMQd`W4bH@rp#Kaj5Om zH|1ayNp;k)!JPTZi zA(p<9NmJ#a`}N_|T)o59(gI{lLjP4lPxjppGEmvDh+1)EL2q`;dAM`hJJh>)97-{dPBLn^Xmk_@ z)e7qWD|b)1J(zbn4xM$M;P(4gJ6wzuH6B>2qPb#}(#ul094;Ff7|^qEyp}?Zn3~PP z#V1#0l9;_c@pb(5V9A9>PnvaX7qld{)>*$v>$l_JZ4=Y}$e%yA$c?{D%0U<2mhSpC zniQi+FN9W!actx_E-0c|r`QPIg?nxK1{enU37$#~rt^jJ9B}Zd_dh&FQDI}1IY%$B z%0Y6|0?$8ZjD0-qrb5K(NK~P;H2JLuHFPYA?=s8goWGyIG<2%~_tD$#|BQRS9w;*} z&>@VXzd!j+8Wknv-WkN>$+#ubq2}xAQSoD=p?sEg{tp!;k9KlW5>;$(wi@WC)Em;O zlrPVC?Zn7lQs9lP8&2@UpM}4yZdagF3O}PTgCy8}=M4{j zWkllj%B>I*Y6oxSw`a7agqZJYBmE8MW3VGh5!h!0AA)hG0Q*f6hcgY6tmY3Z)atE% z8#qg|3~^+y&>VXFn$hGFdbT?IjFB(L+yd_3hTCXXn*v3YC1#(a2dil795MhdsC`Oc zu%=@&LuS*~u5({EX0_VY4-0VV5*yz^_rBJA-rg2iqLP1>hy_~!j~>9Ge_6OaEPXG0 z--WUTWVcUosy>3=*2&YC0sDg{tpu5q6{O~Q+x{UJp2@ST@~g2dnu>>VxI~KTqJ;%4 zY|rz?=^sBYF}|N6^TSz%#D}3%lyOVG=F()f#1-c6-Mxu-fYnvXU|PC2Ca?hb#^;}% zre*ERInZ!}@5vEwAiWTq0<*HPlMF@y;C8_>YXZM7WujprVIOIqp!HF=JTHMI+nR&p zO+DdI4=f~SgU+_*@8y>zR%weRx|CBJcI|mY0#Ifs=&NfsuwvryGbA5xL~IJc zB*i839lT1=p-{V~)O2_II4Ny?-zWt|bjXkbcLl z1Q{oZ_f)#3J9)k_9Wrr%o$aNKwp(g_V*wt|zX8YWZXdk>B27a*LGK$I18?*T5(;o_AI)Z?oY4S6aURX7mN)$@2tGd+!dr^BOV=37c zY6i`m`s1&xDl$7P@ON*`LKx(1^M3vN*O*a9ZX71LNpFrzigWbsmxf5yt6mQ?T4q)0 z$(C5sEacAD0fPZUreyW8%rd=ZJ@;mva?G!Z13Zgi~jPe69ilA*{VM$?s%L zC@-oG;Ma%>cdZn$gNG((%EVhl$|_7u@QlB$NDxpxSYn*95PyO^(tjB$`6Ku5L8qyU zq364V)hW6+LqD|1Jlu@+hpdXS(x(G1e_) zWwj@(>}oc-ArpO!+o9p2FFEa2X>9(a!roTS$%p0J5@4EC@Y2Gf)A-Oaf=&#ow18;q zmv@KEU+EU$7D@AFuXJey9Iy6A$;$T}sxTqZ{1b1zG2$%3RT6}I!Lhhc4X88@!g38Z z)%u!8-~Dss$|{9je+pXxhUPrnt+Q5;xl?P}^=2XMg@-lbrI4rK*csQ#R_h_481(P& z?|*8mEE{ZEp}TSK0=?Mp?%di(WET31DB~=mXJ5OPNXV%G+d9Bh_&^$1zxWqN6{szr zBMfBB8uV6jMv1r)H|=%s3b1@nz9aZ@|2HM1vcRUNBCr1VkK`;sSjsMIE*dP+i*~!| zf#<*)bTBpyuGF6mz&IOM)ztJAFfMRqR)H|O=VvXm2G?`F`l?xIU~u)Z?6;AV0^J(gdTFn9G`yiVkXT!8+CFEP9z}cCs{PwL zU)ZbYINp8-3YBy*lh)a3$qdyQ8h^Mlsu6t-to*VrM%Ly@oOW6^B~#>+bOImVQC? z51XkK39RkcV~91Gy)DD{VSD^E@L-bsV4;t|R%Kj1_jJ#*v7KIUruQ`#V0|Js_tn%^ zNZzU8|HZ*|I70pZe;h}2<|*!t2z9a|?(FTX?2NK08RzUhGS56AGP6ZdPGn@A`LRdH zmc92T>F4|V2i~vec)gyl*Yo*)JRWkdjZu7$G3@n;K^|cOZ0%w!jgNzPE2@Wc(Pc^k z4HArq%`rdLcb&Hzwd{VLFZK#51dDkr+oh(#E3j9*MH;IK9x{WIxKZWd#grzh4zZC= zF-M@g80TNg+n)pH{rx#F9%u9vb~66^oG7N#=vbOY)ll9}L8-H#c@WBOCO_?hpqA+f3F1qtZD?;a&eDkGnzz4Ah z)R2%{QhLAk<{ZBc^p*nm+4!74HYDuYQl_4m+MgsY=7pr$bNYVHY8+o}r^BNdT^@%2 zGJpNkXS_jch9MG5c=-|H?rF~AQ*;IFwW!AdU6?|?7<0RmWhq0;KPt|aDg3Td9=_sw z)Sh*bdLKgkTUXW2C0ylLB;2|RK)iT*YIM82akMMvNhXiEwsyrR!%~W{Uny2a{aY|R z8K*)8l%CBbqFD36*0AL5%gZNi%)8NwD%5pm2wyd*r7I{=FmZ{TTD{LdMyMSZQI{E; zi(6JJPgzCuOkHLGYM^}VztzZpe=dx24of&xZiS* z*1+KzY)(2u>El@v*I;!2?0X$9^xynbaT-A2>fL9WpHauAucDS{n${>b384rA?2yPw z)r0Pda~gw_u-uP;ZNm<2IY4G3uar(ZnOnsVu95d0*>n-b2B#I}in=i|B%3Y9Uz(#~ zm}gWO-3bv8N+q&z&&tFP_(yzc%Z*Z@0OU(%)SiLVaNf=L)xw@D{%`xz4k0WFJ^Co7 zSszquSV!$m(^Af^1SFrqKIUh0#lSuN=wwAs%u`tn(4^p=t>61@SL4Hd?8+>`Uw;&R zaVq3^MO@S6mngNe1WGH{xq^Dpj0&OL)fB+1N#&eWA)PtDKTG9J*P(wIZhG1s zzmQfO|DPYq_KMfX@=QYip)!-L;mD8HBV3hyNeMOT(cQ<+)*j6C z3J*dDmz=6^{jmp~I#!0m=LskdI;;m|cg)h@##51A4vNq0sCuLE!E7c?=n{Ao;y)+m z#`U@bm>GB1Q(`=!4Bv>3`CH}c?MY@Abcd`gF`wxL2fNnwZm~s>RZ<>Fdmd*blh^K4 zfL-}e_eGSVhRU{mn9FgOEAO1;lNIjtl9EVCJn~C1L>1_-G%q<;mt=oIER%az9gd}> zjf`gro%p^$TLp=>=e%!;(Ey0Dc~qj2eEv=5aHx_GX9-93GUPXlfrH@yXiC-9>SkzE z*(qt!_)q37Z1I0f6F6UO>C@Fgh^JI*!M#gZZfEv}11V)?X=W-fOLYG2Is9}G_mrK0 z(~R~zQIfed-@hOw#ozy6WgMC;B#kUE`dRJkErxcOnIrL0@y-}-$?LP7IcA2S{NMHD zKbyTr{|Y2(M90n6{J*kA&vS_dNXz6!*7e)d3)5{1H)om8d@3B}?#NSMr8u!d}T67qm%=~8(^PK%v^IbcZA?k{Q zm~VeX4;?*nTI1;G_>@7E5G%W}ZPTaT?P4tqX5={a^){M^!NDZqk^Q#K}D z=P% zjU3RT80@0^AZh&AF&?GyHt0D`6_jcT>t4_wV{mNUkvjar*LfPe2ls~>B|CkHR9A@n zc=766;NLaWAoXyq&@X(F8QOR2kd>(sDbwbWX3 z>Dt=|dWX1`7rZ?j?c-V>C|)g#+g-=Hg09#?te)> zkOOprEbTxl(DJ)!jSsZ4zq}zfRMe37%dYq1imsk=guKIhZ4ysgJ^sD+M&$rAEmorG zWU1`R0&okXU$P2AwIO25oGQoG>-;pSPN4F>o%5s$U|itq4KVd7gA?yAJ`70K5L!SC zQTPmHPU-xJ|2FH1ZeXsm;S5ysDS8gVTak(FUq1+?czc)g9lXXVoEBmFrp|7rq`X{o zN{^liX*f}V*`EEj_q>cJs2JC4mXAj4S&w70&;8EfRpa#A@Q40?9y{(=lCk*wgSLbl zU3>0&1Ue{klleo`kuSGV4NWpuQ2=uG_FyWGf2I3%*AFYX=-o3ti!*O~UEsrUZew;A z=^oGE0jyxi>?DNKEkrF=iT6?Qx;`NBqDL@XrO@i)b2*Z4j(|f@-7lLySaH{IHO-%6 zm8M3+Kfy;yx=`i2^BX#7xPaX{C~|`A&MltG;(h|24xt4t0$QJFlx!`Ca$7;e8|e&n zf!Sb5Hc@t@xpiuZ(Un2;6#K-)uZt<*zxdSlio_Ny$*2wyb>Lm&XIv5*Ia4~Zm9CVA zU6`u&yO}s3daI0defY;gm(8`7s>L!wib?l2;3wRZXhRG%{=79{;}wpCDTO zAcR6Buq~)Pnhx|GEb{Yrb^yq^_YO4+(AoMU-^mYSJ=0Dtz%OY2IueLipmn?^98P_&{wGb!8Sh~RK zqkYLN_N{10_tEPu?_;}cjptnOS%M9J5!ouF zKyLbEblip*`F{8Vck^;5;;kf4$?4A!oK{Ks<0vqHft-@KtlsT%p#axWrtN!Owpt&D z-OPK=*8ZI;YW5r1okndgfq#c;M*WBTc;|@d?}s~-P0%Mh5y{a0X9ATI)v0NkIkgjDBs^JOd^pBV24 ze0S!8{93CG2_t92hg3sYFFcXyh}?q0Fj7bq{AnchU1Da%f`T=-T#nk(`|n=FaA>|#4KYGws^_=Z z@U*6&u{DUd$G`wu92WN2hCS1Z)w)Q$3wlr>Bs!OVmWih|vP=?s? z{NsLzG!AoeaQq~CM;{Z>F%t@=>P;2oUnwGSTgsjL4*Jh{U=&4=5iEmu;9zU^(k)(k zKN%9}WMP~ao{x$x6fbK(uOScZId!LhP8mC*85f&*7qU1;^sL^=qr7s!E6_O33OsX7w^& zkS&4vR(I~SLuE}UUE0DJ#=iLrp&Q(#x}cdL03T_dNY2_Ri4-HeL;W~bDdr3kK~y+s z)fVG6Eew;TRxGP zvGjs`TkH4BsC)e7X~?^kC?6}3fpqgVjs+nXQ(fKO-w1eDm76|yn^^auSi%ZUtRMbZ z?rMUtj)PmvA2n0bNk~Zi)P7nb=@3qRQ-?3KXR35Xy?+G7Y1TDe)wpRTn+Mpt zeM&S){^Q3N2bfx2-);b8uFTD|)``i~p|fomd2Ir!+}%jEcTHrx$vpK|3orNo!m>Q> zHl^DtrwA^XwVeM6-2U43-CITm#;FPLAiDoQ(b^t3=6Nqs19LbWjr68Qm}mUJThHj-H_uzlFhkO4H}&rNlB_p^HMuXJP?rkH z1TP6*AMY0QJv{OBOVe!=-#F)0GBn_>k8qNcuyNU_S96B zmofvPAd4BYNBB{i^!$8zM6c*|^8V{_6*cJx})^U}9f_GYGGVrKRMirl2z(#M$U67G3@2eS-+qc5PH zMrViyL4!u;{|v`g6u`xhFETStAlm$6!~IaIFZnzy;ephz+M8G`E=ociwX&cg>$d7 zzlOh(fZ^Mk2o1w`7zKDTKEjKUl*&hEQ)8#+?b}8+Bgn`+rL4OWKq|{pZ;25fpFY9+ zO;$u-n?ev7Q8RW--Ho-Rl|c}wZ;ShrPJ4Kxn;C~8rY>Zj4twi6aOco~BGOSbD4$&li91M;}v zeP<@n_pJ!!rO&qzdGNpg(!C!-kMh&dW!Nn9%Hk9Qqkpg0Ets>fgiW+GINta^vB%$1 z?7iC)^<_q8qM|p_yN%~YmjzNsRR5=Mn1Kly`iYjcHg3{#VT=ZFkSlpP=YRH>M&`;c zbnI+!2|H=5BRVGDap#&mvqVZ_FCI83>KDO?jKawEgPe=vn7We}|HDb!XdsC=SZv=Z zPtH#hs)kwPE@OTi_D&8Z&d?=W+TwP-Wv`b<{s+zIEq`FTqufI&-niZ+^|kLU)#!XD zgw@}dB+Je{Q!Y$7NahtW@>E9eN$vIAzvTkw<_AOP1HMM!cz7j! z0V5eCf9a))>+A|X`t!4Z#1@vq606*u)#+WlT+Gk@WEF`G#?qEM3HdjLo`%2%;d-~2 z3+^GJni53~oE2@52|F~XBzM*@i7<(NC1KGeu(frzcjy0bqgpFSsf9cX5ULxVvZeqi zs{S^AFw~6$Iw}D(vaEI9Z`@>~oq0weab%801><3!i|6QEG3|7zJW9B7t8OooB!VMb=BL1UBa7xh+!WP zc-;BU6<_5g|9+&KZ#s6vM$^O>F}(#yf!<$b&$ERY^|NQzY&3j7IhMH>XuP*wYQjCq z%A#5A3b2~q_kC|ZriObf%XI^x0qYc~&PUxYWJ1{XGcq;ueUNgYLOydTs9-Kngsj>Y zuJeDy%R4Vkd1e|F-IlhXk=;`XV|{{QnGpYavL<-&s$88nx8Awte9-ZtAnNx!Ck1W$_l&D7xJVF;@O-hrf6c zlfbakE*WYl=Q#tG#VJXB~o!N2y53LnV4KX3~5lQ*q3fLuo z|LR*p#p(uR(@4%)zc}o0?3vx#_`>Zq`sRyW#a*kKyK}GIC6MjQU<;|CVuaY=j5TUc zjUG|iPXEVAPd*XPP*AyqTfB=HEY1Js5YM_{uwOf;;WSl(LnbtuCcI`y%rEz{SReZ8gqH^nuBv$3AA8)Y3VcZ^C4U^vz^DOBSeMOAKPU-Pf5#e-7Q{ zA}O!(-kauoNJ)GxB)H|+VKknj*U$3>7QI?(D>gCnovWJHt~NIRX;snPmBz$zDA$`q zCwm2z*S@=QN+vk26MMxue1)IysmaMp&C!aWNg@L^@6?TVAF|0wX2D&7-2=N6(9eD! zJSOd3elRZO<8kLV(M);g8OY3j;MF{{>^3Tdl-EqJnpMxp(#-Kf`6MM0qFi7kp;@g{ z@|9#1Ps4Jm9+*b`;lW_zlq#WhS6TZOBA2kJVbe%gpJ-XU9+Q0W{u_%U<#MvYb(sa> zrYxRU#H^A{)#^O^*b+JutX-utTP+mjjutn$V1KP!MSsX7+FoLHPi%XLMRbKRMgL=J zw=aaZ?jomNK$n}WnqTeh9Y#Bz&JX#YPN6Ps9-7bJ)_8ILZ7rwxW146}IX59-{XFXn z!!q_=$e0YXv&@mJ8usvBoS0KV_X&;zUS*s{qE?Tu$*)Wng zjX}t-e~k~mPX_rzunJj?GU&_DchdGxsqr6ka0NUu9!<<9l$LE}%NjpUq&X_ZSlRI zt)&1K-Fb%eX0{u={_c0d_u$l(i3SQdksbv#`2($b>^-rv5tfQ*w>GRMW+}s>(n+!Z z0p(2Y_^+2Dm{IQYxMS9Dt~R3OJU~DX9v?Gj^fH(YFYjGAEGPAGNu#i+;q>F@#;lse zxocf^tjR{lrsInc$lq12$?j&)on;PC{Qk|?4=>(*{@4RV?ks@sN$FJjkG1Wsxa4bW zIcjoGY}GFJ2F$2_c|kQ390*#%HX|1A^RHSW4|}4lW@#Pq<*Z}<14mV^bJ9yuZScR( zQ`7~|yOkdZ-o!d(HEOJ{yevc7sWWc#fC47_Q*t$J3DLEe@=^=>N}43>!YRR0^Pbdd zCNZG(nSW)ADDc05Vtb2y|2#-xiB6a@MCctL{UZ^2cDeOj)D}blA&y7NS4!xD<_Uki z|Hk0D-8mZL*X)r$w=-S!iHpZ*!e&urelX;(sX)UNIW?6C`4z14V=K#Lfom-6)iQs%r;g&M zI|){bUaxP>2KT<)?tG-DZ>&}K-(JSggMAzS80sNT3jf3zBA!R1mcQkE%u}Yjtko8N zEmS@ugBw|lJWTW{f~;ul!OHhRkvkY_d|qYo0zAf(C_zcjgJ<~Hva*}vx1yQu17Bjy zOeOOYcmXT;0=nH9ANZkZ0@naOx?A+3Cy~K<%PpUok4MV!HVx#o=%Afic=OK+x>Y@vGHrHWN~n>WC?CeL3I(N z4a}Aig_CUhs#3JBo|vW(*e>NPCg5&S%<3)kLIl&0uy)b<{xDQW!x!{Iz2^Q6N(i+} zkjnN@?r!*(DAkDg8nQI_uf<~&ZlTltQ1`lWTjlzcBxs=p!Zqn|Qj7B$Ny^ep-YZJG zmvfg%nRUjv`j$1Ni_MXAg4JK2CN`dI#=wR9yp(#+#4y`39;^K$4ya)fHY$8wPdDQW^F>~?x(%iAJrVaPdQQOxX4T?)-NHp4yK%X7c3gPyM)>HXg^IMvia^JE=tql_ zKbKqO99TBtnmlW}s_!09N+(UCcqv)E$8W|q5fi(jCn#}qKmQ=Bw4z|(Rw>VJ`cGp! znmMH6*6u9++Uwb4Q|5*_$<*lf&M?na+^~ToT-A-g}jTfLy6G@^@jnRVWs9 zSd(*EWe17K#8saTWLq0mNT)iVCa{G#hkb|8#4n|)f%=9qg;s55_F+cJD>&W?rF%K` zt{a;WN7!jV(V*qti^02vqTeB9--JZ7Pyfpw5dem)!p0SwI@w&>DGT3dJt!Z1v!MTP zU)z^*?{955?2FS*gmofbciVn&EmPV_F`;H5Z{cd?n^6xTSTbP0h|9H&JWw1{W_QDQ z`BH=vQqk98+(B*LzLURhlRQ>nf7Z&ytqRx|7|A%v=_eE6r01jVsM_yeDp$cE#fQtR zqAw);)jI@QQJ;q9G6ts|fV#G-p9mjkwo>$!>Onr7q_4<`bx?a9p(7QpTrWRn`M%B~ zw>eP6oDnjAZkqv*ap!5r33ap$Yu6vay9eBQfa{G_BUgXO!~`hbE(A(dZb6{qCKh2q ztgcQ=P@35xhA>R}G*Chon>z2=y5g*Q@8NN34%Hi95`=;!4P(7B;E3Fv zm7B2}Sv2K^y{vI#sCK9Pq9gHhGNzkLA-ZOT_|bkJvyZ0i_4GR>BKuD@nhBWgUP5vKe4sa z76M!RtZ}ADSW!K>1K2&S*EJb3i#5s6{u9QLzSfU^Jjmwa@>k2iHUWBxJeHxuIxdH? zOm$2U-bQ%wqH_=J5b@&bf;B8t*eB8XV$E6YkVoB|9m=2}p1N74g+=sm?4p6Lv(Q_F zv)r6cTFYT$@_!4^vC3!}ZIww{nJlp&eoip0e>wVi3KYN2=$|HfeOdWWb)t)^f-VDh z-=?5z5j7XYS!7WSF{~S zAP$FU^HQ{!B5;wNrP$i#|NIX9JQ9Ly_p&+vSt>v-0&{bo_h$LAzUe>z_$|_zH1?uK z&l))cEBpB1l8c%xcbW*1)CosVx{TgrziYV1A|TrU@>AjHmUgm2^aHq=X~);yuhf$0 z;Glc5i>eK}qlFMDJqp+pe8`oXui;=qD=&8ya6HlzYqNsm_*`F5mJioyHPc*p>&z9K zKcO*v6R-YiTwxjHDqEE%kkk6WlSb_Ei;$8KscdZxFq~N&nuIO4_KvQw5>pXxRRjJy zgh9PQzwY8WXrLX30hfFoYoPpuNq75(M}8YWGMngu2Kfm4m@|ya9oM85Q(n)uVv-*q zp6H*Q6AV?YtHtnBQJJ~Xd4k;v!?yskLKv8|&MlWeZe98+Mf@X#MvH z%jtbyo@{_tMZ0wpv;f(7GSE2R(Bgp^dQetsVC(?IW02VLrUP*IlL+m5g}ap-QTeY@ z<*(jMsH#;uouBKd)37>I+vR4!Sp46huZeT6Z~H2c{quhiA5Q0GUZLq+pC#i9MUF5@5R; z9~r1lMByq_Tx;omqAGQ4wyK?`GZ~oucNzy9{+`Mn=Z4V?4F7xO%Oh-BK0LBBHZ+7j z_DK32+hZ5k`V;$JW%MC!WJ>b<3~e;<7ewfM9*0}@T2dFp)UG5Oqi<82HTo@mNz4{> zY5O2ck^27UE}wLiy}DbSBF~`KZwXq#g4}7Jl`qk@zJ+4w?THHa*ZOWYITz$CK0_@R z0RpKScA~)$pPn``kbR%88Csy<*FLD7Dp9{2lg%(ZMbk<*iMg0qHd%r>dLO*+OVZtt?YI z%tO)6Ip^CUkKH-_L$B3IP%h4X%~?Y?HDd>@^uz2>IL=e>~vUF>`pc zNvAs1VqX@I-T@x{>x#{l2vQ}o@PkSIk5x$fQNuhsiITpH5fsV zh|ci7O1};K)taH0MQx&{qXgqA;!GU?*aOccUZ&R0UZ6d0ISjv5JOwGD<7>yg&Pmk| zyH;4og+4(uXdWp{5*cwUtdqdih3>OKfPabmeqaCuQl_pR|! zJMLWwgadi!gV(NjbWphq1HzK?nuNqe+4YKOG%CAwF`dLkXSeeO4`TN|W`2miHqYJT z`VD)u%%e5%p|2&MvxI2XEkeav!^N?fc-pg}tkAX0VbD7x;y(}5^PL$baNFh=4gaC` zRCt_n;h$7k>O#WH%N{&x9=`Kz_?(KOmTPB`c&R^suHk^cFy=uO@Oy+#**6{MMr?IP zFRNE#PO)U1-A~%qhBQ_)|`~@7d)YvfH`*E^M*Y<+s`?1wC z3)B>mf?e|c6eYSb_iU5b8mE|NB>+xZzv-J-6`gNex-!oyZ~xIrW8^SqJqj4qr>r{hzcE$)f%}# z%gUtlOzE!Rmt@2_JztU^ef4DRv<}n9vNE5KWlBlDGqhf;IbL!6r0J0jYz=zL&)XmQ zBP=y?6bQq0c>*lNeohut%6Oas({1HIzk*G37Pg z(s4`L&oSQ%PO=#vkE5?fb5q}nm@{xr3lY{N)VE)lrOMOWQE_n2QNdVy^c%-q465EC zvhMrE`4=4Xssp(wGDM*YjSkiK2l#BDrM{&*KUD>FGg~^po?e`W1bqxZUYrxRv&2;wc0K_0@`SM!)A2UTNd(+puI}Lod%G)#4>@kNxv!6_vPp6~-srdj5TEJv!78 zEnu(6pGUrA)bvlHG8p%YN@=lEVbp%jPxG1bY}!W@=SXtwuUU^bRUJ}Y!0(nwDWA5Y zfR@9eCBc8P?Z*_KLZ%|Ntva!d{f_k7$(N#^_Ex88G{J?ppP2*9K3jyPG2G}7O);w2 zL{$i~9>V^)I7(rvgwL`Kr*V~(q_aBK<=z$+8^d!jWP}+%p zHtcq4_NpS(V^XC9M4EM={pK3NY`QfPzaNe%(cP|P86BF(%I>W5N<2@-SL}W?*>!w6 zXL;7?ofL|s0K8?c+PpST zx*q3K{s8mG`41##*rOPFWFghDBim)gPu`W`e}~;G3e%mdW`YHiX^)FhaV!$z%DA2B zYD6*-_7_RanvA~{_f9Z~TKZV7&{oI2MeA#pj3CJqyg;lWNUiOj`K*^C+PCJ9-?r`# zYTY%yK`1)^-=p_R!%n7!N)WL=!5s1M#&B=_#XDBcF>YzE^PBJ)_unIb*`(!j##oc` z&StG0Y^@quplT|Lc&g2}bi;a{ggH{tJU#1-ZL1)b{ZW3ldbg{=_s_OwHUA@PG96d; zD--ysifZ+9vgxl*JFF3Xt1oQNUl5MRzyO@fsU%((?5Az2_kB88vr0S2`#J!!1dhRn zC{H9ZZ=zkMRw8E)eb%-aSjn_z8yunp#(X<%Slk&Y!FWPr1_GvqS_oqNyZQ>3L#)qxa)MSsL- z)Z4nlmd`_XVu;nfE5IV^qi7EX(JZ``J6l92+(E0HRwjV5VL3h2RS}`ayiSgE$GTP#0Hh67|AQQExwpxt1a{IGRBu7ll+1i`)cgIHR=?uy_mx6YHLe1S-iO2t8 z84wS)s$l6_HZT_V%(6o`7HrP$i4VbDkmz#09z!q7#OFf3BPpBZF5${m4&@7Yjuo&Q z@i3YcW5=3H^V-U$5vWc7iEoe}3O0JSeWAc~@b;cTddvG;fVC#{9aKv1LD?r=ZJOD{ z2$Xv$=N{D%9IAlu)s(JMYDCT5I1<(NR%+^=fnH;&hk__3s(irTyDnZ+#5CND*i@u} zQsc>l=XgDX(*fD|-P(m`x^)K6R#HOkgh|$_br-d^y^aI`ijfOCIi5oGF_hXw-9YQ>vZaomZbi{NweUK%P^RFD58zXl&hVxE@rHH!lr+KbxyT^x~qZD3TjE%< z+EbNGsFcOyG+Cau&af5}jPr3uS$v$tXDqSUV%9P%849K3T5gpp8K)yS6X-drBUM@@ z(iTTs%i$4y2!BQQWq`<E8!I=Am=@j3#sI^;Ppy%Fl@>WZ&Qxn#9P$8X7!>&-)EdqqB7 zDdsL@Ky)}ij^W8vf>w`6Gf+>9bu+voVdgIFn~uTQ#g2781Oc)!?3+A-a7owHoC*G+ zd!gR)h_C6MP*`KMExrcX2~nain5EU$zmd0G7cvhYBZ{0bYub9n>wFP+JhT~MX!BpS zvF&`#!pjzM?2w&z-W%6JhH~r_6XFUQ5rI>VF%%pnQKETs&iSgMcY`ioZ$LH@)HGV_ zI+;@XsMfXnGoudD+7|zHHo*lXZ{c>-NrU_}ljz03_=ziq%vi(7_XK03J{t8Oc>I67 zi|aq`eNbGN45)8^Bd>wa`9djVM8iKCmx1F$w2G@t_WQ<@wUhq(9b%B#VjkgDaF|YS zBXp1LqrL{MGQew&jcDLFin$+mK5#F0_WaXx%|D2;_Ye?*OedO;hrOSJ*)b`s@q0?SRU0FUT9ru zIC1t8mm<`boVQSF^n383J`7BL3?U7SMotCQZpcewYE>u?5uK1v#2684s{UW?aQ;l}rIYiu1RpCi1T(9eG zlQ-5Pzpb2!r&Ba;l6~`}=p>48fOGCP82(=1ZT+Mp4p(Pft`ZA&-M49LI?K20XHOM{VW%Bto%oX9|~t35xDt@d6J!=-GLc3dsj{l1|;h zc9OdjaL7YZp2jzWiF=MNxpGUT8$$HtN49UrDK%)tlhzT>clDuZ} zt+%b6=ph@he|hXyVq%y^Va(Ty7S81hVJMQ8(#~c&_d(ueG^pxc;;2hL_;1L*)InE5 zsN!QWdnc!Zf_GpO9KE(qoC%IS@|0#B0W2SX9(JmwSX^pH47(53xu~WBZM>n?bR_=Q z{2ym)p?UcPY(x7dxC8VaHwAgk5cp@jauAp9o$p=lW6&n8V|>eVkKvZsa=n8b%G=vp zF$sI*Gwc+0r`M2E$FCIo^cOn`_m9p&SEu8_z$4p^m1LuYNfZN;5_jQjYUZ$D2 zEd8MndNXtbC3@hHx*_`9>^AG#=i&&%7+587ywtxTEP@j=l|iPWoyS=SF&VpUbm970 zOAro-7U7mwCgh&JUDs1@xB72367M+%>C?l0t?MQNw#JW$FUdPQw^2Mcf-gbHZH2~1 z+sm$R61@K&E8V6J32gWf`2}YKI%0t3GS$F>?vgcPzkMZsv);WMt=Gr|SUa^j4+xHL zBTU8SQ=WWk@olHrj_$hO^xtAitFN?dDBJ<5;oD;AKBsMQi{8K=H$g{P2Kzcj8=@$8 zyEsHI0ZcLElhabIle!d<;nNUD4srp+37<=?r+$crUmUI-*{Xb)4A5k2TyClzJ^FP5$s=`?8b zHNvg~7X_5>eQ6Ys9eS&X7NrcNKui|SSh`=h8924=R2qC8`~w`f(LI@PEU%$OvOAy0 z;_rxhy3P>+&7Wwd&a;@lK8 zF=FVhhdg-y4I9uxFylO7EV*~nuW9}~-$ky#igM*d%3;Jg`8h-2Z2oNU_|5tIoOc3Q z8B(axGU;BKk5WQ8nlM$xq{}OmARW@IK`X3)%270ER<&H;K@`XZFCs4Wt01cRYoDw@ zWMZa%7oYoR-%DGZ?6tK1usTqGuJ|7fTL2y%aU+O%NSMdz$>X{y9qk%_=g8bQfN+R~ zCbx9C?9sb2>Lv@LAB5YY&6)Bo_ZTO1;#p<#z#=*idz}CRs@5m>`NZpK9B@u~=jaFc z$Pv@@*Nn zJL^;XPVpp-_&;!WUVDVZPw*t-^75vU-I?C6OjZx88ze6S8i+Bbj$sff{UJ;ob2RX( zIQmA?mRVc`1!0ZkAMH0gAtauWy{xK8kZ+&&R?|CJDtre({%CP_-7)EG1}-i9*N^_IRoLE62yrUg?x6S12J{vhRe zKp(<+?@pzq8_1skf=QOB&vBkCvMZBv~Y>I?4)Vc zk#*tVIFerGFXI04oJUIHGsQ&IC8w~5m-X=Pjt&X;p$4?Oo>R{i!+M;dcMrc?bB$o) zM$K~nlL7km5NVcSn|UgTbiUU2y*@>KUu%Vyc1z1ACVBCp=87PINX6)r(xsyCqfn~k zVSTyG;X8RDuqs&H+a>iX_sB=qVOaRX4xKQ3MXfi%N-@JUsQQ~mGSwpZbW+$**Qd#0 zuV{Yg=NIrMm{76m|Mm!n0Ac1+4kg%lD*2uI@b3rlzGD^1@4mLsKt)|#7)R=aUTu&( z$s(OXkC*u##(Xg<$@3$(kcZSN9#DKTV`|R6AAf3%xy`p|6MtC_-7czC)R-i@%$R3K zo9@{1pl-sZ!aoY}KAz`q(7XLD5+r)xww&RYOA zv-B)(kdo-)D5PGlljXbqd+wueik?X{)pl8%(*R-1=RXEeGxKDZk=IMFA1F>FJakx@ zN;^yj0iu$Sax4k3I#0n$+1hjQoW!yU!6Qt#orAB?nP!n76d36gXmMkm&f&vP1ox+~ z*L>WuIHpp#mCXq%^EqW{e%BWBlb=e7bwbl$ab<(0*=C$2d0zAIA2dOU$H!2=2L86v z9CywHtNNyoPSiV`W?_4comMs*(e^*FQbiAM#FCg>++xJ1a8sNU8s&}G@262XDGNuR zkhw04>#1!rke@w>PMY~u!B-fi$^|+E+-iNkh)w&m`1CHSD zZ}ZS8%{tbEmH?L<;dc;uPfKX?ct=^T^)1kSEUPf-oK8l=x3atog^dW<&FJ9i0iZ14 zbo?g;>WK~?!u6_rTkPzLk(h&I7tN;@!k}bBwxrLt!1r~Sf`~NIqHCUdfCw4S{?uWqthWRlTHK`DN+c;jrqaFa)CJ}o~X>ad+ zX-gF(w;~sv{+8}+$(d5P_IicFLG%ufg;U|ZyE^kOTp|eW3}2s9RZIRhjCs9t)U)(8CP)YpW(XQ|{1|)q z5`s(62{$>~?fU-XAM88~mtK6e(vU8EM+GA?n5|^|mJ-8KOm(b|cRibKi06C$cKyXm zs0iSQ!jXvCef9Gi@fvYV=G}kyny(=#JSl6k1hOko4AT{JYP-?FvXHs(s952pJ<|(i zaKOvk^aMgm*YmacmBq?lrsI4hMy-^1f^Ar1q|F&Y0Q1*|`xqZVZlVW*WfgSjXL_DM zq;xBoI|fUn(svyY%(HSo3y@Gg2v*-lnGXlEPJ@Y6LSH2_hNG{zL;x}uinA{p);4u7 zgi@?ZIdXJk_R&KF0TK>2(^P-pPHl?Ao81%WG+ihR{RE77D#Gs6@+caQ#LPYiW8m9G zY4zmd34pf1w*`ak&C-zc?*hGd2^EwuTe-;>pK`~#KKm?vM-UknWV48Dwtc_Wb8uKH zYRg45EObtoM!AQH7~AK4k&n*5tE!=U6fk@J!d^YktKftF6!yE5vF+0Dm!rn9pBjj$ zF(SYIGDDNU1g>nGK&<5G%FM%xMn^k&vu&Z0Md7abc4Ess5!@5*Ym8P)J>UIfdwrL{ zdqr2gA`@ALdOwUTRt!P-3WRL|5p^g|RX-theOM!RF(i~fwU z1YyOMfb16;B63}DXm!i5`J5$ax${{qSn`2HU;2zr7=-B8iix*~h%rl8KPNzo4`Jr! z_)cug$>VTiQO#GL4-IdR8EA_0#&5$$(GvmL9-}C*t)OqFQ$Ax)boFYxwDDo;KdoMi z0fN=fs3T|OoxGNyNHpO}>syC&#dkW=wA-RL7U95YL-gR#Z4(@E-blitFE(=IWt5($ zUhiAKbY1kb!E-)wQH4{>h~)BI`8B=cxcn?s0EFuJQOz1L;Oh#&C#&QY)Jaah6H)uW zrKf_^Gi-j%k@HF+@m*%_h=YHk7C$(yz{!|l}TdsD|L~=>f9-pKm7jt zzW`4xu+wqh{)XQnWprjD6gEJL#u-IFy>R|C!G_vqiplF)T2#XnH_qtfMl^C!2Sg zHY0OSD2uMJYB(31UY2V~=PV~`BW}(}DW#aGp76btS;;BdK%nTGxCN^^rrh`gtfDF! zER8AtZ#mk#uM%odSaBpFS^x(CgBlI$G`99tGu>H3LPr&%E6pd4WiPRnQ^7{Hf^GxO zav3)Qu2lB&FvAz11ncv%mcl2bb=i$OeneP(4YvE8 zL2z}~T#*(E^&|~y)CaN{QE>sX zj55Oa*n*?6dnGfpuIhZ!F@h7tT}R>P0?x^jR@43rW|+kyc@8X=dQsnFCrW;7udj7N=(*9+sdy6a6FaTMQ%{U{mE>GyX4wm z8%l>7oU%biuavOCGs?>(zsAGH%slo-T!$1+>Irvz30ewCDeryo;dym-dz1rGK~6hF>))B-nq`TQIp zA`CVr=c4bk1x#)z!^UxVH?C_~z8;#3DI})&PX&~18$gY=_8yx8a0pEXVl)sATH;N$ zOy`q|1r57BepZETzo0!rF}%X(@mWIlf$# z+*nwEcLSuTLhJ_GjkfP0g-=Guc|^6S4F%v3`U{((0ikv4s%o+$wfjSO>KTJp|` z!nPq(qUcKWo#h(90Z#^s1QQg~pCq(qj~I4ct;B{!&G_ zST{gqHHcA0`GX9z7|)=A@g#lGrYzlVtY$Kzz#&RHO8iqlb`1L?ZdwX;D`OLr(Gu(o za6`xwy>MQ=+c*SucFp@#yrLaf0lg+*lZ>0Av6(%r>i; zNuJpP#Hd!}t@HGZh8a%aAxDRhP1QL)G>hC1Vm6HWN}i2){d61$8RzClT`XS#X9@Di+kyK(pb-#u6h8?3)dU#FzMx&w!uEbL3Jju||(02bgb%v+|t zKy4=%7ibJpSTjHj+1Rz42#u^jgV<0T9-0}m@oFP>`xP}hPBX?aS%MXR0`AU-uchGl zyga3R0C%}IZs3yil7gB-3vJ$4=VR|Ux<~Zr0SB^jo;5E32K?LNLf7ztkD#YOQ?Y5& zI@mooqPf^&z+&f4B>I)h4l&;jea7l+A~YJ#Y-oSPfddDJ=tv^B4k-4% zL3-R^uNUvW9!ki|9TXxu=z5fNU_a3pja)31Me>fCvK+<=&(us@G>!;C5Z zIZ>J0fGte1+i(XCe)jt)fwNrgD{VD)PV=I#uLNx9!<+a#zQ9zaYW}db14D_|dd!n> z5;?aSPOu@wc^Tz3o4_E>5Pg}WhvNqfqBdIO1D8-kHh#cf9%}fK0?Y$W>bay%ZqP>C zgX>D|#`iyh-tf$c(vTvbWBXr40B{G6D!PTP)&a$D*~gYXM_)!y7Qn)LJq9Nvb`AE| zp7T)k?ATEJ74vzN!?1cKAtrE*5ha{M5^HsJKD_AXMod4TM4OG*-@}b1W!N}wEMK>- zt2oS!Rn#LZ+65c3Z^J#KM;kbH^jLKegCGOCiCYZ$8tyh`!E9_}W@G>W20 zXbssrbx*wp{2Cdsp{Q-#Y}nP;c!%g1)K{uGx6lnf=-3iC(a7nCZ>4A+J?M(-xpGTo zGiB-T5Jv2McV2)E07o`TN&y^?A;Yj4dxxkc@HLt*;}z+EW=)7n?1$WfYmFBEqvTI8&huG zMu5WRebkTw(j<}-ZJ7ELHc|a41^e@NzEZe-u)O#W@NRgWQZS_aBn~MK+(rQ$6)xLk znD`7bf%*jv8_JVmt3e~mNYb1QvU<&RqA_OS6LrH47&oF4zHoYeG;&I5p8fRg^Jmmi zgW`G~!1ATx-M}Jj+he=&i_ZevvWz!VJ>m=lh=nGLV4tFqi^J;ggb0> zzqMt`<^_+r+RMi#T9GqKio zCj=8amv{#a29AN+owcxU4sPxmor-v%hrs6rbv8p&-mkG^rrhL`KN8@KK)FWyzajsJw0;#GqE zH72Gwc*2(D7~i- zmW-OQehv#%hCcztpoU;4cQbn7SagCFw!mfqLN@KDE?w;9)V3U(Y(;k)@SjGK8%Psf zVA#+nMK5DYxvRl$_-;4k8?ZnYY`_-45d|3_F-(~jL&);;4jThjK*tqX3h& z2u3z#z-Up|;h?~xh}#gl4gBC{G$s1!`w>^?RW#V^&|ve&4WA+Au~SN$U_(FMOCLD8 zR^Y0E#Rnx4I|YG`U|Y0L04tn z)AkrTz=2kyBsCiDvBNLyJNPOS8}XOeo_N$-Jft|$wZ8XQD1X#-9n2nNBaPr`dQy-qzhYhR2n)~z18kR4P2Ylpl4K~j2r4JjP zfx}K9-Gwp4RG&eL5Z&aJryssi~AgV2qk0Gppc`H1DH^f^ctKR{KO<-L&gKA zyKG=dA}Z2eZn=$fXLVsOQq-%CFM?8&NfQ-KUH zYAg_mF+4mpFhnR(x4BupQ1vb^c}b4`b8I%M)e%E%90`ITN$RkfD!Q2s<~AZt;PI`? zu}MivnLHLT{s1;kyw#yZ^>Jh2^9P0$&ELC$G-9%f`fNAEUA7fpK zp^5+wkU^9NVTPwWaa9n)yKsfADJvntV>)!|sb_m?a(+5+^=$~SftrZWXbftc)v$XB zR?*XxMXV>L_&h+5>hV~>0yu0lG>k=8E4lh8Oemm34QL!q;we8yZ0OTo&T;3s4f23Q z0!O6ZE1+)U)CV7)?-khKd$3>YOeufoGp`3FZ?p9XY!tvze=;f53v5(PRjOuN{;**~ zoAFz(0U0)0;R)k%vmzf&5VulhB4ML(_N{XZz0z$g948Gn_e)DCz9bFUP$&Z@`cg^( z99Ga7GL42u%s^F$**IWOBQO=mhK|n6Q_6T4Y@j7@!3_vA!jNL`M<0sfHdLAo!Mkzm zi&Tp#OG~b>@#VMwiYY~*Itpw79Qp&wkk9D^#pk9#hwewGkif8Eq|(`tzJP5TO%KWC zWF?!ExQ$cidI~l^|NYH-i>YA4l%scp(uh}-`VBhFRse@OXb@(2>@%!kqY7dJbZ9bj z=oD67pKdnh=ABb|rg2`W71e9d&kj8>8&D{q5YwZA8^&OcOwlyBvHWn^sol8yEl#xQ zv>S??XaO8`E=VT?8U9hDI)clMqo70G*ie4r&5YunKs+wEy*Q>c^k*a8t8wCY9|{K# zltR8z;l>i-#?q40Mw=FHsO`=dz)?qG?WBLOWSw0;a}9|O9eMtheFqPTDoTK|f=ASo zP5grsZXn!CG>J|^Nr~D?c~giW*1(O0)4#u(zTI%ajm0IKMy!Gx?VkV}1#l=(pddlv zATLpVnC~JsbmXO%_Y)l&Yu7M=!$Q8eT{m-edqv~M)YM!AY=GN%^TPR_f(^rNT)B_C zjw#!Xwd2Mj<@F%vO9?jq8-}j}I20NUqqaI;b9E420U9qrLy0$RP$tGKPb6W>W`=%n z-bg_g6U}YV4-dyAf{l|GdWzdvfK&7u4lSi^Hy#@FaLVgZf{lO6Ifl3Zjt-x(8o!eh zZWuOn#Kd`F6Gd({_|XO#8qyRnLpm`t-OT(bo6Kzl!Rnoqg`R3R&U|v_D%N1rz=o-Z z-z+=f22R4NNw8=)3gF1E&0wk31D_!{%E5*r1kfy^#FCcOYe*U?w&s1GH{j?vvS2?jM@mYP2M&!!DaSrESP=FMv{*xEqj3^xgN>R#JrR`J1=X z8qBHPSXy$hic-6wBfX6s-uRm%{DVZ85)p5MbW8d z4+Xu3%!b-lLtHfDH8y!hai=zTNSO}lWg1P6+vqWFV_^YdJ=ZC8Bdu3-?IP@w=LLG9 z+8JMhEr7!&4Gx>E(mnlyAU|~w!`i$?&}$rQ9tvU<6fB_-Fhm!bzwKk~7VQ-a8#4ha z>`Ka;5K^=dLb$VZ@2kc1VhZ8L(weQJ@O)`(rZ{LR1#pOnF+5~KOATP`?zW7p6m-`z z?#jba9<8ASc3Xt)FZhYzN73Gt#DzK4wd%ggU`jbZq7&QPFwIS1B04+Kr30`OxU8dY+ z7Uf^2EU)m}2Ek(ig(MD{uk1c!;zVtXO-xP+sDTRYHX0~%%JKY}-s?6f;|r*f+Vk~r z$pJUM`0hsq+-SFxX($Y`aC|MMg^lGu3a}xVzR+$cIllB^ zLmxQMHQ3*%&JkGr>YhVtK#M1b5uJ%ds48lg*^__y$e~vcq0sA<~}*4ZxKUrwDwjBdlhys?OQz#ld8dRFukMSB7`IvmC0 zm&15D445z@$e#Xw<~d6Q7G+b)U?CJ(4Ww)A+i%EFfz@EEM#~g88*|B4E+JOG5)olnxp&NG=VGd8L!T#|Zmnj7c^ed0r3a~+U4+`J_KS9;MiV&sU zc!4V8Bz+gn$uIRGL$H(YGN5tfuU`#TfD(^@ysZh#eayFi~iZh+k2HP`|;DrMu#f&lS;IZs6TX1hs^>aV9!OPFgSsfn5jORyrrxbzBqOVWP}-O{LhV-z zv0*N5P`XhFuZjkfDKFjvH6n0)@s6(;92DhS^&I@B_2I16C#?w~%?w-&q6RMh`<0;5 zVt9l%=xCe0P`}u+RkKI(8t&>MQTwC~x|i~=|NIZK4dZlUvXCoGYIrx6pTCHv3HzGI zU}JDt4+e!P6f>ndRyDThxdwaxBt?T%bLi`X)~H$!RV*!6dQj2rC7Wau?jPg!HBvAx z2IFir1#8@c&E-O?qBKAs(PYZ!zkIxiu)q@6K zq0W%kE4)dRJfcUh@U?ln#!}EIde!)dG?pj1h0v<#9hzv1!YW$x){Ph(JRx6)BPiXN zYRGnLa3?g78Pv?6D9fQjn3O0Yg|3aQU!`wv+LKBf-q^(cqqKk6Ms;Hv$5Id*rt|ap zVrWs6_w_`wi8vNTYaJX8DWL$36Zn#R0unnTFp$`pwdG&@Kf|*R(Kx&Mg z+Haw=yy7pvc60LTq%k%i02_r#4e!PeJP8{CH&$w}N{PYYV4%_6se_AaKn>J1)}nFY8sKMq?Lu!ary0=f!e?@BuWg8M{1NMkgwqaun_T058^K9b|4YVy3HTL!3 z@q7e@N6**);*r5ZLve~Si)WBZKnd$#Rm2$@%8z^q%3wNwv56IMrd$9I{gS)K| zL2-hkCrJUZTVl{)JwqdU$?84ABO-=v6q>Z%(pt__FB?-8cl6ZdW9JYXc19Mb*>3#* zYL(KB#nPhIdcYq~Bk+8!tbB;)U~2#zPDRmZ>LP2GOae`zeVlq1n$%#AmpL^=3ilhU z1<`cBOxX~lun+L)aci+b9oQ+Joi}!hK3vG@^kA0*??wc&XgmjNH8`l-8botbduy97 zAYAUZR**4}#y{NkkimZPzQMF{szKQTF9TFyLv|$+lMVO6+0&PfTT2Z(1$(_ZnkaH( zp_DIZ9Zh-uHj*B!wU)0K9E^PWyy)6OFQ+Jk59Ijgt-9 z>!I*$(5?-PP0Gf^k%Q;X*-8yQ1$(Pn=|+COl+!$ZK)06S9&8K_Mh4w4z_v*;nOv7> z@U4^8u8Dr0fj`Ks!FF`2N$!vS+Nt2Kmd)4PPvZ7EAM}iiUiU zwh>2Q6}4^`aSV;O9W=af>a!%lwIK=TM$}AiTcmpgMjg3K$ z;d`iK1f%d2@FskyABiz&(l3$QyQn-dX9fjcs(!$ajWuzvPZR0|oDuLM(Tp2Xl~yqu?3jjTcG z6q|7I^y@*aQEZOv#gk`(OR%?1?d9A{nVr{I4|wO!?WLzLU;lnp6ed&RDkTg!+M62S zfA(f5C>j6)b7D|$La z1sEMJiWr%Zbei4bro@mt$<1b6C2KxV*iZ!u8?e@E6R(2bV07Z_frA!1L@6lSxX;E7 zcmFCxGOEENsgOo_okngjd@ ze(CU%$(|t(FaRt__?{1B5T4)N4IlC010wio$Q9(-B1rJ__%;T>B9j4J@X)&o7Y0Gl z=ohA`hUBio;GgYXTXPdf6a53wR3b|(gF4dvL#<@f*C@*^a)N2oOp zorXhn+-bx2#ohS_rmBq~TyJ+en;V=NZ0qGNUlir5qI=A8!&MyWi#Onb;qcT@M3}Wo zr7VW2)hcm?m{qcr3;ygx{5@}!Gyt{tTG06%mE;yB<7EyVK00@bVfC_d(Q!@PSTb>E zsT=iPj6Q=6nysz3@Avri2A??C<%S~;VgiM@`53&SnDD4@pPYmfoIq3o-vvF2ECBsu zX?zq^YcNAHsPbkSggWD-rE7>=Y?EHX5?dB$=I82+qzya9jkR0GCa~)py-v6N$2vpZ zXuWy;ZqLRLmUj@=5l2}fSDvIXX)Z@^sf5T)5vo(we7-U>lh03AfazjkFb<)A0KUbO z1zL+2twBy>HJ%;KlbaI8lKmywq+$bHORKMFQR*O#v8RoNt9OLo%Lr{Cbfep$g*JwF zBiwpxVVKhIQ@P&oR*Iy8AbVdy$251KR`mcUJ zWt%Ck;uudT$`G6}nKe!sF{G!wIwNYX{jWD63h+R}=4DJL>Ai2x8-2G3Yo9pG zRvCjytF8dbhy3~EDcA79%a4YAdEm3S^4Vi2PGW~G4e%RvqK)ehu*zmi6MeBs;zoM| zGuY9~jh%OF*5Jb(lD1DA=86n7CM-)A->{LFGb0^)XnE30YEdRUN)Vl!N6tnH&}h{C z+SSL8noUF621c-;4MwP_*n@rh-@m>+Z8+~nnu(+EabF^=863*sw!C4iBM50Nr4vPM-VAnYw{K+;)(unANgT2InWw%485VrX z;FKD1!iJU{DvsGFT~?VTSNS}gUg?03Cgt&?pk+`KZ4+xm-Hm`1yRq}GZ=p*`m%8DI zqYyI&2xBUTjaCDU!B9h|v}+BDElqN^XAsPetFQC*)D#;++qir05x(HY3}0Q)#>ia? z(A-Xr-EbFS9dX2L0l+U#JqdISFh;CTejBKO5G8A9EXz+2xj{474>r1#vCiFa#PRX&n*cEeW+kO8|5Aa8fQ|B$-ufE; z2l5yPC$=cr#ltxIT1yjc)azI8t_6}c3}tR?c8NDA9I(Zq4LS(R=M6rbcVi5RqY!Vt z0R`ESOjU)4ix5}*Hh3c|#88wP8XZb;IzO3BtTixvr6j<5YV=SciPjhBF55$M)ds|k zZq$j8Ma(WY{V_kZc;ihz3PrF5ZPOxMCkuEcbx(e&A#NKKwQ3D%4ox7r3;{ua zCmHMVR_$Iw+n^@Jl;4Z+v>gFGVclTNVBcF1MFI0^#Ev*LPAC_|^9flLi^LUxs4XT5 zFCe9?V|RqNIp5ge1B^+6E+1qtynX^MtdQ5{56|+t`DJ zykWN7aKr&Vi0MGFf|4i({Gi?!;k%$ec>(N_APG!G3EC|$5>yRjloz#3Ui61%D5azh zMexRL0a9B~u{BNWxwXHe2B zhL}b=IV@U)D%BJOF-Da#r^G+=5xk581|KRbWep9;B*HkD=X0OeiMfRZ|EKiO20+!u z)w?$zHk-z@4cN<3ZamxESRb7>LJ9}8a4`iiUv4M=?U z@_GF-*I?|uTGuvewcF4(%+W@$E+??Ux)Ct4h__#{?!g*JBmPR|h9i#e0{E5JTMUfH>Mu85dKUwyYa{dj98V!x6`q zyc!sw=$&XN3^wIUi9S}`g23o?3671_^(bgkuHCqgFSkLP=#$5pBZ?SZ&h}2< zk|?^Dut4wNh(l>IC0#94j+~{(3rLI-Ts(Y&GB#Liul7x%tH0k}Go*;B(`+<>jU8Vj zud|^`v7>F!0=+9Y9B~X;b{z~*^a9GoC5WkEH|?Q@k{n9+4eHFbSNrK+xE*b-Nx=m6 zc`p*;26vW1U5W*DgFr`9oG9vuV@R?F?po`EQpSdzr-sLrQUH(0qQ^!wpj$aeR`hK}slX$m@l8732$oyoN;} zdpL@+ND&+J4dK{G9}rxQV~$Oe)du23yRu86`)mR4(9%0Aw6W)IEji-&tS+GQuKG$S zfCeSePOdEFw1{#fooXoHVxW#|W! zD-1{joFOper)C!icNe}#g!Y5 zI4rxnax#}(hcuL^L8S&rV_1hWF_Fohg&JB@rA9h!8(2vR%ylWCjX&Bw*`q{V=AET2 zI|g%D%-se0ADlR19h3?U{gJD5g(5N3`%5qLwejGQNktUeMjMi7 zJWClp<7@lX?gv}dMp_r>9dVdH>%ZOyf}oujHRRLB+-*g?Y`7Du((3kA<{B$CYl}Z-s`djdl;TAxE$baf5)2 zFI(ltkLLMu#F3H6mdaIl$UzvI5a;2hMOf$;DMJokkDZ`Wqrqa0`uPhNFJE3+xiALA zL1ho+mbav7!{qhoh#-oMF0Hezv)0*mY$TXVxRbCJh{OK0wJa?fBOQNIlEyyirx{PC z4WF4i<&S9%uC}Wp4=;{-NDQCZYA1us|6H zvgKTS09to+QY?z*B*CSTTxu+yrZcbeb@V5^A<6~88U%W|w0xe57Ms!rMFQTVQp4x~ z7QT&6q`DM1H#qBTw;*m9rwylWIO2%E>YfM6sEmHlx~IZm z2INq*C=yg|P?zFcl{Uy)-VB;%CDErFqS#Q?2E$)YK2hl}w^(kZVWZ6v2cI%TmBBi2 zU8%sNk&yS7JU}Teo~2R)c5=c`+!h6N0j#Xpqzyo9q{zF`hF95os@MR1Y;JJMjn?+7 z*MHh#jlDfrZhUXV@likFO_pKKs7M|d5fz-i*Sks!(#Vv^ta0w-k}NfNtZ{z%3eg1~ z`?TRV8e)*LhP%{xSdNQ=2sMJ*A>e@29ZgM-8W0ax#L(osgN Qr2qf`07*qoM6N<$f-cT1?EnA( literal 0 HcmV?d00001