macroblog.rs @ e44658641b75076b702e690df166820c1d133f24

feat: Move to actix to enable compression

Add compression and enable it by default.
Also add `cargo-watch` to watch for changes.
   1diff --git a/Cargo.lock b/Cargo.lock
   2index 9b7111d7809c5d961d65d2d385b8f976d3d557f9..92b0fe7a268e03c9dab8fdcffbcbcff9493281b4 100644
   3--- a/Cargo.lock
   4+++ b/Cargo.lock
   5@@ -50,7 +50,7 @@  "log",
   6  "mime",
   7  "percent-encoding",
   8  "pin-project-lite",
   9- "rand",
  10+ "rand 0.8.5",
  11  "sha-1",
  12  "smallvec",
  13  "zstd",
  14@@ -101,7 +101,7 @@  "actix-service",
  15  "actix-utils",
  16  "futures-core",
  17  "futures-util",
  18- "mio",
  19+ "mio 0.8.2",
  20  "num_cpus",
  21  "socket2",
  22  "tokio",
  23@@ -147,7 +147,7 @@  "actix-web-codegen",
  24  "ahash",
  25  "bytes",
  26  "bytestring",
  27- "cfg-if",
  28+ "cfg-if 1.0.0",
  29  "cookie",
  30  "derive_more",
  31  "encoding_rs",
  32@@ -193,7 +193,7 @@ version = "0.7.6"
  33 source = "registry+https://github.com/rust-lang/crates.io-index"
  34 checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
  35 dependencies = [
  36- "getrandom",
  37+ "getrandom 0.2.6",
  38  "once_cell",
  39  "version_check",
  40 ]
  41@@ -223,6 +223,119 @@  "alloc-no-stdlib",
  42 ]
  43 
  44 [[package]]
  45+name = "ansi_term"
  46+version = "0.12.1"
  47+source = "registry+https://github.com/rust-lang/crates.io-index"
  48+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
  49+dependencies = [
  50+ "winapi 0.3.9",
  51+]
  52+
  53+[[package]]
  54+name = "async-broadcast"
  55+version = "0.4.0"
  56+source = "registry+https://github.com/rust-lang/crates.io-index"
  57+checksum = "1bbd92a9bd0e9c1298118ecf8a2f825e86b12c3ec9e411573e34aaf3a0c03cdd"
  58+dependencies = [
  59+ "easy-parallel",
  60+ "event-listener",
  61+ "futures-core",
  62+ "parking_lot 0.11.2",
  63+]
  64+
  65+[[package]]
  66+name = "async-channel"
  67+version = "1.6.1"
  68+source = "registry+https://github.com/rust-lang/crates.io-index"
  69+checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
  70+dependencies = [
  71+ "concurrent-queue",
  72+ "event-listener",
  73+ "futures-core",
  74+]
  75+
  76+[[package]]
  77+name = "async-executor"
  78+version = "1.4.1"
  79+source = "registry+https://github.com/rust-lang/crates.io-index"
  80+checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
  81+dependencies = [
  82+ "async-task",
  83+ "concurrent-queue",
  84+ "fastrand",
  85+ "futures-lite",
  86+ "once_cell",
  87+ "slab",
  88+]
  89+
  90+[[package]]
  91+name = "async-io"
  92+version = "1.7.0"
  93+source = "registry+https://github.com/rust-lang/crates.io-index"
  94+checksum = "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07"
  95+dependencies = [
  96+ "concurrent-queue",
  97+ "futures-lite",
  98+ "libc",
  99+ "log",
 100+ "once_cell",
 101+ "parking",
 102+ "polling",
 103+ "slab",
 104+ "socket2",
 105+ "waker-fn",
 106+ "winapi 0.3.9",
 107+]
 108+
 109+[[package]]
 110+name = "async-lock"
 111+version = "2.5.0"
 112+source = "registry+https://github.com/rust-lang/crates.io-index"
 113+checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
 114+dependencies = [
 115+ "event-listener",
 116+]
 117+
 118+[[package]]
 119+name = "async-recursion"
 120+version = "0.3.2"
 121+source = "registry+https://github.com/rust-lang/crates.io-index"
 122+checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
 123+dependencies = [
 124+ "proc-macro2",
 125+ "quote",
 126+ "syn",
 127+]
 128+
 129+[[package]]
 130+name = "async-task"
 131+version = "4.2.0"
 132+source = "registry+https://github.com/rust-lang/crates.io-index"
 133+checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
 134+
 135+[[package]]
 136+name = "async-trait"
 137+version = "0.1.53"
 138+source = "registry+https://github.com/rust-lang/crates.io-index"
 139+checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
 140+dependencies = [
 141+ "proc-macro2",
 142+ "quote",
 143+ "syn",
 144+]
 145+
 146+[[package]]
 147+name = "atty"
 148+version = "0.2.14"
 149+source = "registry+https://github.com/rust-lang/crates.io-index"
 150+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 151+dependencies = [
 152+ "hermit-abi",
 153+ "libc",
 154+ "winapi 0.3.9",
 155+]
 156+
 157+[[package]]
 158 name = "autocfg"
 159 version = "1.1.0"
 160 source = "registry+https://github.com/rust-lang/crates.io-index"
 161@@ -239,6 +352,12 @@ name = "bitflags"
 162 version = "1.3.2"
 163 source = "registry+https://github.com/rust-lang/crates.io-index"
 164 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 165+
 166+[[package]]
 167+name = "block"
 168+version = "0.1.6"
 169+source = "registry+https://github.com/rust-lang/crates.io-index"
 170+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 171 
 172 [[package]]
 173 name = "block-buffer"
 174@@ -280,6 +399,21 @@  "alloc-stdlib",
 175 ]
 176 
 177 [[package]]
 178+name = "bstr"
 179+version = "0.2.17"
 180+source = "registry+https://github.com/rust-lang/crates.io-index"
 181+checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
 182+dependencies = [
 183+ "memchr",
 184+]
 185+
 186+[[package]]
 187+name = "byteorder"
 188+version = "1.4.3"
 189+source = "registry+https://github.com/rust-lang/crates.io-index"
 190+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 191+
 192+[[package]]
 193 name = "bytes"
 194 version = "1.1.0"
 195 source = "registry+https://github.com/rust-lang/crates.io-index"
 196@@ -295,6 +429,33 @@  "bytes",
 197 ]
 198 
 199 [[package]]
 200+name = "cache-padded"
 201+version = "1.2.0"
 202+source = "registry+https://github.com/rust-lang/crates.io-index"
 203+checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
 204+
 205+[[package]]
 206+name = "camino"
 207+version = "1.0.9"
 208+source = "registry+https://github.com/rust-lang/crates.io-index"
 209+checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412"
 210+
 211+[[package]]
 212+name = "cargo-watch"
 213+version = "8.1.1"
 214+source = "registry+https://github.com/rust-lang/crates.io-index"
 215+checksum = "17dfad0c1adee63f73c7e73d283ab5186db66c3ec4c5b6bcc7683b344c8d46c6"
 216+dependencies = [
 217+ "camino",
 218+ "clap",
 219+ "log",
 220+ "notify-rust",
 221+ "shell-escape",
 222+ "stderrlog",
 223+ "watchexec",
 224+]
 225+
 226+[[package]]
 227 name = "cc"
 228 version = "1.0.73"
 229 source = "registry+https://github.com/rust-lang/crates.io-index"
 230@@ -305,6 +466,12 @@ ]
 231 
 232 [[package]]
 233 name = "cfg-if"
 234+version = "0.1.10"
 235+source = "registry+https://github.com/rust-lang/crates.io-index"
 236+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 237+
 238+[[package]]
 239+name = "cfg-if"
 240 version = "1.0.0"
 241 source = "registry+https://github.com/rust-lang/crates.io-index"
 242 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 243@@ -319,7 +486,54 @@  "libc",
 244  "num-integer",
 245  "num-traits",
 246  "time 0.1.44",
 247- "winapi",
 248+ "winapi 0.3.9",
 249+]
 250+
 251+[[package]]
 252+name = "clap"
 253+version = "2.34.0"
 254+source = "registry+https://github.com/rust-lang/crates.io-index"
 255+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 256+dependencies = [
 257+ "ansi_term",
 258+ "atty",
 259+ "bitflags",
 260+ "strsim 0.8.0",
 261+ "textwrap",
 262+ "unicode-width",
 263+ "vec_map",
 264+]
 265+
 266+[[package]]
 267+name = "clearscreen"
 268+version = "1.0.9"
 269+source = "registry+https://github.com/rust-lang/crates.io-index"
 270+checksum = "a7ed49b0e894fe6264a58496c7ec4e9d3c46f66b59efae527cd5bee429d0a418"
 271+dependencies = [
 272+ "nix 0.22.3",
 273+ "terminfo",
 274+ "thiserror",
 275+ "which",
 276+ "winapi 0.3.9",
 277+]
 278+
 279+[[package]]
 280+name = "command-group"
 281+version = "1.0.8"
 282+source = "registry+https://github.com/rust-lang/crates.io-index"
 283+checksum = "f7a8a86f409b4a59df3a3e4bee2de0b83f1755fdd2a25e3a9684c396fc4bed2c"
 284+dependencies = [
 285+ "nix 0.22.3",
 286+ "winapi 0.3.9",
 287+]
 288+
 289+[[package]]
 290+name = "concurrent-queue"
 291+version = "1.2.2"
 292+source = "registry+https://github.com/rust-lang/crates.io-index"
 293+checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
 294+dependencies = [
 295+ "cache-padded",
 296 ]
 297 
 298 [[package]]
 299@@ -354,7 +568,7 @@ version = "1.3.2"
 300 source = "registry+https://github.com/rust-lang/crates.io-index"
 301 checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 302 dependencies = [
 303- "cfg-if",
 304+ "cfg-if 1.0.0",
 305 ]
 306 
 307 [[package]]
 308@@ -368,6 +582,83 @@  "typenum",
 309 ]
 310 
 311 [[package]]
 312+name = "darling"
 313+version = "0.12.4"
 314+source = "registry+https://github.com/rust-lang/crates.io-index"
 315+checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
 316+dependencies = [
 317+ "darling_core",
 318+ "darling_macro",
 319+]
 320+
 321+[[package]]
 322+name = "darling_core"
 323+version = "0.12.4"
 324+source = "registry+https://github.com/rust-lang/crates.io-index"
 325+checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36"
 326+dependencies = [
 327+ "fnv",
 328+ "ident_case",
 329+ "proc-macro2",
 330+ "quote",
 331+ "strsim 0.10.0",
 332+ "syn",
 333+]
 334+
 335+[[package]]
 336+name = "darling_macro"
 337+version = "0.12.4"
 338+source = "registry+https://github.com/rust-lang/crates.io-index"
 339+checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
 340+dependencies = [
 341+ "darling_core",
 342+ "quote",
 343+ "syn",
 344+]
 345+
 346+[[package]]
 347+name = "derivative"
 348+version = "2.2.0"
 349+source = "registry+https://github.com/rust-lang/crates.io-index"
 350+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 351+dependencies = [
 352+ "proc-macro2",
 353+ "quote",
 354+ "syn",
 355+]
 356+
 357+[[package]]
 358+name = "derive_builder"
 359+version = "0.10.2"
 360+source = "registry+https://github.com/rust-lang/crates.io-index"
 361+checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
 362+dependencies = [
 363+ "derive_builder_macro",
 364+]
 365+
 366+[[package]]
 367+name = "derive_builder_core"
 368+version = "0.10.2"
 369+source = "registry+https://github.com/rust-lang/crates.io-index"
 370+checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
 371+dependencies = [
 372+ "darling",
 373+ "proc-macro2",
 374+ "quote",
 375+ "syn",
 376+]
 377+
 378+[[package]]
 379+name = "derive_builder_macro"
 380+version = "0.10.2"
 381+source = "registry+https://github.com/rust-lang/crates.io-index"
 382+checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
 383+dependencies = [
 384+ "derive_builder_core",
 385+ "syn",
 386+]
 387+
 388+[[package]]
 389 name = "derive_more"
 390 version = "0.99.17"
 391 source = "registry+https://github.com/rust-lang/crates.io-index"
 392@@ -400,12 +691,102 @@  "crypto-common",
 393 ]
 394 
 395 [[package]]
 396+name = "dirs"
 397+version = "2.0.2"
 398+source = "registry+https://github.com/rust-lang/crates.io-index"
 399+checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 400+dependencies = [
 401+ "cfg-if 0.1.10",
 402+ "dirs-sys",
 403+]
 404+
 405+[[package]]
 406+name = "dirs-next"
 407+version = "2.0.0"
 408+source = "registry+https://github.com/rust-lang/crates.io-index"
 409+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
 410+dependencies = [
 411+ "cfg-if 1.0.0",
 412+ "dirs-sys-next",
 413+]
 414+
 415+[[package]]
 416+name = "dirs-sys"
 417+version = "0.3.7"
 418+source = "registry+https://github.com/rust-lang/crates.io-index"
 419+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
 420+dependencies = [
 421+ "libc",
 422+ "redox_users",
 423+ "winapi 0.3.9",
 424+]
 425+
 426+[[package]]
 427+name = "dirs-sys-next"
 428+version = "0.1.2"
 429+source = "registry+https://github.com/rust-lang/crates.io-index"
 430+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
 431+dependencies = [
 432+ "libc",
 433+ "redox_users",
 434+ "winapi 0.3.9",
 435+]
 436+
 437+[[package]]
 438+name = "easy-parallel"
 439+version = "3.2.0"
 440+source = "registry+https://github.com/rust-lang/crates.io-index"
 441+checksum = "6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946"
 442+
 443+[[package]]
 444+name = "either"
 445+version = "1.6.1"
 446+source = "registry+https://github.com/rust-lang/crates.io-index"
 447+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
 448+
 449+[[package]]
 450 name = "encoding_rs"
 451 version = "0.8.31"
 452 source = "registry+https://github.com/rust-lang/crates.io-index"
 453 checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
 454 dependencies = [
 455- "cfg-if",
 456+ "cfg-if 1.0.0",
 457+]
 458+
 459+[[package]]
 460+name = "enumflags2"
 461+version = "0.7.5"
 462+source = "registry+https://github.com/rust-lang/crates.io-index"
 463+checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
 464+dependencies = [
 465+ "enumflags2_derive",
 466+ "serde",
 467+]
 468+
 469+[[package]]
 470+name = "enumflags2_derive"
 471+version = "0.7.4"
 472+source = "registry+https://github.com/rust-lang/crates.io-index"
 473+checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
 474+dependencies = [
 475+ "proc-macro2",
 476+ "quote",
 477+ "syn",
 478+]
 479+
 480+[[package]]
 481+name = "event-listener"
 482+version = "2.5.2"
 483+source = "registry+https://github.com/rust-lang/crates.io-index"
 484+checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
 485+
 486+[[package]]
 487+name = "fastrand"
 488+version = "1.7.0"
 489+source = "registry+https://github.com/rust-lang/crates.io-index"
 490+checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
 491+dependencies = [
 492+ "instant",
 493 ]
 494 
 495 [[package]]
 496@@ -414,10 +795,10 @@ version = "0.2.16"
 497 source = "registry+https://github.com/rust-lang/crates.io-index"
 498 checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c"
 499 dependencies = [
 500- "cfg-if",
 501+ "cfg-if 1.0.0",
 502  "libc",
 503  "redox_syscall",
 504- "winapi",
 505+ "winapi 0.3.9",
 506 ]
 507 
 508 [[package]]
 509@@ -432,7 +813,7 @@ version = "1.0.23"
 510 source = "registry+https://github.com/rust-lang/crates.io-index"
 511 checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af"
 512 dependencies = [
 513- "cfg-if",
 514+ "cfg-if 1.0.0",
 515  "crc32fast",
 516  "libc",
 517  "miniz_oxide",
 518@@ -455,6 +836,41 @@  "percent-encoding",
 519 ]
 520 
 521 [[package]]
 522+name = "fsevent"
 523+version = "0.4.0"
 524+source = "registry+https://github.com/rust-lang/crates.io-index"
 525+checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
 526+dependencies = [
 527+ "bitflags",
 528+ "fsevent-sys",
 529+]
 530+
 531+[[package]]
 532+name = "fsevent-sys"
 533+version = "2.0.1"
 534+source = "registry+https://github.com/rust-lang/crates.io-index"
 535+checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
 536+dependencies = [
 537+ "libc",
 538+]
 539+
 540+[[package]]
 541+name = "fuchsia-zircon"
 542+version = "0.3.3"
 543+source = "registry+https://github.com/rust-lang/crates.io-index"
 544+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
 545+dependencies = [
 546+ "bitflags",
 547+ "fuchsia-zircon-sys",
 548+]
 549+
 550+[[package]]
 551+name = "fuchsia-zircon-sys"
 552+version = "0.3.3"
 553+source = "registry+https://github.com/rust-lang/crates.io-index"
 554+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
 555+
 556+[[package]]
 557 name = "futures-channel"
 558 version = "0.3.21"
 559 source = "registry+https://github.com/rust-lang/crates.io-index"
 560@@ -470,6 +886,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 561 checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
 562 
 563 [[package]]
 564+name = "futures-io"
 565+version = "0.3.21"
 566+source = "registry+https://github.com/rust-lang/crates.io-index"
 567+checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
 568+
 569+[[package]]
 570+name = "futures-lite"
 571+version = "1.12.0"
 572+source = "registry+https://github.com/rust-lang/crates.io-index"
 573+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
 574+dependencies = [
 575+ "fastrand",
 576+ "futures-core",
 577+ "futures-io",
 578+ "memchr",
 579+ "parking",
 580+ "pin-project-lite",
 581+ "waker-fn",
 582+]
 583+
 584+[[package]]
 585 name = "futures-sink"
 586 version = "0.3.21"
 587 source = "registry+https://github.com/rust-lang/crates.io-index"
 588@@ -488,9 +925,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 589 checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
 590 dependencies = [
 591  "futures-core",
 592+ "futures-sink",
 593  "futures-task",
 594  "pin-project-lite",
 595  "pin-utils",
 596+ "slab",
 597 ]
 598 
 599 [[package]]
 600@@ -505,16 +944,46 @@ ]
 601 
 602 [[package]]
 603 name = "getrandom"
 604+version = "0.1.16"
 605+source = "registry+https://github.com/rust-lang/crates.io-index"
 606+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
 607+dependencies = [
 608+ "cfg-if 1.0.0",
 609+ "libc",
 610+ "wasi 0.9.0+wasi-snapshot-preview1",
 611+]
 612+
 613+[[package]]
 614+name = "getrandom"
 615 version = "0.2.6"
 616 source = "registry+https://github.com/rust-lang/crates.io-index"
 617 checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
 618 dependencies = [
 619- "cfg-if",
 620+ "cfg-if 1.0.0",
 621  "libc",
 622  "wasi 0.10.0+wasi-snapshot-preview1",
 623 ]
 624 
 625 [[package]]
 626+name = "glob"
 627+version = "0.3.0"
 628+source = "registry+https://github.com/rust-lang/crates.io-index"
 629+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 630+
 631+[[package]]
 632+name = "globset"
 633+version = "0.4.6"
 634+source = "registry+https://github.com/rust-lang/crates.io-index"
 635+checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a"
 636+dependencies = [
 637+ "aho-corasick",
 638+ "bstr",
 639+ "fnv",
 640+ "log",
 641+ "regex",
 642+]
 643+
 644+[[package]]
 645 name = "h2"
 646 version = "0.3.13"
 647 source = "registry+https://github.com/rust-lang/crates.io-index"
 648@@ -540,6 +1009,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 649 checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
 650 
 651 [[package]]
 652+name = "heck"
 653+version = "0.3.3"
 654+source = "registry+https://github.com/rust-lang/crates.io-index"
 655+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
 656+dependencies = [
 657+ "unicode-segmentation",
 658+]
 659+
 660+[[package]]
 661 name = "hermit-abi"
 662 version = "0.1.19"
 663 source = "registry+https://github.com/rust-lang/crates.io-index"
 664@@ -549,12 +1027,18 @@  "libc",
 665 ]
 666 
 667 [[package]]
 668+name = "hex"
 669+version = "0.4.3"
 670+source = "registry+https://github.com/rust-lang/crates.io-index"
 671+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 672+
 673+[[package]]
 674 name = "home"
 675 version = "0.5.3"
 676 source = "registry+https://github.com/rust-lang/crates.io-index"
 677 checksum = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654"
 678 dependencies = [
 679- "winapi",
 680+ "winapi 0.3.9",
 681 ]
 682 
 683 [[package]]
 684@@ -616,6 +1100,12 @@  "want",
 685 ]
 686 
 687 [[package]]
 688+name = "ident_case"
 689+version = "1.0.1"
 690+source = "registry+https://github.com/rust-lang/crates.io-index"
 691+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 692+
 693+[[package]]
 694 name = "idna"
 695 version = "0.2.3"
 696 source = "registry+https://github.com/rust-lang/crates.io-index"
 697@@ -637,6 +1127,44 @@  "hashbrown",
 698 ]
 699 
 700 [[package]]
 701+name = "inotify"
 702+version = "0.7.1"
 703+source = "registry+https://github.com/rust-lang/crates.io-index"
 704+checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
 705+dependencies = [
 706+ "bitflags",
 707+ "inotify-sys",
 708+ "libc",
 709+]
 710+
 711+[[package]]
 712+name = "inotify-sys"
 713+version = "0.1.5"
 714+source = "registry+https://github.com/rust-lang/crates.io-index"
 715+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
 716+dependencies = [
 717+ "libc",
 718+]
 719+
 720+[[package]]
 721+name = "instant"
 722+version = "0.1.12"
 723+source = "registry+https://github.com/rust-lang/crates.io-index"
 724+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 725+dependencies = [
 726+ "cfg-if 1.0.0",
 727+]
 728+
 729+[[package]]
 730+name = "iovec"
 731+version = "0.1.4"
 732+source = "registry+https://github.com/rust-lang/crates.io-index"
 733+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
 734+dependencies = [
 735+ "libc",
 736+]
 737+
 738+[[package]]
 739 name = "itoa"
 740 version = "1.0.1"
 741 source = "registry+https://github.com/rust-lang/crates.io-index"
 742@@ -658,6 +1186,16 @@  "libc",
 743 ]
 744 
 745 [[package]]
 746+name = "kernel32-sys"
 747+version = "0.2.2"
 748+source = "registry+https://github.com/rust-lang/crates.io-index"
 749+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
 750+dependencies = [
 751+ "winapi 0.2.8",
 752+ "winapi-build",
 753+]
 754+
 755+[[package]]
 756 name = "language-tags"
 757 version = "0.3.2"
 758 source = "registry+https://github.com/rust-lang/crates.io-index"
 759@@ -668,6 +1206,12 @@ name = "lazy_static"
 760 version = "1.4.0"
 761 source = "registry+https://github.com/rust-lang/crates.io-index"
 762 checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 763+
 764+[[package]]
 765+name = "lazycell"
 766+version = "1.3.0"
 767+source = "registry+https://github.com/rust-lang/crates.io-index"
 768+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 769 
 770 [[package]]
 771 name = "libc"
 772@@ -709,7 +1253,20 @@ version = "0.4.17"
 773 source = "registry+https://github.com/rust-lang/crates.io-index"
 774 checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 775 dependencies = [
 776- "cfg-if",
 777+ "cfg-if 1.0.0",
 778+]
 779+
 780+[[package]]
 781+name = "mac-notification-sys"
 782+version = "0.5.0"
 783+source = "registry+https://github.com/rust-lang/crates.io-index"
 784+checksum = "297c13fc8ff9fa8b2d0e53850f80e0aa962628e865d447031ce58cdb062e5b29"
 785+dependencies = [
 786+ "cc",
 787+ "dirs-next",
 788+ "objc-foundation",
 789+ "objc_id",
 790+ "time 0.3.9",
 791 ]
 792 
 793 [[package]]
 794@@ -717,6 +1274,7 @@ name = "macroblog"
 795 version = "0.1.0"
 796 dependencies = [
 797  "actix-web",
 798+ "cargo-watch",
 799  "chrono",
 800  "hyper",
 801  "regex",
 802@@ -726,6 +1284,15 @@  "tokio",
 803 ]
 804 
 805 [[package]]
 806+name = "malloc_buf"
 807+version = "0.0.6"
 808+source = "registry+https://github.com/rust-lang/crates.io-index"
 809+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
 810+dependencies = [
 811+ "libc",
 812+]
 813+
 814+[[package]]
 815 name = "matches"
 816 version = "0.1.9"
 817 source = "registry+https://github.com/rust-lang/crates.io-index"
 818@@ -738,6 +1305,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 819 checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 820 
 821 [[package]]
 822+name = "memoffset"
 823+version = "0.6.5"
 824+source = "registry+https://github.com/rust-lang/crates.io-index"
 825+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
 826+dependencies = [
 827+ "autocfg",
 828+]
 829+
 830+[[package]]
 831 name = "mime"
 832 version = "0.3.16"
 833 source = "registry+https://github.com/rust-lang/crates.io-index"
 834@@ -754,16 +1330,59 @@ ]
 835 
 836 [[package]]
 837 name = "mio"
 838+version = "0.6.23"
 839+source = "registry+https://github.com/rust-lang/crates.io-index"
 840+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
 841+dependencies = [
 842+ "cfg-if 0.1.10",
 843+ "fuchsia-zircon",
 844+ "fuchsia-zircon-sys",
 845+ "iovec",
 846+ "kernel32-sys",
 847+ "libc",
 848+ "log",
 849+ "miow 0.2.2",
 850+ "net2",
 851+ "slab",
 852+ "winapi 0.2.8",
 853+]
 854+
 855+[[package]]
 856+name = "mio"
 857 version = "0.8.2"
 858 source = "registry+https://github.com/rust-lang/crates.io-index"
 859 checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9"
 860 dependencies = [
 861  "libc",
 862  "log",
 863- "miow",
 864+ "miow 0.3.7",
 865  "ntapi",
 866  "wasi 0.11.0+wasi-snapshot-preview1",
 867- "winapi",
 868+ "winapi 0.3.9",
 869+]
 870+
 871+[[package]]
 872+name = "mio-extras"
 873+version = "2.0.6"
 874+source = "registry+https://github.com/rust-lang/crates.io-index"
 875+checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
 876+dependencies = [
 877+ "lazycell",
 878+ "log",
 879+ "mio 0.6.23",
 880+ "slab",
 881+]
 882+
 883+[[package]]
 884+name = "miow"
 885+version = "0.2.2"
 886+source = "registry+https://github.com/rust-lang/crates.io-index"
 887+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
 888+dependencies = [
 889+ "kernel32-sys",
 890+ "net2",
 891+ "winapi 0.2.8",
 892+ "ws2_32-sys",
 893 ]
 894 
 895 [[package]]
 896@@ -772,7 +1391,86 @@ version = "0.3.7"
 897 source = "registry+https://github.com/rust-lang/crates.io-index"
 898 checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
 899 dependencies = [
 900- "winapi",
 901+ "winapi 0.3.9",
 902+]
 903+
 904+[[package]]
 905+name = "net2"
 906+version = "0.2.37"
 907+source = "registry+https://github.com/rust-lang/crates.io-index"
 908+checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
 909+dependencies = [
 910+ "cfg-if 0.1.10",
 911+ "libc",
 912+ "winapi 0.3.9",
 913+]
 914+
 915+[[package]]
 916+name = "nix"
 917+version = "0.22.3"
 918+source = "registry+https://github.com/rust-lang/crates.io-index"
 919+checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
 920+dependencies = [
 921+ "bitflags",
 922+ "cc",
 923+ "cfg-if 1.0.0",
 924+ "libc",
 925+ "memoffset",
 926+]
 927+
 928+[[package]]
 929+name = "nix"
 930+version = "0.23.1"
 931+source = "registry+https://github.com/rust-lang/crates.io-index"
 932+checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
 933+dependencies = [
 934+ "bitflags",
 935+ "cc",
 936+ "cfg-if 1.0.0",
 937+ "libc",
 938+ "memoffset",
 939+]
 940+
 941+[[package]]
 942+name = "nom"
 943+version = "5.1.2"
 944+source = "registry+https://github.com/rust-lang/crates.io-index"
 945+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 946+dependencies = [
 947+ "memchr",
 948+ "version_check",
 949+]
 950+
 951+[[package]]
 952+name = "notify"
 953+version = "4.0.17"
 954+source = "registry+https://github.com/rust-lang/crates.io-index"
 955+checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
 956+dependencies = [
 957+ "bitflags",
 958+ "filetime",
 959+ "fsevent",
 960+ "fsevent-sys",
 961+ "inotify",
 962+ "libc",
 963+ "mio 0.6.23",
 964+ "mio-extras",
 965+ "walkdir",
 966+ "winapi 0.3.9",
 967+]
 968+
 969+[[package]]
 970+name = "notify-rust"
 971+version = "4.5.8"
 972+source = "registry+https://github.com/rust-lang/crates.io-index"
 973+checksum = "a995a3d2834cefa389218e7a35156e8ce544bc95f836900da01ee0b26a07e9d4"
 974+dependencies = [
 975+ "mac-notification-sys",
 976+ "serde",
 977+ "winrt-notification",
 978+ "zbus",
 979+ "zvariant",
 980+ "zvariant_derive",
 981 ]
 982 
 983 [[package]]
 984@@ -781,7 +1479,7 @@ version = "0.3.7"
 985 source = "registry+https://github.com/rust-lang/crates.io-index"
 986 checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
 987 dependencies = [
 988- "winapi",
 989+ "winapi 0.3.9",
 990 ]
 991 
 992 [[package]]
 993@@ -823,6 +1521,35 @@  "libc",
 994 ]
 995 
 996 [[package]]
 997+name = "objc"
 998+version = "0.2.7"
 999+source = "registry+https://github.com/rust-lang/crates.io-index"
