aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@blos.sm>2023-01-15 21:43:21 +0000
committerLibravatar cel 🌸 <cel@blos.sm>2023-01-15 21:43:21 +0000
commit1280b8d6a2a3f2a02179a1e51aef1891a04cc8dd (patch)
treea5abd1d1855d2d1123586d50e58567096c7dd695
parent4a860896c21220b2b8b22da4a5d2f8794c90253a (diff)
downloadblossom-1280b8d6a2a3f2a02179a1e51aef1891a04cc8dd.tar.gz
blossom-1280b8d6a2a3f2a02179a1e51aef1891a04cc8dd.tar.bz2
blossom-1280b8d6a2a3f2a02179a1e51aef1891a04cc8dd.zip
set up rocket server
Diffstat (limited to '')
-rw-r--r--.gitignore1
-rw-r--r--.rustfmt.toml1
-rw-r--r--Cargo.lock2611
-rw-r--r--Cargo.toml12
-rw-r--r--src/main.rs46
-rw-r--r--static/barraconstruction.gifbin0 -> 5595 bytes
-rw-r--r--static/branches/branch837-1.pngbin0 -> 1262968 bytes
-rw-r--r--static/branches/branch837-2.pngbin0 -> 1069198 bytes
-rw-r--r--static/branches/branch840.pngbin0 -> 1160252 bytes
-rw-r--r--static/branches/branch869.pngbin0 -> 1523699 bytes
-rw-r--r--static/branches/branch871.pngbin0 -> 2232785 bytes
-rw-r--r--static/branches/branch878.pngbin0 -> 1450996 bytes
-rw-r--r--static/branches/branch879.pngbin0 -> 1721502 bytes
-rw-r--r--static/branches/branch880.pngbin0 -> 2150816 bytes
-rw-r--r--static/branches/branch881-1.pngbin0 -> 2036297 bytes
-rw-r--r--static/branches/branch881-2.pngbin0 -> 1238669 bytes
-rw-r--r--static/branches/branch882-1.pngbin0 -> 1693863 bytes
-rw-r--r--static/branches/branch882-2.pngbin0 -> 1157886 bytes
-rw-r--r--static/branches/branch883-1.pngbin0 -> 1196826 bytes
-rw-r--r--static/branches/branch883-2.pngbin0 -> 1101414 bytes
-rw-r--r--static/fonts.css12
-rw-r--r--static/fonts/18thCtrInit.ttfbin0 -> 30136 bytes
-rw-r--r--static/fonts/18thCtrKurStart.ttfbin0 -> 91248 bytes
-rw-r--r--static/fonts/18thCtrKurTxt.ttfbin0 -> 86452 bytes
-rw-r--r--static/fonts/Abordage-Regular.woffbin0 -> 17652 bytes
-rw-r--r--static/fonts/Abordage-Regular.woff2bin0 -> 16848 bytes
-rw-r--r--static/fonts/AlmendraDisplay-Regular.ttfbin0 -> 37348 bytes
-rw-r--r--static/fonts/Basalte-Fond.woffbin0 -> 8900 bytes
-rw-r--r--static/fonts/Basalte-Fond.woff2bin0 -> 8476 bytes
-rw-r--r--static/fonts/Basalte-Multicolor.woffbin0 -> 14988 bytes
-rw-r--r--static/fonts/Basalte-Multicolor.woff2bin0 -> 14048 bytes
-rw-r--r--static/fonts/Basalte-Volume.woffbin0 -> 9376 bytes
-rw-r--r--static/fonts/Basalte-Volume.woff2bin0 -> 8952 bytes
-rw-r--r--static/fonts/CherryBombRegular.woff2bin0 -> 1298140 bytes
-rw-r--r--static/fonts/Compagnon-Bold.woffbin0 -> 33576 bytes
-rw-r--r--static/fonts/Compagnon-Bold.woff2bin0 -> 27744 bytes
-rw-r--r--static/fonts/Compagnon-Italic.woffbin0 -> 30788 bytes
-rw-r--r--static/fonts/Compagnon-Italic.woff2bin0 -> 26320 bytes
-rw-r--r--static/fonts/Compagnon-Light.woffbin0 -> 44788 bytes
-rw-r--r--static/fonts/Compagnon-Light.woff2bin0 -> 36504 bytes
-rw-r--r--static/fonts/Compagnon-Medium.woffbin0 -> 22048 bytes
-rw-r--r--static/fonts/Compagnon-Medium.woff2bin0 -> 18028 bytes
-rw-r--r--static/fonts/Compagnon-Roman.woffbin0 -> 45352 bytes
-rw-r--r--static/fonts/Compagnon-Roman.woff2bin0 -> 37668 bytes
-rw-r--r--static/fonts/DeGerm_LoCase.ttfbin0 -> 77816 bytes
-rw-r--r--static/fonts/Director-Bold.woffbin0 -> 29792 bytes
-rw-r--r--static/fonts/Director-Bold.woff2bin0 -> 28440 bytes
-rw-r--r--static/fonts/Director-Light.woffbin0 -> 28160 bytes
-rw-r--r--static/fonts/Director-Light.woff2bin0 -> 26956 bytes
-rw-r--r--static/fonts/Director-Regular.woffbin0 -> 28536 bytes
-rw-r--r--static/fonts/Director-Regular.woff2bin0 -> 27280 bytes
-rw-r--r--static/fonts/Director-Variable.woffbin0 -> 56596 bytes
-rw-r--r--static/fonts/Director-Variable.woff2bin0 -> 48596 bytes
-rw-r--r--static/fonts/Equateur-Regular.woffbin0 -> 17292 bytes
-rw-r--r--static/fonts/Equateur-Regular.woff2bin0 -> 16524 bytes
-rw-r--r--static/fonts/FT88-Bold.woffbin0 -> 12604 bytes
-rw-r--r--static/fonts/FT88-Bold.woff2bin0 -> 11900 bytes
-rw-r--r--static/fonts/FT88-Expanded.woffbin0 -> 12036 bytes
-rw-r--r--static/fonts/FT88-Expanded.woff2bin0 -> 11272 bytes
-rw-r--r--static/fonts/FT88-Gothique.woffbin0 -> 13956 bytes
-rw-r--r--static/fonts/FT88-Gothique.woff2bin0 -> 13424 bytes
-rw-r--r--static/fonts/FT88-Italic.woffbin0 -> 14740 bytes
-rw-r--r--static/fonts/FT88-Italic.woff2bin0 -> 14080 bytes
-rw-r--r--static/fonts/FT88-Regular.woffbin0 -> 11580 bytes
-rw-r--r--static/fonts/FT88-Regular.woff2bin0 -> 10908 bytes
-rw-r--r--static/fonts/FT88-School.woffbin0 -> 14868 bytes
-rw-r--r--static/fonts/FT88-School.woff2bin0 -> 14360 bytes
-rw-r--r--static/fonts/FT88-Serif.woffbin0 -> 12648 bytes
-rw-r--r--static/fonts/FT88-Serif.woff2bin0 -> 12028 bytes
-rw-r--r--static/fonts/Go-Mono-Bold-Italic.ttfbin0 -> 173600 bytes
-rw-r--r--static/fonts/Go-Mono-Bold.ttfbin0 -> 164936 bytes
-rw-r--r--static/fonts/Go-Mono-Italic.ttfbin0 -> 169824 bytes
-rw-r--r--static/fonts/Go-Mono.ttfbin0 -> 160760 bytes
-rw-r--r--static/fonts/Karrik-Italic.otfbin0 -> 49412 bytes
-rw-r--r--static/fonts/Karrik-Regular.otfbin0 -> 79808 bytes
-rw-r--r--static/fonts/Latitude-Regular.woffbin0 -> 19452 bytes
-rw-r--r--static/fonts/Latitude-Regular.woff2bin0 -> 18720 bytes
-rw-r--r--static/fonts/Louise-Regular.woffbin0 -> 26348 bytes
-rw-r--r--static/fonts/Louise-Regular.woff2bin0 -> 24968 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Extraitalic.woffbin0 -> 27440 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff2bin0 -> 22416 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Italic.woffbin0 -> 25336 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Italic.woff2bin0 -> 20820 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Regular.woffbin0 -> 26148 bytes
-rw-r--r--static/fonts/MAZIUSREVIEW20.09-Regular.woff2bin0 -> 21472 bytes
-rw-r--r--static/fonts/Minecraftia.ttfbin0 -> 18236 bytes
-rw-r--r--static/fonts/MonHugo-in.woffbin0 -> 28852 bytes
-rw-r--r--static/fonts/MonHugo-in.woff2bin0 -> 24040 bytes
-rw-r--r--static/fonts/MonHugo-out.woffbin0 -> 31424 bytes
-rw-r--r--static/fonts/MonHugo-out.woff2bin0 -> 26636 bytes
-rw-r--r--static/fonts/PicNic-Regular.woffbin0 -> 59556 bytes
-rw-r--r--static/fonts/PicNic-Regular.woff2bin0 -> 55464 bytes
-rw-r--r--static/fonts/Steps-Mono-Thin.otfbin0 -> 21628 bytes
-rw-r--r--static/fonts/Steps-Mono.otfbin0 -> 14740 bytes
-rw-r--r--static/fonts/TorreFarfan_v2.ttfbin0 -> 118580 bytes
-rw-r--r--static/fonts/kaerukaeru-Regular.woffbin0 -> 40392 bytes
-rw-r--r--static/fonts/kaerukaeru-Regular.woff2bin0 -> 37384 bytes
-rw-r--r--static/fonts/terminal-grotesque_open.otfbin0 -> 105864 bytes
-rw-r--r--static/fonts/ukikusa.ttfbin0 -> 46104 bytes
-rw-r--r--static/quinntyping.pngbin0 -> 960617 bytes
-rw-r--r--static/rssbadge.pngbin0 -> 259 bytes
-rw-r--r--static/style.css347
-rw-r--r--templates/base.html.tera84
-rw-r--r--templates/contact.html.tera34
-rw-r--r--templates/home.html.tera53
-rw-r--r--templates/latestblogs.html.tera11
-rw-r--r--templates/latestskweets.html.tera19
107 files changed, 3231 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/.rustfmt.toml b/.rustfmt.toml
new file mode 100644
index 0000000..36c419b
--- /dev/null
+++ b/.rustfmt.toml
@@ -0,0 +1 @@
+edition = "2021" \ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 0000000..74e154b
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,2611 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aead"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8"
+dependencies = [
+ "crypto-common",
+ "generic-array",
+]
+
+[[package]]
+name = "aes"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "aes-gcm"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c"
+dependencies = [
+ "aead",
+ "aes",
+ "cipher",
+ "ctr",
+ "ghash",
+ "subtle",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "async-stream"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "atomic"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b88d82667eca772c4aa12f0f1348b3ae643424c8876448f3f7bd5787032e234c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
+
+[[package]]
+name = "binascii"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "bstr"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "bytes"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+
+[[package]]
+name = "cc"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
+dependencies = [
+ "iana-time-zone",
+ "num-integer",
+ "num-traits",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "chrono-tz"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29c39203181991a7dd4343b8005bd804e7a9a37afb8ac070e43771e8c820bbde"
+dependencies = [
+ "chrono",
+ "chrono-tz-build",
+ "phf",
+]
+
+[[package]]
+name = "chrono-tz-build"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f509c3a87b33437b05e2458750a0700e5bdd6956176773e6c7d6dd15a283a0c"
+dependencies = [
+ "parse-zoneinfo",
+ "phf",
+ "phf_codegen",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "aes-gcm",
+ "base64 0.20.0",
+ "hkdf",
+ "hmac",
+ "percent-encoding",
+ "rand",
+ "sha2",
+ "subtle",
+ "time",
+ "version_check",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "rand_core",
+ "typenum",
+]
+
+[[package]]
+name = "ctr"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "deunicode"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
+
+[[package]]
+name = "devise"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50c7580b072f1c8476148f16e0a0d5dedddab787da98d86c5082c5e9ed8ab595"
+dependencies = [
+ "devise_codegen",
+ "devise_core",
+]
+
+[[package]]
+name = "devise_codegen"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "123c73e7a6e51b05c75fe1a1b2f4e241399ea5740ed810b0e3e6cacd9db5e7b2"
+dependencies = [
+ "devise_core",
+ "quote",
+]
+
+[[package]]
+name = "devise_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "841ef46f4787d9097405cac4e70fb8644fc037b526e8c14054247c0263c400d0"
+dependencies = [
+ "bitflags",
+ "proc-macro2",
+ "proc-macro2-diagnostics",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "either"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "figment"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e56602b469b2201400dec66a66aec5a9b8761ee97cd1b8c96ab2483fcc16cc9"
+dependencies = [
+ "atomic",
+ "pear",
+ "serde",
+ "toml",
+ "uncased",
+ "version_check",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall",
+ "windows-sys",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fsevent"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
+dependencies = [
+ "bitflags",
+ "fsevent-sys",
+]
+
+[[package]]
+name = "fsevent-sys"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+[[package]]
+name = "futures-io"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+
+[[package]]
+name = "futures-sink"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+
+[[package]]
+name = "futures-task"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+
+[[package]]
+name = "futures-util"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generator"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e"
+dependencies = [
+ "cc",
+ "libc",
+ "log",
+ "rustversion",
+ "windows",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "ghash"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
+dependencies = [
+ "opaque-debug",
+ "polyval",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "globset"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "fnv",
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "globwalk"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
+dependencies = [
+ "bitflags",
+ "ignore",
+ "walkdir",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hkdf"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+dependencies = [
+ "hmac",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[package]]
+name = "humansize"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
+
+[[package]]
+name = "hyper"
+version = "0.14.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "ignore"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+dependencies = [
+ "globset",
+ "lazy_static",
+ "log",
+ "memchr",
+ "regex",
+ "same-file",
+ "thread_local",
+ "walkdir",
+ "winapi-util",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+ "serde",
+]
+
+[[package]]
+name = "inlinable_string"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb"
+
+[[package]]
+name = "inotify"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
+dependencies = [
+ "bitflags",
+ "inotify-sys",
+ "libc",
+]
+
+[[package]]
+name = "inotify-sys"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "loom"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
+dependencies = [
+ "cfg-if 1.0.0",
+ "generator",
+ "scoped-tls",
+ "serde",
+ "serde_json",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "mime"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[package]]
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys",
+]
+
+[[package]]
+name = "mio-extras"
+version = "2.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
+dependencies = [
+ "lazycell",
+ "log",
+ "mio 0.6.23",
+ "slab",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
+]
+
+[[package]]
+name = "multer"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22"
+dependencies = [
+ "bytes",
+ "encoding_rs",
+ "futures-util",
+ "http",
+ "httparse",
+ "log",
+ "memchr",
+ "mime",
+ "spin",
+ "tokio",
+ "tokio-util",
+ "version_check",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "normpath"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04aaf5e9cb0fbf883cc0423159eacdf96a9878022084b35c462c428cab73bcaf"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "notify"
+version = "4.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
+dependencies = [
+ "bitflags",
+ "filetime",
+ "fsevent",
+ "fsevent-sys",
+ "inotify",
+ "libc",
+ "mio 0.6.23",
+ "mio-extras",
+ "walkdir",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "openssl"
+version = "0.10.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1"
+dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7"
+dependencies = [
+ "autocfg",
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "parse-zoneinfo"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41"
+dependencies = [
+ "regex",
+]
+
+[[package]]
+name = "pear"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15e44241c5e4c868e3eaa78b7c1848cadd6344ed4f54d029832d32b415a58702"
+dependencies = [
+ "inlinable_string",
+ "pear_codegen",
+ "yansi",
+]
+
+[[package]]
+name = "pear_codegen"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82a5ca643c2303ecb740d506539deba189e16f2754040a42901cd8105d0282d0"
+dependencies = [
+ "proc-macro2",
+ "proc-macro2-diagnostics",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pest"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4257b4a04d91f7e9e6290be5d3da4804dd5784fafde3a497d73eb2b4a158c30a"
+dependencies = [
+ "thiserror",
+ "ucd-trie",
+]
+
+[[package]]
+name = "pest_derive"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "241cda393b0cdd65e62e07e12454f1f25d57017dcc514b1514cd3c4645e3a0a6"
+dependencies = [
+ "pest",
+ "pest_generator",
+]
+
+[[package]]
+name = "pest_generator"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46b53634d8c8196302953c74d5352f33d0c512a9499bd2ce468fc9f4128fa27c"
+dependencies = [
+ "pest",
+ "pest_meta",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pest_meta"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ef4f1332a8d4678b41966bb4cc1d0676880e84183a1ecc3f4b69f03e99c7a51"
+dependencies = [
+ "once_cell",
+ "pest",
+ "sha2",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+dependencies = [
+ "siphasher",
+ "uncased",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+
+[[package]]
+name = "polyval"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "opaque-debug",
+ "universal-hash",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "proc-macro2-diagnostics"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+ "yansi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "ref-cast"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed"
+dependencies = [
+ "ref-cast-impl",
+]
+
+[[package]]
+name = "ref-cast-impl"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
+dependencies = [
+ "base64 0.13.1",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+ "tokio-native-tls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "rocket"
+version = "0.5.0-rc.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98ead083fce4a405feb349cf09abdf64471c6077f14e0ce59364aa90d4b99317"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "atomic",
+ "atty",
+ "binascii",
+ "bytes",
+ "either",
+ "figment",
+ "futures",
+ "indexmap",
+ "log",
+ "memchr",
+ "multer",
+ "num_cpus",
+ "parking_lot",
+ "pin-project-lite",
+ "rand",
+ "ref-cast",
+ "rocket_codegen",
+ "rocket_http",
+ "serde",
+ "serde_json",
+ "state",
+ "tempfile",
+ "time",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "ubyte",
+ "version_check",
+ "yansi",
+]
+
+[[package]]
+name = "rocket_codegen"
+version = "0.5.0-rc.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6aeb6bb9c61e9cd2c00d70ea267bf36f76a4cc615e5908b349c2f9d93999b47"
+dependencies = [
+ "devise",
+ "glob",
+ "indexmap",
+ "proc-macro2",
+ "quote",
+ "rocket_http",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "rocket_dyn_templates"
+version = "0.1.0-rc.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab13df598440527c200f46fb944dc55d8d67a1818b617eb5a3981dcd8b63fd2"
+dependencies = [
+ "glob",
+ "normpath",
+ "notify",
+ "rocket",
+ "tera",
+]
+
+[[package]]
+name = "rocket_http"
+version = "0.5.0-rc.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ded65d127954de3c12471630bf4b81a2792f065984461e65b91d0fdaafc17a2"
+dependencies = [
+ "cookie",
+ "either",
+ "futures",
+ "http",
+ "hyper",
+ "indexmap",
+ "log",
+ "memchr",
+ "pear",
+ "percent-encoding",
+ "pin-project-lite",
+ "ref-cast",
+ "serde",
+ "smallvec",
+ "stable-pattern",
+ "state",
+ "time",
+ "tokio",
+ "uncased",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "scratch"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
+
+[[package]]
+name = "security-framework"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+
+[[package]]
+name = "site"
+version = "0.1.0"
+dependencies = [
+ "reqwest",
+ "rocket",
+ "rocket_dyn_templates",
+ "tokio",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "slug"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
+dependencies = [
+ "deunicode",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+
+[[package]]
+name = "stable-pattern"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4564168c00635f88eaed410d5efa8131afa8d8699a612c80c455a0ba05c21045"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "state"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b"
+dependencies = [
+ "loom",
+]
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if 1.0.0",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tera"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3df578c295f9ec044ff1c829daf31bb7581d5b3c2a7a3d87419afe1f2531438c"
+dependencies = [
+ "chrono",
+ "chrono-tz",
+ "globwalk",
+ "humansize",
+ "lazy_static",
+ "percent-encoding",
+ "pest",
+ "pest_derive",
+ "rand",
+ "regex",
+ "serde",
+ "serde_json",
+ "slug",
+ "unic-segment",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "tokio"
+version = "1.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
+dependencies = [
+ "autocfg",
+ "bytes",
+ "libc",
+ "memchr",
+ "mio 0.8.5",
+ "num_cpus",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if 1.0.0",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+dependencies = [
+ "lazy_static",
+ "log",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "ubyte"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c81f0dae7d286ad0d9366d7679a77934cfc3cf3a8d67e82669794412b2368fe6"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
+
+[[package]]
+name = "uncased"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622"
+dependencies = [
+ "serde",
+ "version_check",
+]
+
+[[package]]
+name = "unic-char-property"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
+dependencies = [
+ "unic-char-range",
+]
+
+[[package]]
+name = "unic-char-range"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
+
+[[package]]
+name = "unic-common"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
+
+[[package]]
+name = "unic-segment"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23"
+dependencies = [
+ "unic-ucd-segment",
+]
+
+[[package]]
+name = "unic-ucd-segment"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700"
+dependencies = [
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-version"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
+dependencies = [
+ "unic-common",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "universal-hash"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5"
+dependencies = [
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+dependencies = [
+ "same-file",
+ "winapi 0.3.9",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+dependencies = [
+ "log",
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if 1.0.0",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
+dependencies = [
+ "cfg-if 1.0.0",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a"
+dependencies = [
+ "windows_aarch64_msvc 0.39.0",
+ "windows_i686_gnu 0.39.0",
+ "windows_i686_msvc 0.39.0",
+ "windows_x86_64_gnu 0.39.0",
+ "windows_x86_64_msvc 0.39.0",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc 0.42.1",
+ "windows_i686_gnu 0.42.1",
+ "windows_i686_msvc 0.42.1",
+ "windows_x86_64_gnu 0.42.1",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc 0.42.1",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..c584041
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "site"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+rocket = { version = "0.5.0-rc.2", features = ["json"] }
+reqwest = { version = "0.11", features = ["json"] }
+tokio = { version = "1", features = ["full"] }
+rocket_dyn_templates = { version = "0.1.0-rc.2", features = ["tera"] }
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..65a40c4
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,46 @@
+use rocket::fs::{relative, FileServer};
+use rocket::{response::Responder, serde::json::Json};
+use rocket_dyn_templates::{context, Template};
+
+#[macro_use]
+extern crate rocket;
+
+#[get("/")]
+async fn home() -> Template {
+ Template::render("home", context! { is_live: true, is_scrobbling: true })
+}
+
+#[get("/contact")]
+async fn contact() -> Template {
+ Template::render("contact", context! {})
+}
+
+// #[get("/test")]
+// async fn test() -> Result<Template, BlossomError> {
+// let posts = reqwest::get("https://skinnyver.se/api/v1/accounts/cel/statuses").await;
+// posts
+// }
+
+#[tokio::main]
+async fn main() -> Result<(), rocket::Error> {
+ let _rocket = rocket::build()
+ .attach(Template::fairing())
+ .mount("/", routes![home, contact])
+ .mount("/", FileServer::from(relative!("static")))
+ .launch()
+ .await?;
+
+ Ok(())
+}
+
+#[derive(Responder)]
+enum BlossomError {
+ #[response(status = 500)]
+ Reqwest(&'static str, #[response(ignore)] reqwest::Error),
+}
+
+impl From<reqwest::Error> for BlossomError {
+ fn from(e: reqwest::Error) -> Self {
+ BlossomError::Reqwest("reqwest error", e)
+ }
+}
diff --git a/static/barraconstruction.gif b/static/barraconstruction.gif
new file mode 100644
index 0000000..fb6f252
--- /dev/null
+++ b/static/barraconstruction.gif
Binary files differ
diff --git a/static/branches/branch837-1.png b/static/branches/branch837-1.png
new file mode 100644
index 0000000..f22e927
--- /dev/null
+++ b/static/branches/branch837-1.png
Binary files differ
diff --git a/static/branches/branch837-2.png b/static/branches/branch837-2.png
new file mode 100644
index 0000000..1fda5ee
--- /dev/null
+++ b/static/branches/branch837-2.png
Binary files differ
diff --git a/static/branches/branch840.png b/static/branches/branch840.png
new file mode 100644
index 0000000..64ba230
--- /dev/null
+++ b/static/branches/branch840.png
Binary files differ
diff --git a/static/branches/branch869.png b/static/branches/branch869.png
new file mode 100644
index 0000000..8461c1c
--- /dev/null
+++ b/static/branches/branch869.png
Binary files differ
diff --git a/static/branches/branch871.png b/static/branches/branch871.png
new file mode 100644
index 0000000..a9259bc
--- /dev/null
+++ b/static/branches/branch871.png
Binary files differ
diff --git a/static/branches/branch878.png b/static/branches/branch878.png
new file mode 100644
index 0000000..63cfd3e
--- /dev/null
+++ b/static/branches/branch878.png
Binary files differ
diff --git a/static/branches/branch879.png b/static/branches/branch879.png
new file mode 100644
index 0000000..3843a53
--- /dev/null
+++ b/static/branches/branch879.png
Binary files differ
diff --git a/static/branches/branch880.png b/static/branches/branch880.png
new file mode 100644
index 0000000..e614081
--- /dev/null
+++ b/static/branches/branch880.png
Binary files differ
diff --git a/static/branches/branch881-1.png b/static/branches/branch881-1.png
new file mode 100644
index 0000000..47dca0b
--- /dev/null
+++ b/static/branches/branch881-1.png
Binary files differ
diff --git a/static/branches/branch881-2.png b/static/branches/branch881-2.png
new file mode 100644
index 0000000..465c7c0
--- /dev/null
+++ b/static/branches/branch881-2.png
Binary files differ
diff --git a/static/branches/branch882-1.png b/static/branches/branch882-1.png
new file mode 100644
index 0000000..66684dc
--- /dev/null
+++ b/static/branches/branch882-1.png
Binary files differ
diff --git a/static/branches/branch882-2.png b/static/branches/branch882-2.png
new file mode 100644
index 0000000..24fc569
--- /dev/null
+++ b/static/branches/branch882-2.png
Binary files differ
diff --git a/static/branches/branch883-1.png b/static/branches/branch883-1.png
new file mode 100644
index 0000000..56942c0
--- /dev/null
+++ b/static/branches/branch883-1.png
Binary files differ
diff --git a/static/branches/branch883-2.png b/static/branches/branch883-2.png
new file mode 100644
index 0000000..2b16a81
--- /dev/null
+++ b/static/branches/branch883-2.png
Binary files differ
diff --git a/static/fonts.css b/static/fonts.css
new file mode 100644
index 0000000..48983cb
--- /dev/null
+++ b/static/fonts.css
@@ -0,0 +1,12 @@
+@font-face {
+ font-family: kaerukaeru;
+ src: url('/fonts/kaerukaeru-Regular.woff2') format('woff2'),
+ url('/fonts/kaerukaeru-Regular.woff') format('woff');
+}
+
+@font-face {
+ font-family: Louise;
+ src: url('/fonts/Louise-Regular.woff2') format('woff2'),
+ url('/fonts/Louise-Regular.woff') format('woff');
+}
+
diff --git a/static/fonts/18thCtrInit.ttf b/static/fonts/18thCtrInit.ttf
new file mode 100644
index 0000000..93e3cbc
--- /dev/null
+++ b/static/fonts/18thCtrInit.ttf
Binary files differ
diff --git a/static/fonts/18thCtrKurStart.ttf b/static/fonts/18thCtrKurStart.ttf
new file mode 100644
index 0000000..9fab1f8
--- /dev/null
+++ b/static/fonts/18thCtrKurStart.ttf
Binary files differ
diff --git a/static/fonts/18thCtrKurTxt.ttf b/static/fonts/18thCtrKurTxt.ttf
new file mode 100644
index 0000000..8f789de
--- /dev/null
+++ b/static/fonts/18thCtrKurTxt.ttf
Binary files differ
diff --git a/static/fonts/Abordage-Regular.woff b/static/fonts/Abordage-Regular.woff
new file mode 100644
index 0000000..b38b09c
--- /dev/null
+++ b/static/fonts/Abordage-Regular.woff
Binary files differ
diff --git a/static/fonts/Abordage-Regular.woff2 b/static/fonts/Abordage-Regular.woff2
new file mode 100644
index 0000000..d3aea8e
--- /dev/null
+++ b/static/fonts/Abordage-Regular.woff2
Binary files differ
diff --git a/static/fonts/AlmendraDisplay-Regular.ttf b/static/fonts/AlmendraDisplay-Regular.ttf
new file mode 100644
index 0000000..e0fbd19
--- /dev/null
+++ b/static/fonts/AlmendraDisplay-Regular.ttf
Binary files differ
diff --git a/static/fonts/Basalte-Fond.woff b/static/fonts/Basalte-Fond.woff
new file mode 100644
index 0000000..28b3265
--- /dev/null
+++ b/static/fonts/Basalte-Fond.woff
Binary files differ
diff --git a/static/fonts/Basalte-Fond.woff2 b/static/fonts/Basalte-Fond.woff2
new file mode 100644
index 0000000..b676c81
--- /dev/null
+++ b/static/fonts/Basalte-Fond.woff2
Binary files differ
diff --git a/static/fonts/Basalte-Multicolor.woff b/static/fonts/Basalte-Multicolor.woff
new file mode 100644
index 0000000..4802289
--- /dev/null
+++ b/static/fonts/Basalte-Multicolor.woff
Binary files differ
diff --git a/static/fonts/Basalte-Multicolor.woff2 b/static/fonts/Basalte-Multicolor.woff2
new file mode 100644
index 0000000..605f2f1
--- /dev/null
+++ b/static/fonts/Basalte-Multicolor.woff2
Binary files differ
diff --git a/static/fonts/Basalte-Volume.woff b/static/fonts/Basalte-Volume.woff
new file mode 100644
index 0000000..3b9c8ea
--- /dev/null
+++ b/static/fonts/Basalte-Volume.woff
Binary files differ
diff --git a/static/fonts/Basalte-Volume.woff2 b/static/fonts/Basalte-Volume.woff2
new file mode 100644
index 0000000..0b4f3c4
--- /dev/null
+++ b/static/fonts/Basalte-Volume.woff2
Binary files differ
diff --git a/static/fonts/CherryBombRegular.woff2 b/static/fonts/CherryBombRegular.woff2
new file mode 100644
index 0000000..ae8d4cf
--- /dev/null
+++ b/static/fonts/CherryBombRegular.woff2
Binary files differ
diff --git a/static/fonts/Compagnon-Bold.woff b/static/fonts/Compagnon-Bold.woff
new file mode 100644
index 0000000..bcf4f25
--- /dev/null
+++ b/static/fonts/Compagnon-Bold.woff
Binary files differ
diff --git a/static/fonts/Compagnon-Bold.woff2 b/static/fonts/Compagnon-Bold.woff2
new file mode 100644
index 0000000..a6554ce
--- /dev/null
+++ b/static/fonts/Compagnon-Bold.woff2
Binary files differ
diff --git a/static/fonts/Compagnon-Italic.woff b/static/fonts/Compagnon-Italic.woff
new file mode 100644
index 0000000..b0f9054
--- /dev/null
+++ b/static/fonts/Compagnon-Italic.woff
Binary files differ
diff --git a/static/fonts/Compagnon-Italic.woff2 b/static/fonts/Compagnon-Italic.woff2
new file mode 100644
index 0000000..73ef07c
--- /dev/null
+++ b/static/fonts/Compagnon-Italic.woff2
Binary files differ
diff --git a/static/fonts/Compagnon-Light.woff b/static/fonts/Compagnon-Light.woff
new file mode 100644
index 0000000..b0c6e87
--- /dev/null
+++ b/static/fonts/Compagnon-Light.woff
Binary files differ
diff --git a/static/fonts/Compagnon-Light.woff2 b/static/fonts/Compagnon-Light.woff2
new file mode 100644
index 0000000..8f962de
--- /dev/null
+++ b/static/fonts/Compagnon-Light.woff2
Binary files differ
diff --git a/static/fonts/Compagnon-Medium.woff b/static/fonts/Compagnon-Medium.woff
new file mode 100644
index 0000000..4eb136c
--- /dev/null
+++ b/static/fonts/Compagnon-Medium.woff
Binary files differ
diff --git a/static/fonts/Compagnon-Medium.woff2 b/static/fonts/Compagnon-Medium.woff2
new file mode 100644
index 0000000..13b9528
--- /dev/null
+++ b/static/fonts/Compagnon-Medium.woff2
Binary files differ
diff --git a/static/fonts/Compagnon-Roman.woff b/static/fonts/Compagnon-Roman.woff
new file mode 100644
index 0000000..bef9810
--- /dev/null
+++ b/static/fonts/Compagnon-Roman.woff
Binary files differ
diff --git a/static/fonts/Compagnon-Roman.woff2 b/static/fonts/Compagnon-Roman.woff2
new file mode 100644
index 0000000..c519337
--- /dev/null
+++ b/static/fonts/Compagnon-Roman.woff2
Binary files differ
diff --git a/static/fonts/DeGerm_LoCase.ttf b/static/fonts/DeGerm_LoCase.ttf
new file mode 100644
index 0000000..011e592
--- /dev/null
+++ b/static/fonts/DeGerm_LoCase.ttf
Binary files differ
diff --git a/static/fonts/Director-Bold.woff b/static/fonts/Director-Bold.woff
new file mode 100644
index 0000000..b94ae03
--- /dev/null
+++ b/static/fonts/Director-Bold.woff
Binary files differ
diff --git a/static/fonts/Director-Bold.woff2 b/static/fonts/Director-Bold.woff2
new file mode 100644
index 0000000..f27fee7
--- /dev/null
+++ b/static/fonts/Director-Bold.woff2
Binary files differ
diff --git a/static/fonts/Director-Light.woff b/static/fonts/Director-Light.woff
new file mode 100644
index 0000000..d210b95
--- /dev/null
+++ b/static/fonts/Director-Light.woff
Binary files differ
diff --git a/static/fonts/Director-Light.woff2 b/static/fonts/Director-Light.woff2
new file mode 100644
index 0000000..2f3ce48
--- /dev/null
+++ b/static/fonts/Director-Light.woff2
Binary files differ
diff --git a/static/fonts/Director-Regular.woff b/static/fonts/Director-Regular.woff
new file mode 100644
index 0000000..08cf4d3
--- /dev/null
+++ b/static/fonts/Director-Regular.woff
Binary files differ
diff --git a/static/fonts/Director-Regular.woff2 b/static/fonts/Director-Regular.woff2
new file mode 100644
index 0000000..b9fa97c
--- /dev/null
+++ b/static/fonts/Director-Regular.woff2
Binary files differ
diff --git a/static/fonts/Director-Variable.woff b/static/fonts/Director-Variable.woff
new file mode 100644
index 0000000..ef6429d
--- /dev/null
+++ b/static/fonts/Director-Variable.woff
Binary files differ
diff --git a/static/fonts/Director-Variable.woff2 b/static/fonts/Director-Variable.woff2
new file mode 100644
index 0000000..fc4fa81
--- /dev/null
+++ b/static/fonts/Director-Variable.woff2
Binary files differ
diff --git a/static/fonts/Equateur-Regular.woff b/static/fonts/Equateur-Regular.woff
new file mode 100644
index 0000000..3a7375e
--- /dev/null
+++ b/static/fonts/Equateur-Regular.woff
Binary files differ
diff --git a/static/fonts/Equateur-Regular.woff2 b/static/fonts/Equateur-Regular.woff2
new file mode 100644
index 0000000..7e74cc9
--- /dev/null
+++ b/static/fonts/Equateur-Regular.woff2
Binary files differ
diff --git a/static/fonts/FT88-Bold.woff b/static/fonts/FT88-Bold.woff
new file mode 100644
index 0000000..69f0052
--- /dev/null
+++ b/static/fonts/FT88-Bold.woff
Binary files differ
diff --git a/static/fonts/FT88-Bold.woff2 b/static/fonts/FT88-Bold.woff2
new file mode 100644
index 0000000..63ee3d6
--- /dev/null
+++ b/static/fonts/FT88-Bold.woff2
Binary files differ
diff --git a/static/fonts/FT88-Expanded.woff b/static/fonts/FT88-Expanded.woff
new file mode 100644
index 0000000..2402a50
--- /dev/null
+++ b/static/fonts/FT88-Expanded.woff
Binary files differ
diff --git a/static/fonts/FT88-Expanded.woff2 b/static/fonts/FT88-Expanded.woff2
new file mode 100644
index 0000000..9a1d3ed
--- /dev/null
+++ b/static/fonts/FT88-Expanded.woff2
Binary files differ
diff --git a/static/fonts/FT88-Gothique.woff b/static/fonts/FT88-Gothique.woff
new file mode 100644
index 0000000..e9ce7b6
--- /dev/null
+++ b/static/fonts/FT88-Gothique.woff
Binary files differ
diff --git a/static/fonts/FT88-Gothique.woff2 b/static/fonts/FT88-Gothique.woff2
new file mode 100644
index 0000000..3e2d34e
--- /dev/null
+++ b/static/fonts/FT88-Gothique.woff2
Binary files differ
diff --git a/static/fonts/FT88-Italic.woff b/static/fonts/FT88-Italic.woff
new file mode 100644
index 0000000..a0a6e7d
--- /dev/null
+++ b/static/fonts/FT88-Italic.woff
Binary files differ
diff --git a/static/fonts/FT88-Italic.woff2 b/static/fonts/FT88-Italic.woff2
new file mode 100644
index 0000000..9ce48fb
--- /dev/null
+++ b/static/fonts/FT88-Italic.woff2
Binary files differ
diff --git a/static/fonts/FT88-Regular.woff b/static/fonts/FT88-Regular.woff
new file mode 100644
index 0000000..02a44d7
--- /dev/null
+++ b/static/fonts/FT88-Regular.woff
Binary files differ
diff --git a/static/fonts/FT88-Regular.woff2 b/static/fonts/FT88-Regular.woff2
new file mode 100644
index 0000000..decbff7
--- /dev/null
+++ b/static/fonts/FT88-Regular.woff2
Binary files differ
diff --git a/static/fonts/FT88-School.woff b/static/fonts/FT88-School.woff
new file mode 100644
index 0000000..60cd817
--- /dev/null
+++ b/static/fonts/FT88-School.woff
Binary files differ
diff --git a/static/fonts/FT88-School.woff2 b/static/fonts/FT88-School.woff2
new file mode 100644
index 0000000..8d18871
--- /dev/null
+++ b/static/fonts/FT88-School.woff2
Binary files differ
diff --git a/static/fonts/FT88-Serif.woff b/static/fonts/FT88-Serif.woff
new file mode 100644
index 0000000..de6d54a
--- /dev/null
+++ b/static/fonts/FT88-Serif.woff
Binary files differ
diff --git a/static/fonts/FT88-Serif.woff2 b/static/fonts/FT88-Serif.woff2
new file mode 100644
index 0000000..2e840bc
--- /dev/null
+++ b/static/fonts/FT88-Serif.woff2
Binary files differ
diff --git a/static/fonts/Go-Mono-Bold-Italic.ttf b/static/fonts/Go-Mono-Bold-Italic.ttf
new file mode 100644
index 0000000..0884406
--- /dev/null
+++ b/static/fonts/Go-Mono-Bold-Italic.ttf
Binary files differ
diff --git a/static/fonts/Go-Mono-Bold.ttf b/static/fonts/Go-Mono-Bold.ttf
new file mode 100644
index 0000000..bbad5fd
--- /dev/null
+++ b/static/fonts/Go-Mono-Bold.ttf
Binary files differ
diff --git a/static/fonts/Go-Mono-Italic.ttf b/static/fonts/Go-Mono-Italic.ttf
new file mode 100644
index 0000000..ec27133
--- /dev/null
+++ b/static/fonts/Go-Mono-Italic.ttf
Binary files differ
diff --git a/static/fonts/Go-Mono.ttf b/static/fonts/Go-Mono.ttf
new file mode 100644
index 0000000..e64e22f
--- /dev/null
+++ b/static/fonts/Go-Mono.ttf
Binary files differ
diff --git a/static/fonts/Karrik-Italic.otf b/static/fonts/Karrik-Italic.otf
new file mode 100644
index 0000000..fb85fff
--- /dev/null
+++ b/static/fonts/Karrik-Italic.otf
Binary files differ
diff --git a/static/fonts/Karrik-Regular.otf b/static/fonts/Karrik-Regular.otf
new file mode 100644
index 0000000..bbe94bf
--- /dev/null
+++ b/static/fonts/Karrik-Regular.otf
Binary files differ
diff --git a/static/fonts/Latitude-Regular.woff b/static/fonts/Latitude-Regular.woff
new file mode 100644
index 0000000..e991746
--- /dev/null
+++ b/static/fonts/Latitude-Regular.woff
Binary files differ
diff --git a/static/fonts/Latitude-Regular.woff2 b/static/fonts/Latitude-Regular.woff2
new file mode 100644
index 0000000..441ad94
--- /dev/null
+++ b/static/fonts/Latitude-Regular.woff2
Binary files differ
diff --git a/static/fonts/Louise-Regular.woff b/static/fonts/Louise-Regular.woff
new file mode 100644
index 0000000..b8b5535
--- /dev/null
+++ b/static/fonts/Louise-Regular.woff
Binary files differ
diff --git a/static/fonts/Louise-Regular.woff2 b/static/fonts/Louise-Regular.woff2
new file mode 100644
index 0000000..a69cf15
--- /dev/null
+++ b/static/fonts/Louise-Regular.woff2
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff b/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff
new file mode 100644
index 0000000..e6a77b1
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff2 b/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff2
new file mode 100644
index 0000000..e2c5518
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Extraitalic.woff2
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Italic.woff b/static/fonts/MAZIUSREVIEW20.09-Italic.woff
new file mode 100644
index 0000000..b16d212
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Italic.woff
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Italic.woff2 b/static/fonts/MAZIUSREVIEW20.09-Italic.woff2
new file mode 100644
index 0000000..96ba154
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Italic.woff2
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Regular.woff b/static/fonts/MAZIUSREVIEW20.09-Regular.woff
new file mode 100644
index 0000000..5644534
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Regular.woff
Binary files differ
diff --git a/static/fonts/MAZIUSREVIEW20.09-Regular.woff2 b/static/fonts/MAZIUSREVIEW20.09-Regular.woff2
new file mode 100644
index 0000000..c621642
--- /dev/null
+++ b/static/fonts/MAZIUSREVIEW20.09-Regular.woff2
Binary files differ
diff --git a/static/fonts/Minecraftia.ttf b/static/fonts/Minecraftia.ttf
new file mode 100644
index 0000000..2cf2af4
--- /dev/null
+++ b/static/fonts/Minecraftia.ttf
Binary files differ
diff --git a/static/fonts/MonHugo-in.woff b/static/fonts/MonHugo-in.woff
new file mode 100644
index 0000000..2d2a566
--- /dev/null
+++ b/static/fonts/MonHugo-in.woff
Binary files differ
diff --git a/static/fonts/MonHugo-in.woff2 b/static/fonts/MonHugo-in.woff2
new file mode 100644
index 0000000..3c55eb6
--- /dev/null
+++ b/static/fonts/MonHugo-in.woff2
Binary files differ
diff --git a/static/fonts/MonHugo-out.woff b/static/fonts/MonHugo-out.woff
new file mode 100644
index 0000000..b2ea992
--- /dev/null
+++ b/static/fonts/MonHugo-out.woff
Binary files differ
diff --git a/static/fonts/MonHugo-out.woff2 b/static/fonts/MonHugo-out.woff2
new file mode 100644
index 0000000..2208134
--- /dev/null
+++ b/static/fonts/MonHugo-out.woff2
Binary files differ
diff --git a/static/fonts/PicNic-Regular.woff b/static/fonts/PicNic-Regular.woff
new file mode 100644
index 0000000..df03c06
--- /dev/null
+++ b/static/fonts/PicNic-Regular.woff
Binary files differ
diff --git a/static/fonts/PicNic-Regular.woff2 b/static/fonts/PicNic-Regular.woff2
new file mode 100644
index 0000000..8a3d8e4
--- /dev/null
+++ b/static/fonts/PicNic-Regular.woff2
Binary files differ
diff --git a/static/fonts/Steps-Mono-Thin.otf b/static/fonts/Steps-Mono-Thin.otf
new file mode 100644
index 0000000..6cfae91
--- /dev/null
+++ b/static/fonts/Steps-Mono-Thin.otf
Binary files differ
diff --git a/static/fonts/Steps-Mono.otf b/static/fonts/Steps-Mono.otf
new file mode 100644
index 0000000..c239ac0
--- /dev/null
+++ b/static/fonts/Steps-Mono.otf
Binary files differ
diff --git a/static/fonts/TorreFarfan_v2.ttf b/static/fonts/TorreFarfan_v2.ttf
new file mode 100644
index 0000000..c214b4e
--- /dev/null
+++ b/static/fonts/TorreFarfan_v2.ttf
Binary files differ
diff --git a/static/fonts/kaerukaeru-Regular.woff b/static/fonts/kaerukaeru-Regular.woff
new file mode 100644
index 0000000..7479c46
--- /dev/null
+++ b/static/fonts/kaerukaeru-Regular.woff
Binary files differ
diff --git a/static/fonts/kaerukaeru-Regular.woff2 b/static/fonts/kaerukaeru-Regular.woff2
new file mode 100644
index 0000000..f2648aa
--- /dev/null
+++ b/static/fonts/kaerukaeru-Regular.woff2
Binary files differ
diff --git a/static/fonts/terminal-grotesque_open.otf b/static/fonts/terminal-grotesque_open.otf
new file mode 100644
index 0000000..41e3de6
--- /dev/null
+++ b/static/fonts/terminal-grotesque_open.otf
Binary files differ
diff --git a/static/fonts/ukikusa.ttf b/static/fonts/ukikusa.ttf
new file mode 100644
index 0000000..d6640f7
--- /dev/null
+++ b/static/fonts/ukikusa.ttf
Binary files differ
diff --git a/static/quinntyping.png b/static/quinntyping.png
new file mode 100644
index 0000000..702efb6
--- /dev/null
+++ b/static/quinntyping.png
Binary files differ
diff --git a/static/rssbadge.png b/static/rssbadge.png
new file mode 100644
index 0000000..7c952d6
--- /dev/null
+++ b/static/rssbadge.png
Binary files differ
diff --git a/static/style.css b/static/style.css
new file mode 100644
index 0000000..3063517
--- /dev/null
+++ b/static/style.css
@@ -0,0 +1,347 @@
+body {
+ background-color: #80a7e3;
+ color: #311f20;
+}
+
+.page {
+ padding: 6vw;
+ display: flex;
+ flex-direction: column;
+}
+
+img {
+ max-width: 100%;
+ border: 4px solid #311f20;
+}
+
+.label,
+.label * {
+ display: inline;
+ padding: 0;
+ border-radius: 0;
+ border: 0;
+ margin: 0 0.1em;
+ background-color: #0000;
+}
+
+header {
+ display: flex;
+ align-items: end;
+ flex-wrap: wrap;
+}
+
+header>#stream,
+header>#scrobble {
+ flex: 0 1 auto;
+}
+
+#stream {
+ background-color: #b52f6a;
+ max-width: 100%;
+ width: 550px;
+ aspect-ratio: 550/350;
+}
+
+.panel {
+ margin: 2vw;
+ border: 4px solid #311f20;
+ padding: 2rem 4rem;
+ position: relative;
+ pointer-events: all;
+}
+
+header,
+main,
+body {
+ pointer-events: none;
+}
+
+#title {
+ z-index: 10;
+ display: inline-block;
+ font-family: kaerukaeru;
+ font-size: 2em;
+ padding: 0rem 4rem;
+ background-color: #d16a84;
+}
+
+#scrobble {
+ background-color: #eb743b;
+ border-radius: 0;
+ color: #353070;
+}
+
+iframe {
+ margin: 0;
+ padding: 0;
+}
+
+ul {
+ list-style-type: none;
+ margin: rem 0;
+ padding: 0;
+}
+
+a {
+ text-decoration: none;
+ color: #edc953;
+ background-color: #311f20;
+ padding: 0.5em;
+ border-radius: 2em;
+ display: inline-block;
+ margin: 0.5em;
+}
+
+a:hover {
+ font-style: italic;
+}
+
+a.active {
+ background-color: #edc953;
+ color: #311f20;
+}
+
+nav {
+ padding: 1rem 4rem;
+ background-color: #5faf87;
+ z-index: -1;
+}
+
+nav:hover {
+ z-index: 10;
+}
+
+ul#nav {
+ display: flex;
+ justify-content: start;
+ flex-wrap: wrap;
+ gap: 0.2em;
+ font-size: 1.1rem;
+}
+
+#nav img {
+ height: 1.1rem;
+ width: 1.1rem;
+}
+
+#blog-list {
+ width: 100%;
+}
+
+.blog-entry {
+ display: flex;
+ justify-content: space-between;
+ background-color: #0000;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 1.1rem;
+}
+
+#skinnyverse {
+ font-family: CherryBomb;
+ color: #e8c6e6;
+ border-color: #bf42a0;
+ background-color: #28446c;
+ flex: 1 1 15rem;
+ z-index: -1;
+}
+
+#latest-skweets {
+ background-color: #0000;
+ padding: 0;
+ margin: 0;
+ border-radius: 0;
+ color: #bf42a0;
+}
+
+#blogs {
+ z-index: -1;
+ background-color: #7f99e6;
+}
+
+#footer {
+ z-index: -1;
+ background-color: #e8d2c5;
+}
+
+#footer>a {
+ border-radius: 0;
+ padding: 0;
+ background-color: #0000;
+}
+
+aside {
+ flex: 1 1 30rem;
+}
+
+#skinnyverse:hover,
+#blogs:hover,
+#footer:hover {
+ z-index: 10;
+}
+
+.post {
+ display: flex;
+ gap: 2em;
+ margin: 2em 0;
+}
+
+.post h4,
+h5 {
+ margin: 0;
+}
+
+.post>.profile {
+ border: 4px solid #bf42a0;
+ width: 48px;
+ height: 48px;
+}
+
+.post-content {
+ flex: 1 1 auto;
+}
+
+.post>.post-content>div {
+ display: flex;
+ justify-content: space-between;
+}
+
+.post>.post-content>.gallery {
+ display: flex;
+ max-width: 100%;
+ gap: 1em;
+}
+
+.post>.post-content>.gallery>img {
+ border: 4px solid #bf42a0;
+ flex: 1 1 auto;
+ width: 10px;
+}
+
+.branch {
+ border: none;
+ width: 100vw;
+ position: absolute;
+ pointer-events: none;
+}
+
+main {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+}
+
+.content {
+ flex: 12 1 0;
+ min-width: 50vw;
+ z-index: 3;
+ overflow-wrap: break-word;
+}
+
+.content:hover {
+ z-index: 10;
+}
+
+.p-name {
+ display: none;
+}
+
+.info {
+ background-color: #d1a2e7;
+}
+
+.info:hover {
+ z-index: 10;
+}
+
+#branch6 {
+ top: 200vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ pointer-events: none;
+}
+
+#branch2 {
+ top: 60vw;
+
+ z-index: -2;
+ pointer-events: none;
+}
+
+#branch3 {
+ top: 100vw;
+ z-index: -2;
+ pointer-events: none;
+}
+
+#branch4 {
+ top: 270vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ z-index: 0;
+ pointer-events: none;
+}
+
+#branch5 {
+ top: 0vw;
+ pointer-events: none;
+}
+
+#branch1 {
+ top: 0vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ z-index: -1;
+ pointer-events: none;
+}
+
+#branch7 {
+ top: 180vw;
+ pointer-events: none;
+}
+
+#branch8 {
+ top: 260vw;
+ pointer-events: none;
+}
+
+#branch9 {
+ top: 50vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ z-index: 4;
+ pointer-events: none;
+}
+
+#branch10 {
+ top: 100vw;
+ pointer-events: none;
+}
+
+#branch11 {
+ top: 145vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ pointer-events: none;
+}
+
+#branch12 {
+ top: 180vw;
+ pointer-events: none;
+ z-index: 4;
+}
+
+#branch13 {
+ top: 15vw;
+ z-index: -3;
+ pointer-events: none;
+}
+
+#branch14 {
+ top: 105vw;
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ z-index: 4;
+ pointer-events: none;
+} \ No newline at end of file
diff --git a/templates/base.html.tera b/templates/base.html.tera
new file mode 100644
index 0000000..eff54b1
--- /dev/null
+++ b/templates/base.html.tera
@@ -0,0 +1,84 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8"/>
+ <link rel="stylesheet" href="style.css">
+ <link rel="stylesheet" href="fonts.css">
+ <title>cel's garden</title>
+ </head>
+
+ <body>
+
+ <img class="branch" id="branch1" src="branches/branch837-1.png" alt="cherry blossom branch">
+ <img class="branch" id="branch2" src="branches/branch878.png" alt="cherry blossom branch">
+ <img class="branch" id="branch3" src="branches/branch837-2.png" alt="cherry blossom branch">
+ <img class="branch" id="branch4" src="branches/branch840.png" alt="cherry blossom branch">
+ <img class="branch" id="branch5" src="branches/branch869.png" alt="cherry blossom branch">
+ <img class="branch" id="branch6" src="branches/branch871.png" alt="cherry blossom branch">
+ <img class="branch" id="branch7" src="branches/branch879.png" alt="cherry blossom branch">
+ <img class="branch" id="branch8" src="branches/branch880.png" alt="cherry blossom branch">
+ <img class="branch" id="branch9" src="branches/branch881-1.png" alt="cherry blossom branch">
+ <img class="branch" id="branch10" src="branches/branch881-2.png" alt="cherry blossom branch">
+ <img class="branch" id="branch11" src="branches/branch882-1.png" alt="cherry blossom branch">
+ <img class="branch" id="branch12" src="branches/branch882-2.png" alt="cherry blossom branch">
+ <img class="branch" id="branch13" src="branches/branch883-1.png" alt="cherry blossom branch">
+ <img class="branch" id="branch14" src="branches/branch883-2.png" alt="cherry blossom branch">
+
+ <div class="page">
+
+ <header>
+
+ {% block header %}
+ {% endblock header %}
+
+ </header>
+
+ <nav class="panel" id="nav">
+ <ul id="nav">
+ <li><a class="active" href="/">home</a></li>
+ <li><a href="/contact">kontakt</a></li>
+ <li><a href="/projects">projetos</a></li>
+ <li><a href="/sound">音</a></li>
+ <li><a href="/listens">ζ₯½</a></li>
+ <li><a href="/linkz">cute linkz</a></li>
+ <li><a href="https://bimbo.video">video</a></li>
+ <li><a href="https://live.blos.sm">πŸ”΄ live</a></li>
+ <li><a href="/pix">pix</a></li>
+ <li><a href="/thoughts">thoughts</a></li>
+ <li><a href="/girlblog">girlblog</a></li>
+ <li><a href="/writing">flop</a></li>
+ <li><a href="/zettelkasten">zettelkasten</a></li>
+ <li><a href="/read">γ‚ˆγ‚€</a></li>
+ <li><a href="https://sectorinf.com/cel">πŸ¦‹πŸžπŸŒπŸπŸ•·</a></li>
+ <li><a href="/plants">plantas</a></li>
+ <li><a href="https://ass-smacc"><img src="https://skinnyver.se/emoji/Wigs/suscakke.png"></a></li>
+ <li><a href="https://pussy.accountants">pussy</a></li>
+ <li><a href="/guestbook">visitas</a></li>
+ </ul>
+ </nav>
+
+ <main>
+ <div class="content">
+
+ {% block content %}
+ {% endblock content %}
+
+ </div>
+
+ {% block aside %}
+ {% endblock aside %}
+
+ </main>
+
+ <footer>
+ <div class="panel" id="footer">
+ <a href="https://skinnyver.se"><img src="https://skinnyver.se/instance/skinnyversebadge.png"></a>
+ <a href="https://social.xenofem.me/"><img src="https://s3.eu-west-1.wasabisys.com/skinnyverse/4520d16b-565c-4956-b1f0-dd18afcdf906/xenofemme.png"></a>
+ <a href="https://asbestos.cafe"><img src="https://asbestos.cafe/instance/asbestoscafesisterinstance.png"></a>
+ <a href="https://worm.pink"><img src="https://worm.pink/instance/wormpinksistersite.png"></a>
+ </div>
+ </footer>
+
+ </div>
+ </body>
+</html>
diff --git a/templates/contact.html.tera b/templates/contact.html.tera
new file mode 100644
index 0000000..9876132
--- /dev/null
+++ b/templates/contact.html.tera
@@ -0,0 +1,34 @@
+{% extends "base" %}
+
+{% block header %}
+
+<div class="panel" id="title">
+ <h1>cel 🌸</h1>
+</div>
+
+{% endblock header %}
+
+{% block content %}
+
+<div class="info panel h-card" rel="author">
+ <h1 class="p-name">cel</h1>
+
+ <h3>pronouns: <a class="u-url" rel="me" href="https://en.pronouns.page/@celblossom"><span class="p-x-pronoun-nominative">she</span>/<span class="p-x-pronoun-accusative">her</span></a></h3>
+
+ <ul>
+ <li>email: <a class="u-email" href="mailto:cel@blos.sm">cel@blos.sm</a> <a href="cel.asc" class="u-key" rel="pgpkey">pgp key</a></li>
+ <li>matrix: <a class="u-impp" href="matrix:u/@cel:pussy.accountants">@cel:pussy.accountants</a></li>
+ <li>xmpp: <a class="u-impp" href="xmpp:cel@blos.sm?message">cel@blos.sm</a></li>
+ <li>fedi: <a class="u-url" rel="me" href="https://skinnyver.se/cel">@cel@skinnyver.se</a></li>
+ <li>silly little videos (soon): <a class="u-url" rel="me" href="https://skinnyver.se/cel">@cel@bimbo.video</a></li>
+ <li>pix (soon 2): <a class="u-url" rel="me" href="https://skinnyver.se/cel">@cel@portra400.video</a></li>
+ <li>git: <a class="u-url" rel="me" href="https://sectorinf.com/cel">sectorinf/cel</a></li>
+ <li>scrobbles: <a class="u-url" href="https://listenbrainz.org/user/celblossom">listenbrainz/celblossom</a></li>
+ <li>bandcamp fan: <a class="u-url" href="https://bandcamp.com/celblossom">bandcamp/celblossom</a></li>
+ <br>
+ <li><span class="p-note">languages (in rough skill order): english, portuguese, german, japanese, chinese, french, latin, toki pona, korean</span></li></li>
+ <li><span class="p-note">programming: rust, go, webdev, erlang, lisp</span></li>
+ </ul>
+</div>
+
+{% endblock content %} \ No newline at end of file
diff --git a/templates/home.html.tera b/templates/home.html.tera
new file mode 100644
index 0000000..cf14f54
--- /dev/null
+++ b/templates/home.html.tera
@@ -0,0 +1,53 @@
+{% extends "base" %}
+
+{% block header %}
+
+<div class="panel" id="title">
+ <h1>cel 🌸</h1>
+</div>
+
+{% if is_live %}
+<iframe
+ class="panel"
+ id="stream"
+ src="https://live.blos.sm/embed/video"
+ title="girlstream"
+ referrerpolicy="origin"
+ scrolling="no"
+ allowfullscreen>
+</iframe>
+{% endif %}
+
+{% if is_scrobbling %}
+<a href="https://listenbrainz.org/user/celblossom" class="panel" id="scrobble">now playing: Parfum d'Γ©toiles - Ichiko Aoba</a>
+{% endif %}
+
+{% endblock header %}
+
+{% block content %}
+
+<div class="info panel">
+ <h2>hallo i am celeste welcome 2 my site 🌟</h2>
+ <p>this is where i dump everything</p>
+ <p>i wish u a wonderful day</p>
+ <br>
+ <img src="https://s3.eu-west-1.wasabisys.com/skinnyverse/f28c467a-0ee1-4d49-a638-08a010fd9927/quinntyping.png">
+ <p>perpetually under construction</p>
+ <img style="border: 0;" src="/barraconstruction.gif">
+</div>
+
+{% endblock content %}
+
+{% block aside %}
+
+<aside>
+
+ {% include "latestblogs" %}
+ {% include "latestskweets" %}
+
+</aside>
+
+{% endblock aside %}
+
+
+
diff --git a/templates/latestblogs.html.tera b/templates/latestblogs.html.tera
new file mode 100644
index 0000000..966a728
--- /dev/null
+++ b/templates/latestblogs.html.tera
@@ -0,0 +1,11 @@
+<div class="panel" id="blogs">
+ <h2>latest blogs <a class="label" href="/feed.xml"><img class="label" src="https://cinni.net/images/icon/rssbadge.png" alt="rss newsfeed"></a></h2>
+ <table id="blog-list">
+ <tr>
+ <td><a class="blog-entry" href="/thoughts/fedi">fedi<span class="blog-date">2023-02-04</span></a></td>
+ </tr>
+ <tr>
+ <td><a class="blog-entry" href="/thoughts/fedi">slaying<span class="blog-date">2023-01-20</span></a></td>
+ </tr>
+ </table>
+</div> \ No newline at end of file
diff --git a/templates/latestskweets.html.tera b/templates/latestskweets.html.tera
new file mode 100644
index 0000000..15a413c
--- /dev/null
+++ b/templates/latestskweets.html.tera
@@ -0,0 +1,19 @@
+<div class="panel" id="skinnyverse">
+ <h2><a id="latest-skweets" href="https://skinnyver.se/cel">latest skweets</a></h2>
+ <div class="post">
+ <img src="https://s3.eu-west-1.wasabisys.com/skinnyverse/426b13b9-0d01-4dc1-abc9-6dbc1ec8a8a6/bjorkcpu2.png" class="profile">
+ <div class="post-content">
+ <div><h4>@cel</h4><h5>2h ago</h5></div>
+ <p>@nyx @lain ikr? omg we have no choice but to stan our skinny legend</p>
+ <div class="gallery"><img src="https://skinnyver.se/media/22aca0d1-441c-425f-b9b2-7501a29d8e9c/lain_skinny2.png"><img src="https://skinnyver.se/media/4f6344de-b334-417e-b202-f1daf3207986/vlcsnap-2022-06-15-09h55m17s937.png"></div>
+ </div>
+ </div>
+ <div class="post">
+ <img src="https://s3.eu-west-1.wasabisys.com/skinnyverse/426b13b9-0d01-4dc1-abc9-6dbc1ec8a8a6/bjorkcpu2.png" class="profile">
+ <div class="post-content">
+ <div><h4>@cel</h4><h5>2h ago</h5></div>
+ <p>@nyx @lain ikr? omg we have no choice but to stan our skinny legend</p>
+ <div class="gallery"><img src="https://skinnyver.se/media/22aca0d1-441c-425f-b9b2-7501a29d8e9c/lain_skinny2.png"><img src="https://skinnyver.se/media/4f6344de-b334-417e-b202-f1daf3207986/vlcsnap-2022-06-15-09h55m17s937.png"></div>
+ </div>
+ </div>
+</div> \ No newline at end of file