1000+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
1001+dependencies = [
1002+ "malloc_buf",
1003+]
1004+
1005+[[package]]
1006+name = "objc-foundation"
1007+version = "0.1.1"
1008+source = "registry+https://github.com/rust-lang/crates.io-index"
1009+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
1010+dependencies = [
1011+ "block",
1012+ "objc",
1013+ "objc_id",
1014+]
1015+
1016+[[package]]
1017+name = "objc_id"
1018+version = "0.1.1"
1019+source = "registry+https://github.com/rust-lang/crates.io-index"
1020+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
1021+dependencies = [
1022+ "objc",
1023+]
1024+
1025+[[package]]
1026 name = "once_cell"
1027 version = "1.10.0"
1028 source = "registry+https://github.com/rust-lang/crates.io-index"
1029@@ -833,6 +1560,33 @@ name = "opaque-debug"
1030 version = "0.3.0"
1031 source = "registry+https://github.com/rust-lang/crates.io-index"
1032 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
1033+
1034+[[package]]
1035+name = "ordered-stream"
1036+version = "0.0.1"
1037+source = "registry+https://github.com/rust-lang/crates.io-index"
1038+checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1"
1039+dependencies = [
1040+ "futures-core",
1041+ "pin-project-lite",
1042+]
1043+
1044+[[package]]
1045+name = "parking"
1046+version = "2.0.0"
1047+source = "registry+https://github.com/rust-lang/crates.io-index"
1048+checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
1049+
1050+[[package]]
1051+name = "parking_lot"
1052+version = "0.11.2"
1053+source = "registry+https://github.com/rust-lang/crates.io-index"
1054+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
1055+dependencies = [
1056+ "instant",
1057+ "lock_api",
1058+ "parking_lot_core 0.8.5",
1059+]
1060 
1061 [[package]]
1062 name = "parking_lot"
1063@@ -841,7 +1595,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1064 checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
1065 dependencies = [
1066  "lock_api",
1067- "parking_lot_core",
1068+ "parking_lot_core 0.9.3",
1069+]
1070+
1071+[[package]]
1072+name = "parking_lot_core"
1073+version = "0.8.5"
1074+source = "registry+https://github.com/rust-lang/crates.io-index"
1075+checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
1076+dependencies = [
1077+ "cfg-if 1.0.0",
1078+ "instant",
1079+ "libc",
1080+ "redox_syscall",
1081+ "smallvec",
1082+ "winapi 0.3.9",
1083 ]
1084 
1085 [[package]]
1086@@ -850,7 +1618,7 @@ version = "0.9.3"
1087 source = "registry+https://github.com/rust-lang/crates.io-index"
1088 checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
1089 dependencies = [
1090- "cfg-if",
1091+ "cfg-if 1.0.0",
1092  "libc",
1093  "redox_syscall",
1094  "smallvec",
1095@@ -870,6 +1638,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1096 checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
1097 
1098 [[package]]
1099+name = "phf"
1100+version = "0.8.0"
1101+source = "registry+https://github.com/rust-lang/crates.io-index"
1102+checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
1103+dependencies = [
1104+ "phf_shared",
1105+]
1106+
1107+[[package]]
1108+name = "phf_codegen"
1109+version = "0.8.0"
1110+source = "registry+https://github.com/rust-lang/crates.io-index"
1111+checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
1112+dependencies = [
1113+ "phf_generator",
1114+ "phf_shared",
1115+]
1116+
1117+[[package]]
1118+name = "phf_generator"
1119+version = "0.8.0"
1120+source = "registry+https://github.com/rust-lang/crates.io-index"
1121+checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
1122+dependencies = [
1123+ "phf_shared",
1124+ "rand 0.7.3",
1125+]
1126+
1127+[[package]]
1128+name = "phf_shared"
1129+version = "0.8.0"
1130+source = "registry+https://github.com/rust-lang/crates.io-index"
1131+checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
1132+dependencies = [
1133+ "siphasher",
1134+]
1135+
1136+[[package]]
1137 name = "pin-project-lite"
1138 version = "0.2.9"
1139 source = "registry+https://github.com/rust-lang/crates.io-index"
1140@@ -882,12 +1688,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1141 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1142 
1143 [[package]]
1144+name = "polling"
1145+version = "2.2.0"
1146+source = "registry+https://github.com/rust-lang/crates.io-index"
1147+checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
1148+dependencies = [
1149+ "cfg-if 1.0.0",
1150+ "libc",
1151+ "log",
1152+ "wepoll-ffi",
1153+ "winapi 0.3.9",
1154+]
1155+
1156+[[package]]
1157 name = "ppv-lite86"
1158 version = "0.2.16"
1159 source = "registry+https://github.com/rust-lang/crates.io-index"
1160 checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
1161 
1162 [[package]]
1163+name = "proc-macro-crate"
1164+version = "1.1.3"
1165+source = "registry+https://github.com/rust-lang/crates.io-index"
1166+checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
1167+dependencies = [
1168+ "thiserror",
1169+ "toml",
1170+]
1171+
1172+[[package]]
1173 name = "proc-macro2"
1174 version = "1.0.36"
1175 source = "registry+https://github.com/rust-lang/crates.io-index"
1176@@ -907,13 +1736,37 @@ ]
1177 
1178 [[package]]
1179 name = "rand"
1180+version = "0.7.3"
1181+source = "registry+https://github.com/rust-lang/crates.io-index"
1182+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
1183+dependencies = [
1184+ "getrandom 0.1.16",
1185+ "libc",
1186+ "rand_chacha 0.2.2",
1187+ "rand_core 0.5.1",
1188+ "rand_hc",
1189+ "rand_pcg",
1190+]
1191+
1192+[[package]]
1193+name = "rand"
1194 version = "0.8.5"
1195 source = "registry+https://github.com/rust-lang/crates.io-index"
1196 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1197 dependencies = [
1198  "libc",
1199- "rand_chacha",
1200- "rand_core",
1201+ "rand_chacha 0.3.1",
1202+ "rand_core 0.6.3",
1203+]
1204+
1205+[[package]]
1206+name = "rand_chacha"
1207+version = "0.2.2"
1208+source = "registry+https://github.com/rust-lang/crates.io-index"
1209+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
1210+dependencies = [
1211+ "ppv-lite86",
1212+ "rand_core 0.5.1",
1213 ]
1214 
1215 [[package]]
1216@@ -923,7 +1776,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1217 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1218 dependencies = [
1219  "ppv-lite86",
1220- "rand_core",
1221+ "rand_core 0.6.3",
1222+]
1223+
1224+[[package]]
1225+name = "rand_core"
1226+version = "0.5.1"
1227+source = "registry+https://github.com/rust-lang/crates.io-index"
1228+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
1229+dependencies = [
1230+ "getrandom 0.1.16",
1231 ]
1232 
1233 [[package]]
1234@@ -932,7 +1794,25 @@ version = "0.6.3"
1235 source = "registry+https://github.com/rust-lang/crates.io-index"
1236 checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
1237 dependencies = [
1238- "getrandom",
1239+ "getrandom 0.2.6",
1240+]
1241+
1242+[[package]]
1243+name = "rand_hc"
1244+version = "0.2.0"
1245+source = "registry+https://github.com/rust-lang/crates.io-index"
1246+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
1247+dependencies = [
1248+ "rand_core 0.5.1",
1249+]
1250+
1251+[[package]]
1252+name = "rand_pcg"
1253+version = "0.2.1"
1254+source = "registry+https://github.com/rust-lang/crates.io-index"
1255+checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
1256+dependencies = [
1257+ "rand_core 0.5.1",
1258 ]
1259 
1260 [[package]]
1261@@ -945,6 +1825,17 @@  "bitflags",
1262 ]
1263 
1264 [[package]]
1265+name = "redox_users"
1266+version = "0.4.3"
1267+source = "registry+https://github.com/rust-lang/crates.io-index"
1268+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
1269+dependencies = [
1270+ "getrandom 0.2.6",
1271+ "redox_syscall",
1272+ "thiserror",
1273+]
1274+
1275+[[package]]
1276 name = "regex"
1277 version = "1.5.5"
1278 source = "registry+https://github.com/rust-lang/crates.io-index"
1279@@ -960,6 +1851,15 @@ name = "regex-syntax"
1280 version = "0.6.25"
1281 source = "registry+https://github.com/rust-lang/crates.io-index"
1282 checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
1283+
1284+[[package]]
1285+name = "remove_dir_all"
1286+version = "0.5.3"
1287+source = "registry+https://github.com/rust-lang/crates.io-index"
1288+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
1289+dependencies = [
1290+ "winapi 0.3.9",
1291+]
1292 
1293 [[package]]
1294 name = "rust-embed"
1295@@ -1101,6 +2001,17 @@  "serde",
1296 ]
1297 
1298 [[package]]
1299+name = "serde_repr"
1300+version = "0.1.8"
1301+source = "registry+https://github.com/rust-lang/crates.io-index"
1302+checksum = "a2ad84e47328a31223de7fed7a4f5087f2d6ddfe586cf3ca25b7a165bc0a5aed"
1303+dependencies = [
1304+ "proc-macro2",
1305+ "quote",
1306+ "syn",
1307+]
1308+
1309+[[package]]
1310 name = "serde_urlencoded"
1311 version = "0.7.1"
1312 source = "registry+https://github.com/rust-lang/crates.io-index"
1313@@ -1118,23 +2029,44 @@ version = "0.10.0"
1314 source = "registry+https://github.com/rust-lang/crates.io-index"
1315 checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
1316 dependencies = [
1317- "cfg-if",
1318+ "cfg-if 1.0.0",
1319  "cpufeatures",
1320  "digest 0.10.3",
1321 ]
1322 
1323 [[package]]
1324+name = "sha1"
1325+version = "0.6.1"
1326+source = "registry+https://github.com/rust-lang/crates.io-index"
1327+checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
1328+dependencies = [
1329+ "sha1_smol",
1330+]
1331+
1332+[[package]]
1333+name = "sha1_smol"
1334+version = "1.0.0"
1335+source = "registry+https://github.com/rust-lang/crates.io-index"
1336+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
1337+
1338+[[package]]
1339 name = "sha2"
1340 version = "0.9.9"
1341 source = "registry+https://github.com/rust-lang/crates.io-index"
1342 checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
1343 dependencies = [
1344  "block-buffer 0.9.0",
1345- "cfg-if",
1346+ "cfg-if 1.0.0",
1347  "cpufeatures",
1348  "digest 0.9.0",
1349  "opaque-debug",
1350 ]
1351+
1352+[[package]]
1353+name = "shell-escape"
1354+version = "0.1.5"
1355+source = "registry+https://github.com/rust-lang/crates.io-index"
1356+checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
1357 
1358 [[package]]
1359 name = "signal-hook-registry"
1360@@ -1146,6 +2078,12 @@  "libc",
1361 ]
1362 
1363 [[package]]
1364+name = "siphasher"
1365+version = "0.3.10"
1366+source = "registry+https://github.com/rust-lang/crates.io-index"
1367+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
1368+
1369+[[package]]
1370 name = "slab"
1371 version = "0.4.6"
1372 source = "registry+https://github.com/rust-lang/crates.io-index"
1373@@ -1164,7 +2102,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1374 checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
1375 dependencies = [
1376  "libc",
1377- "winapi",
1378+ "winapi 0.3.9",
1379+]
1380+
1381+[[package]]
1382+name = "static_assertions"
1383+version = "1.1.0"
1384+source = "registry+https://github.com/rust-lang/crates.io-index"
1385+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
1386+
1387+[[package]]
1388+name = "stderrlog"
1389+version = "0.5.1"
1390+source = "registry+https://github.com/rust-lang/crates.io-index"
1391+checksum = "45a53e2eff3e94a019afa6265e8ee04cb05b9d33fe9f5078b14e4e391d155a38"
1392+dependencies = [
1393+ "atty",
1394+ "chrono",
1395+ "log",
1396+ "termcolor",
1397+ "thread_local",
1398+]
1399+
1400+[[package]]
1401+name = "strsim"
1402+version = "0.8.0"
1403+source = "registry+https://github.com/rust-lang/crates.io-index"
1404+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
1405+
1406+[[package]]
1407+name = "strsim"
1408+version = "0.10.0"
1409+source = "registry+https://github.com/rust-lang/crates.io-index"
1410+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
1411+
1412+[[package]]
1413+name = "strum"
1414+version = "0.22.0"
1415+source = "registry+https://github.com/rust-lang/crates.io-index"
1416+checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
1417+dependencies = [
1418+ "strum_macros",
1419+]
1420+
1421+[[package]]
1422+name = "strum_macros"
1423+version = "0.22.0"
1424+source = "registry+https://github.com/rust-lang/crates.io-index"
1425+checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
1426+dependencies = [
1427+ "heck",
1428+ "proc-macro2",
1429+ "quote",
1430+ "syn",
1431 ]
1432 
1433 [[package]]
1434@@ -1179,6 +2169,80 @@  "unicode-xid",
1435 ]
1436 
1437 [[package]]
1438+name = "tempfile"
1439+version = "3.3.0"
1440+source = "registry+https://github.com/rust-lang/crates.io-index"
1441+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
1442+dependencies = [
1443+ "cfg-if 1.0.0",
1444+ "fastrand",
1445+ "libc",
1446+ "redox_syscall",
1447+ "remove_dir_all",
1448+ "winapi 0.3.9",
1449+]
1450+
1451+[[package]]
1452+name = "termcolor"
1453+version = "1.1.3"
1454+source = "registry+https://github.com/rust-lang/crates.io-index"
1455+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
1456+dependencies = [
1457+ "winapi-util",
1458+]
1459+
1460+[[package]]
1461+name = "terminfo"
1462+version = "0.7.3"
1463+source = "registry+https://github.com/rust-lang/crates.io-index"
1464+checksum = "76971977e6121664ec1b960d1313aacfa75642adc93b9d4d53b247bd4cb1747e"
1465+dependencies = [
1466+ "dirs",
1467+ "fnv",
1468+ "nom",
1469+ "phf",
1470+ "phf_codegen",
1471+]
1472+
1473+[[package]]
1474+name = "textwrap"
1475+version = "0.11.0"
1476+source = "registry+https://github.com/rust-lang/crates.io-index"
1477+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
1478+dependencies = [
1479+ "unicode-width",
1480+]
1481+
1482+[[package]]
1483+name = "thiserror"
1484+version = "1.0.31"
1485+source = "registry+https://github.com/rust-lang/crates.io-index"
1486+checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
1487+dependencies = [
1488+ "thiserror-impl",
1489+]
1490+
1491+[[package]]
1492+name = "thiserror-impl"
1493+version = "1.0.31"
1494+source = "registry+https://github.com/rust-lang/crates.io-index"
1495+checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
1496+dependencies = [
1497+ "proc-macro2",
1498+ "quote",
1499+ "syn",
1500+]
1501+
1502+[[package]]
1503+name = "thread_local"
1504+version = "1.0.1"
1505+source = "registry+https://github.com/rust-lang/crates.io-index"
1506+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
1507+dependencies = [
1508+ "lazy_static",
1509+]
1510+
1511+[[package]]
1512 name = "time"
1513 version = "0.1.44"
1514 source = "registry+https://github.com/rust-lang/crates.io-index"
1515@@ -1186,7 +2250,7 @@ checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
1516 dependencies = [
1517  "libc",
1518  "wasi 0.10.0+wasi-snapshot-preview1",
1519- "winapi",
1520+ "winapi 0.3.9",
1521 ]
1522 
1523 [[package]]
1524@@ -1231,15 +2295,15 @@ dependencies = [
1525  "bytes",
1526  "libc",
1527  "memchr",
1528- "mio",
1529+ "mio 0.8.2",
1530  "num_cpus",
1531  "once_cell",
1532- "parking_lot",
1533+ "parking_lot 0.12.0",
1534  "pin-project-lite",
1535  "signal-hook-registry",
1536  "socket2",
1537  "tokio-macros",
1538- "winapi",
1539+ "winapi 0.3.9",
1540 ]
1541 
1542 [[package]]
1543@@ -1288,7 +2352,7 @@ version = "0.1.34"
1544 source = "registry+https://github.com/rust-lang/crates.io-index"
1545 checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09"
1546 dependencies = [
1547- "cfg-if",
1548+ "cfg-if 1.0.0",
1549  "log",
1550  "pin-project-lite",
1551  "tracing-attributes",
1552@@ -1328,6 +2392,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1553 checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
1554 
1555 [[package]]
1556+name = "uds_windows"
1557+version = "1.0.2"
1558+source = "registry+https://github.com/rust-lang/crates.io-index"
1559+checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
1560+dependencies = [
1561+ "tempfile",
1562+ "winapi 0.3.9",
1563+]
1564+
1565+[[package]]
1566 name = "unicode-bidi"
1567 version = "0.3.8"
1568 source = "registry+https://github.com/rust-lang/crates.io-index"
1569@@ -1343,6 +2417,18 @@  "tinyvec",
1570 ]
1571 
1572 [[package]]
1573+name = "unicode-segmentation"
1574+version = "1.9.0"
1575+source = "registry+https://github.com/rust-lang/crates.io-index"
1576+checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
1577+
1578+[[package]]
1579+name = "unicode-width"
1580+version = "0.1.9"
1581+source = "registry+https://github.com/rust-lang/crates.io-index"
1582+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
1583+
1584+[[package]]
1585 name = "unicode-xid"
1586 version = "0.2.3"
1587 source = "registry+https://github.com/rust-lang/crates.io-index"
1588@@ -1361,19 +2447,31 @@  "percent-encoding",
1589 ]
1590 
1591 [[package]]
1592+name = "vec_map"
1593+version = "0.8.2"
1594+source = "registry+https://github.com/rust-lang/crates.io-index"
1595+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
1596+
1597+[[package]]
1598 name = "version_check"
1599 version = "0.9.4"
1600 source = "registry+https://github.com/rust-lang/crates.io-index"
1601 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1602 
1603 [[package]]
1604+name = "waker-fn"
1605+version = "1.1.0"
1606+source = "registry+https://github.com/rust-lang/crates.io-index"
1607+checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
1608+
1609+[[package]]
1610 name = "walkdir"
1611 version = "2.3.2"
1612 source = "registry+https://github.com/rust-lang/crates.io-index"
1613 checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
1614 dependencies = [
1615  "same-file",
1616- "winapi",
1617+ "winapi 0.3.9",
1618  "winapi-util",
1619 ]
1620 
1621@@ -1389,6 +2487,12 @@ ]
1622 
1623 [[package]]
1624 name = "wasi"
1625+version = "0.9.0+wasi-snapshot-preview1"
1626+source = "registry+https://github.com/rust-lang/crates.io-index"
1627+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
1628+
1629+[[package]]
1630+name = "wasi"
1631 version = "0.10.0+wasi-snapshot-preview1"
1632 source = "registry+https://github.com/rust-lang/crates.io-index"
1633 checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
1634@@ -1400,6 +2504,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1635 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1636 
1637 [[package]]
1638+name = "watchexec"
1639+version = "1.17.1"
1640+source = "registry+https://github.com/rust-lang/crates.io-index"
1641+checksum = "c52e0868bc57765fa91593a173323f464855e53b27f779e1110ba0fb4cb6b406"
1642+dependencies = [
1643+ "clearscreen",
1644+ "command-group",
1645+ "derive_builder",
1646+ "glob",
1647+ "globset",
1648+ "lazy_static",
1649+ "log",
1650+ "nix 0.22.3",
1651+ "notify",
1652+ "walkdir",
1653+ "winapi 0.3.9",
1654+]
1655+
1656+[[package]]
1657+name = "wepoll-ffi"
1658+version = "0.1.2"
1659+source = "registry+https://github.com/rust-lang/crates.io-index"
1660+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
1661+dependencies = [
1662+ "cc",
1663+]
1664+
1665+[[package]]
1666+name = "which"
1667+version = "4.2.5"
1668+source = "registry+https://github.com/rust-lang/crates.io-index"
1669+checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
1670+dependencies = [
1671+ "either",
1672+ "lazy_static",
1673+ "libc",
1674+]
1675+
1676+[[package]]
1677+name = "winapi"
1678+version = "0.2.8"
1679+source = "registry+https://github.com/rust-lang/crates.io-index"
1680+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
1681+
1682+[[package]]
1683 name = "winapi"
1684 version = "0.3.9"
1685 source = "registry+https://github.com/rust-lang/crates.io-index"
1686@@ -1408,6 +2557,12 @@ dependencies = [
1687  "winapi-i686-pc-windows-gnu",
1688  "winapi-x86_64-pc-windows-gnu",
1689 ]
1690+
1691+[[package]]
1692+name = "winapi-build"
1693+version = "0.1.1"
1694+source = "registry+https://github.com/rust-lang/crates.io-index"
1695+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
1696 
1697 [[package]]
1698 name = "winapi-i686-pc-windows-gnu"
1699@@ -1421,7 +2576,7 @@ version = "0.1.5"
1700 source = "registry+https://github.com/rust-lang/crates.io-index"
1701 checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
1702 dependencies = [
1703- "winapi",
1704+ "winapi 0.3.9",
1705 ]
1706 
1707 [[package]]
1708@@ -1431,16 +2586,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1709 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1710 
1711 [[package]]
1712+name = "windows"
1713+version = "0.24.0"
1714+source = "registry+https://github.com/rust-lang/crates.io-index"
1715+checksum = "a9f39345ae0c8ab072c0ac7fe8a8b411636aa34f89be19ddd0d9226544f13944"
1716+dependencies = [
1717+ "windows_i686_gnu 0.24.0",
1718+ "windows_i686_msvc 0.24.0",
1719+ "windows_x86_64_gnu 0.24.0",
1720+ "windows_x86_64_msvc 0.24.0",
1721+]
1722+
1723+[[package]]
1724 name = "windows-sys"
1725 version = "0.36.1"
1726 source = "registry+https://github.com/rust-lang/crates.io-index"
1727 checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
1728 dependencies = [
1729  "windows_aarch64_msvc",
1730- "windows_i686_gnu",
1731- "windows_i686_msvc",
1732- "windows_x86_64_gnu",
1733- "windows_x86_64_msvc",
1734+ "windows_i686_gnu 0.36.1",
1735+ "windows_i686_msvc 0.36.1",
1736+ "windows_x86_64_gnu 0.36.1",
1737+ "windows_x86_64_msvc 0.36.1",
1738 ]
1739 
1740 [[package]]
1741@@ -1451,29 +2618,142 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
1742 
1743 [[package]]
1744 name = "windows_i686_gnu"
1745+version = "0.24.0"
1746+source = "registry+https://github.com/rust-lang/crates.io-index"
1747+checksum = "c0866510a3eca9aed73a077490bbbf03e5eaac4e1fd70849d89539e5830501fd"
1748+
1749+[[package]]
1750+name = "windows_i686_gnu"
1751 version = "0.36.1"
1752 source = "registry+https://github.com/rust-lang/crates.io-index"
1753 checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
1754 
1755 [[package]]
1756 name = "windows_i686_msvc"
1757+version = "0.24.0"
1758+source = "registry+https://github.com/rust-lang/crates.io-index"
1759+checksum = "bf0ffed56b7e9369a29078d2ab3aaeceea48eb58999d2cff3aa2494a275b95c6"
1760+
1761+[[package]]
1762+name = "windows_i686_msvc"
1763 version = "0.36.1"
1764 source = "registry+https://github.com/rust-lang/crates.io-index"
1765 checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
1766 
1767 [[package]]
1768 name = "windows_x86_64_gnu"
1769+version = "0.24.0"
1770+source = "registry+https://github.com/rust-lang/crates.io-index"
1771+checksum = "384a173630588044205a2993b6864a2f56e5a8c1e7668c07b93ec18cf4888dc4"
1772+
1773+[[package]]
1774+name = "windows_x86_64_gnu"
1775 version = "0.36.1"
1776 source = "registry+https://github.com/rust-lang/crates.io-index"
1777 checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
1778 
1779 [[package]]
1780 name = "windows_x86_64_msvc"
1781+version = "0.24.0"
1782+source = "registry+https://github.com/rust-lang/crates.io-index"
1783+checksum = "9bd8f062d8ca5446358159d79a90be12c543b3a965c847c8f3eedf14b321d399"
1784+
1785+[[package]]
1786+name = "windows_x86_64_msvc"
1787 version = "0.36.1"
1788 source = "registry+https://github.com/rust-lang/crates.io-index"
1789 checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
1790 
1791 [[package]]
1792+name = "winrt-notification"
1793+version = "0.5.1"
1794+source = "registry+https://github.com/rust-lang/crates.io-index"
1795+checksum = "007a0353840b23e0c6dc73e5b962ff58ed7f6bc9ceff3ce7fe6fbad8d496edf4"
1796+dependencies = [
1797+ "strum",
1798+ "windows",
1799+ "xml-rs",
1800+]
1801+
1802+[[package]]
1803+name = "ws2_32-sys"
1804+version = "0.2.1"
1805+source = "registry+https://github.com/rust-lang/crates.io-index"
1806+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
1807+dependencies = [
1808+ "winapi 0.2.8",
1809+ "winapi-build",
1810+]
1811+
1812+[[package]]
1813+name = "xml-rs"
1814+version = "0.8.4"
1815+source = "registry+https://github.com/rust-lang/crates.io-index"
1816+checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
1817+
1818+[[package]]
1819+name = "zbus"
1820+version = "2.2.0"
1821+source = "registry+https://github.com/rust-lang/crates.io-index"
1822+checksum = "53819092b9db813b2c6168b097b4b13ad284d81c9f2b0165a0a1b190e505a1f3"
1823+dependencies = [
1824+ "async-broadcast",
1825+ "async-channel",
1826+ "async-executor",
1827+ "async-io",
1828+ "async-lock",
1829+ "async-recursion",
1830+ "async-task",
1831+ "async-trait",
1832+ "byteorder",
1833+ "derivative",
1834+ "enumflags2",
1835+ "event-listener",
1836+ "futures-core",
1837+ "futures-sink",
1838+ "futures-util",
1839+ "hex",
1840+ "lazy_static",
1841+ "nix 0.23.1",
1842+ "once_cell",
1843+ "ordered-stream",
1844+ "rand 0.8.5",
1845+ "serde",
1846+ "serde_repr",
1847+ "sha1",
1848+ "static_assertions",
1849+ "uds_windows",
1850+ "winapi 0.3.9",
1851+ "zbus_macros",
1852+ "zbus_names",
1853+ "zvariant",
1854+]
1855+
1856+[[package]]
1857+name = "zbus_macros"
1858+version = "2.2.0"
1859+source = "registry+https://github.com/rust-lang/crates.io-index"
1860+checksum = "c7174ebe6722c280d6d132d694bb5664ce50a788cb70eeb518e7fc1ca095a114"
1861+dependencies = [
1862+ "proc-macro-crate",
1863+ "proc-macro2",
1864+ "quote",
1865+ "regex",
1866+ "syn",
1867+]
1868+
1869+[[package]]
1870+name = "zbus_names"
1871+version = "2.1.0"
1872+source = "registry+https://github.com/rust-lang/crates.io-index"
1873+checksum = "45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1"
1874+dependencies = [
1875+ "serde",
1876+ "static_assertions",
1877+ "zvariant",
1878+]
1879+
1880+[[package]]
1881 name = "zstd"
1882 version = "0.10.2+zstd.1.5.2"
1883 source = "registry+https://github.com/rust-lang/crates.io-index"
1884@@ -1501,3 +2781,29 @@ dependencies = [
1885  "cc",
1886  "libc",
1887 ]
1888+
1889+[[package]]
1890+name = "zvariant"
1891+version = "3.2.1"
1892+source = "registry+https://github.com/rust-lang/crates.io-index"
1893+checksum = "cbd1abd8bc2c855412b9c8af9fc11c0d695c73c732ad5a1a1be10f3fd4bf19b2"
1894+dependencies = [
1895+ "byteorder",
1896+ "enumflags2",
1897+ "libc",
1898+ "serde",
1899+ "static_assertions",
1900+ "zvariant_derive",
1901+]
1902+
1903+[[package]]
1904+name = "zvariant_derive"
1905+version = "3.2.1"
1906+source = "registry+https://github.com/rust-lang/crates.io-index"
1907+checksum = "abebd57382dfacf3e7bbdd7b7c3d162d6ed0687a78f046263ddef4ddabc275ae"
1908+dependencies = [
1909+ "proc-macro-crate",
1910+ "proc-macro2",
1911+ "quote",
1912+ "syn",
1913+]
1914diff --git a/Cargo.toml b/Cargo.toml
1915index 886081f508afde49126f89ec2a9bfe11d94e5f7b..c91eedac7db5fe4c4400127f6ea37749d0cdd35c 100644
1916--- a/Cargo.toml
1917+++ b/Cargo.toml
1918@@ -12,6 +12,9 @@ rust-embed = "6.4.0"
1919 chrono = "0.4"
1920 actix-web = "4"
1921 
1922+[dev-dependencies]
1923+cargo-watch = "8.1.1"
1924+
1925 [profile.release]
1926 opt-level = 'z'
1927 lto = true
1928@@ -25,7 +28,6 @@ path="src/lib.rs"
1929 
1930 [[bin]]
1931 name = "hyper"
1932-
1933 
1934 [[bin]]
1935 name = "actix"
1936diff --git a/Procfile b/Procfile
1937index d574f7a41b4b7eb49a7592690dc00ef26fd2bbc8..51c4728eb99f1e7da51cd1de9cc2b6ef2d19578e 100644
1938--- a/Procfile
1939+++ b/Procfile
1940@@ -1 +1 @@
1941-web: ./target/release/hyper
1942+web: ./target/release/actix
1943diff --git a/src/bin/actix.rs b/src/bin/actix.rs
1944index 41377134a51e19de3b01873251c5223691276e18..3f00f360f48bf245b9f02814685bf6a687e7d6f5 100644
1945--- a/src/bin/actix.rs
1946+++ b/src/bin/actix.rs
1947@@ -1,4 +1,4 @@
1948-use actix_web::{get, web, App, HttpResponse, HttpServer, Responder, http::header::ContentType};
1949+use actix_web::{get, web, middleware, App, HttpResponse, HttpServer, Responder, http::header::ContentType};
1950 use macroblog::blog::{render_index_page, render_post_page};
1951 use std::{env};
1952 
1953@@ -27,6 +27,7 @@ async fn main() -> std::io::Result<()> {
1954     let port = env::var("PORT").unwrap_or("3000".into()).parse::<u16>().unwrap_or(3000);
1955     HttpServer::new(|| {
1956         App::new()
1957+            .wrap(middleware::Compress::default())
1958             .service(index)
1959             .service(posts)
1960     })
1961diff --git a/watch b/watch
1962index 5a5076c72464d490604a9bfa6f44f6193fb000c2..a9a0dbadda835029c3cf626cc86ae6384e305430 100755
1963--- a/watch
1964+++ b/watch
1965@@ -1,16 +1,10 @@
1966 #!/bin/sh
1967 
1968-sigint_handler()
1969-{
1970-  kill $PID
1971-  exit
1972-}
1973-
1974-trap sigint_handler SIGINT
1975-
1976-while true; do
1977-  cargo run &
1978-  PID=$!
1979-  inotifywait -e modify -e move -e create -e delete -e attrib -r  src/ templates/ content/
1980-  kill $PID
1981-done
1982+case $1 in
1983+  actix)
1984+    cargo watch -x "run --bin actix"
1985+    ;;
1986+  *)
1987+    cargo watch -x "run --bin hyper"
1988+    ;;
1989+esac