]> Untitled Git - lemmy.git/commitdiff
Merge branch 'master' into federation
authorFelix Ableitner <me@nutomic.com>
Thu, 12 Mar 2020 11:34:37 +0000 (12:34 +0100)
committerFelix Ableitner <me@nutomic.com>
Thu, 12 Mar 2020 11:34:37 +0000 (12:34 +0100)
1  2 
.dockerignore
.gitignore
server/Cargo.lock
server/Cargo.toml
server/src/apub/mod.rs
server/src/lib.rs

diff --cc .dockerignore
index a9e142d66110ef76a55f7f7db44a8aa142837d46,4288d3cb554a932d7e97f21f282db4362bc1d685..372b05bf32364d056c7322ffc7f43865e6a8b7bf
@@@ -1,6 -1,5 +1,9 @@@
  ui/node_modules
 +server/target/debug
 +!server/target/debug/lemmy_server
 +server/target/release
 +server/target/debug/incremental
+ ui/dist
+ server/target
+ docker/dev/volumes
  .git
diff --cc .gitignore
index 3eedf03ca9ebffb4cea499f1849411abe0e45911,d823aacab502196c11a29ed6671b12545c195f13..7d60afd616bcdf810df74b4df5df9c127431aa4a
@@@ -3,6 -3,7 +3,8 @@@ ansible/inventory_de
  ansible/passwords/
  docker/lemmy_mine.hjson
  docker/dev/env_deploy.sh
 +docker/federation-test/volumes
  build/
  .idea/
+ ui/src/translations
+ docker/dev/volumes
index 04b11cb11f6e4c7cf00080371f4e3f06ccbc1e2c,a39dcd6411be0f6ce653401bb572f05412ca03f7..3b44606b0f4f9e0254d70e1869a10b13adee11f5
@@@ -1,29 -1,52 +1,29 @@@
  # This file is automatically @generated by Cargo.
  # It is not intended for manual editing.
  [[package]]
 -name = "activitypub"
 -version = "0.2.0"
 +name = "activitystreams"
 +version = "0.4.0-alpha.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
 - "activitystreams-derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 - "activitystreams-traits 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 - "activitystreams-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "activitystreams-derive 0.4.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
   "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "thiserror 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typetag 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
  [[package]]
  name = "activitystreams-derive"
 -version = "0.2.0"
 +version = "0.4.0-alpha.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
+  "proc-macro2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
+  "quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+  "syn 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
 -[[package]]
 -name = "activitystreams-traits"
 -version = "0.2.0"
 -source = "registry+https://github.com/rust-lang/crates.io-index"
 -dependencies = [
 - "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 - "thiserror 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 -]
 -
 -[[package]]
 -name = "activitystreams-types"
 -version = "0.3.0"
 -source = "registry+https://github.com/rust-lang/crates.io-index"
 -dependencies = [
 - "activitystreams-derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 - "activitystreams-traits 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 - "chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
 - "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 - "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 -]
 -
  [[package]]
  name = "actix"
  version = "0.9.0"
@@@ -568,8 -587,7 +564,8 @@@ name = "bytes
  version = "0.4.12"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
   "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
@@@ -638,32 -675,6 +653,32 @@@ dependencies = 
   "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "cookie"
 +version = "0.12.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cookie_store"
 +version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "publicsuffix 1.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "copyless"
  version = "0.1.4"
@@@ -693,42 -704,21 +708,51 @@@ dependencies = 
  
  [[package]]
  name = "crossbeam-channel"
- version = "0.4.0"
+ version = "0.3.9"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ [[package]]
+ name = "crossbeam-channel"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "crossbeam-deque"
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-epoch"
 +version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-queue"
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "crossbeam-utils"
  version = "0.6.6"
@@@ -748,13 -738,33 +772,42 @@@ dependencies = 
   "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "ctor"
 +version = "0.1.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
+ [[package]]
+ name = "curl"
+ version = "0.4.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "curl-sys 0.4.28+curl-7.69.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
+  "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
+  "schannel 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+  "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ [[package]]
+ name = "curl-sys"
+ version = "0.4.28+curl-7.69.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libnghttp2-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+  "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
+  "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
+  "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
  [[package]]
@@@ -992,32 -1002,16 +1045,32 @@@ dependencies = 
   "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
   "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
   "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-  "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+  "termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
 +[[package]]
 +name = "erased-serde"
 +version = "0.3.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "error-chain"
 +version = "0.12.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "failure"
- version = "0.1.6"
+ version = "0.1.7"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-  "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+  "backtrace 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
+  "failure_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
  [[package]]
@@@ -1092,23 -1086,18 +1145,23 @@@ name = "fuchsia-zircon-sys
  version = "0.3.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
 +[[package]]
 +name = "futures"
 +version = "0.1.29"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
  [[package]]
  name = "futures"
- version = "0.3.1"
+ version = "0.3.4"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-executor 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
  [[package]]
@@@ -1122,26 -1119,22 +1183,31 @@@ dependencies = 
  
  [[package]]
  name = "futures-core"
- version = "0.3.1"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ [[package]]
+ name = "futures-core-preview"
+ version = "0.3.0-alpha.17"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
-  "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "futures-cpupool"
 +version = "0.1.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "futures-executor"
- version = "0.3.1"
+ version = "0.3.4"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
  [[package]]
@@@ -1210,52 -1220,25 +1293,52 @@@ version = "0.1.14
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
   "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-  "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
+  "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "ghost"
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-  "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "h2"
 +version = "0.1.26"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-  "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "h2"
- version = "0.2.1"
+ version = "0.2.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+  "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
   "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
   "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+  "tokio 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
   "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
@@@ -1315,22 -1308,11 +1408,22 @@@ name = "http
  version = "0.2.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+  "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-  "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
 +[[package]]
 +name = "http-body"
 +version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "httparse"
  version = "1.3.4"
@@@ -1344,62 -1326,11 +1437,62 @@@ dependencies = 
   "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "hyper"
 +version = "0.12.35"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
 + "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 + "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-  "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hyper-tls"
 +version = "0.3.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "ident_case"
  version = "1.0.1"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
-  "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "idna"
 +version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "idna"
  version = "0.2.0"
@@@ -1412,32 -1343,12 +1505,32 @@@ dependencies = 
  
  [[package]]
  name = "indexmap"
- version = "1.3.0"
+ version = "1.3.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+  "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "inventory"
 +version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ctor 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 + "ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "inventory-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "inventory-impl"
 +version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "proc-macro2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "iovec"
  version = "0.1.4"
@@@ -1536,12 -1448,12 +1630,13 @@@ dependencies = 
   "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
   "lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
   "lettre_email 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
   "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
   "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "reqwest 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
   "rss 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
   "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-  "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+  "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
   "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
   "strum 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
   "strum_macros 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -1653,17 -1589,9 +1773,17 @@@ dependencies = 
  
  [[package]]
  name = "memchr"
- version = "2.2.1"
+ version = "2.3.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
 +[[package]]
 +name = "memoffset"
 +version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "migrations_internals"
  version = "1.4.0"
@@@ -1874,16 -1802,6 +1994,16 @@@ dependencies = 
   "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "parking_lot"
 +version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "parking_lot"
  version = "0.10.0"
@@@ -1893,20 -1811,6 +2013,20 @@@ dependencies = 
   "parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "parking_lot_core"
 +version = "0.6.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "parking_lot_core"
  version = "0.7.0"
@@@ -2252,45 -2139,12 +2372,45 @@@ dependencies = 
   "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
-  "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "reqwest"
 +version = "0.9.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)",
 + "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "resolv-conf"
- version = "0.6.2"
+ version = "0.6.3"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+  "hostname 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
   "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
@@@ -2481,17 -2336,6 +2602,17 @@@ dependencies = 
   "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-  "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "serde_urlencoded"
 +version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "serde_urlencoded"
  version = "0.6.1"
@@@ -2543,17 -2387,19 +2664,27 @@@ name = "slab
  version = "0.4.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
+ [[package]]
+ name = "sluice"
+ version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "futures-channel-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-core-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-io-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
 +[[package]]
 +name = "smallvec"
 +version = "0.6.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "smallvec"
- version = "1.1.0"
+ version = "1.2.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
  [[package]]
@@@ -2719,149 -2552,26 +2845,149 @@@ dependencies = 
   "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "tokio"
 +version = "0.1.22"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "tokio"
- version = "0.2.9"
+ version = "0.2.13"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  dependencies = [
-  "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+  "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-  "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-  "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
+  "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
   "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
   "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "pin-project-lite 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
   "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
   "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
   "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
  ]
  
-  "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "tokio-buf"
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-current-thread"
 +version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-executor"
 +version = "0.1.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-io"
 +version = "0.1.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-reactor"
 +version = "0.1.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
-  "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-sync"
 +version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-tcp"
 +version = "0.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-threadpool"
 +version = "0.1.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "tokio-timer"
 +version = "0.2.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "tokio-util"
  version = "0.2.0"
@@@ -2938,28 -2635,6 +3064,28 @@@ name = "typenum
  version = "1.11.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
-  "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +[[package]]
 +name = "typetag"
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "erased-serde 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "inventory 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typetag-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "typetag-impl"
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "proc-macro2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "unicase"
  version = "2.6.0"
@@@ -3075,19 -2740,9 +3201,19 @@@ name = "version_check
  version = "0.9.1"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
 +[[package]]
 +name = "want"
 +version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
  [[package]]
  name = "wasi"
- version = "0.7.0"
+ version = "0.9.0+wasi-snapshot-preview1"
  source = "registry+https://github.com/rust-lang/crates.io-index"
  
  [[package]]
@@@ -3259,11 -2879,13 +3350,11 @@@ dependencies = 
  ]
  
  [metadata]
 -"checksum activitypub 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d538a21b137ec0f63cc579ef4afa4ab13aa85b4f8af15a033683edd97c50718d"
 -"checksum activitystreams-derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "65608fdeae5eb05485d5b71a3d2242d76b2b7413608c196d47eb4dff3eed7b85"
 -"checksum activitystreams-traits 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0c2a3958d240f40eff1f31b5f679a6e0d4ce2a16812886a3ec0164f3a2ca517"
 -"checksum activitystreams-types 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0598820663a59e5eaafeeedd3a7f7efc93db4ed6172905baec05503095ba5c0e"
 +"checksum activitystreams 0.4.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cb3bd10f03af2030e904226c7c1d86ba96e8993f93f7f73959ea78833c00a314"
 +"checksum activitystreams-derive 0.4.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbb2213ea81c06ac7d5ce5947be3c1c4623bea2ce2303884cb9acdd29c067cb4"
  "checksum actix 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4af87564ff659dee8f9981540cac9418c45e910c8072fdedd643a262a38fcaf"
  "checksum actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "09e55f0a5c2ca15795035d90c46bd0e73a5123b72f68f12596d6ba5282051380"
- "checksum actix-connect 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2b61480a8d30c94d5c883d79ef026b02ad6809931b0a4bb703f9545cd8c986"
+ "checksum actix-connect 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c95cc9569221e9802bf4c377f6c18b90ef10227d787611decf79fd47d2a8e76c"
  "checksum actix-files 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "301482841d3d74483a446ead63cb7d362e187d2c8b603f13d91995621ea53c46"
  "checksum actix-http 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c16664cc4fdea8030837ad5a845eb231fb93fc3c5c171edfefb52fad92ce9019"
  "checksum actix-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21705adc76bbe4bc98434890e73a89cd00c6015e5704a60bb6eea6c3b72316b6"
  "checksum brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
  "checksum brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
  "checksum bufstream 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8"
- "checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4"
+ "checksum bumpalo 3.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f359dc14ff8911330a51ef78022d376f25ed00248912803b58f00cb1c27f742"
  "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
- "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+ "checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
  "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
- "checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38"
- "checksum bytestring 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b24c107a4432e408d2caa58d3f5e763b219236221406ea58a4076b62343a039d"
+ "checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1"
+ "checksum bytestring 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "fc267467f58ef6cc8874064c62a0423eb0d099362c8a23edd1c6d044f46eead4"
  "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
- "checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
+ "checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
  "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
- "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+ "checksum chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2"
+ "checksum chttp 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ca699a61cc91c90af209d6bf546fc69d29e9d474c77fa86b9410eb3cf1e6eb31"
  "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
  "checksum config 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
 +"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5"
 +"checksum cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c"
  "checksum copyless 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ff9c56c9fb2a49c05ef0e431485a22400af20d33226dc0764d891d09e724127"
- "checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
- "checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
+ "checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
+ "checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
  "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
- "checksum crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "acec9a3b0b3559f15aee4f90746c4e5e293b701c0f7d3925d24e01645267b68c"
+ "checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
+ "checksum crossbeam-channel 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061"
 +"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
 +"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
 +"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
  "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
- "checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
+ "checksum crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
 +"checksum ctor 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "47c5e5ac752e18207b12e16b10631ae5f7f68f8805f335f9b817ead83d9ffce1"
+ "checksum curl 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "ecb534fed9060d04bccaa8b8e1e2d3d5a0d7a9ec6d9c667691c80a3c6b7d19ef"
+ "checksum curl-sys 0.4.28+curl-7.69.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2c6b7fa5d36aa192e410788b77af65f339af24c8786419e8b48173689a484bf"
  "checksum darling 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
  "checksum darling_core 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
  "checksum darling_macro 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
  "checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
  "checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
  "checksum encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8d03faa7fe0c1431609dfad7bbe827af30f82e1e2ae6f7ee4fca6bd764bc28"
- "checksum enum-as-inner 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "900a6c7fbe523f4c2884eaf26b57b81bb69b6810a01a236390a7ac021d09492e"
+ "checksum enum-as-inner 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4bfcfacb61d231109d1d55202c1f33263319668b168843e02ad4652725ec9c"
  "checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
- "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
- "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum erased-serde 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)" = "cd7d80305c9bd8cd78e3c753eb9fb110f83621e5211f1a3afffcc812b104daf9"
 +"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
+ "checksum failure 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b8529c2421efa3066a5cbd8063d2244603824daccb6936b079010bb2aa89464b"
+ "checksum failure_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "030a733c8287d6213886dd487564ff5c8f6aae10278b3588ed177f9d18f8d231"
  "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
  "checksum fast_chemail 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)" = "495a39d30d624c2caabe6312bfead73e7717692b44e0b32df168c275a2e8e9e4"
  "checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
  "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
  "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
  "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
- "checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
- "checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
- "checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
 +"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
- "checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
- "checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
- "checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
- "checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
- "checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
- "checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
+ "checksum futures 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c329ae8753502fb44ae4fc2b622fa2a94652c41e795143765ba0927f92ab780"
+ "checksum futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c77d04ce8edd9cb903932b608268b3fffec4163dc053b3b402bf47eac1f1a8"
+ "checksum futures-channel-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)" = "21c71ed547606de08e9ae744bb3c6d80f5627527ef31ecf2a7210d0e67bc8fae"
+ "checksum futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f25592f769825e89b92358db00d26f965761e094951ac44d3663ef25b7ac464a"
+ "checksum futures-core-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4b141ccf9b7601ef987f36f1c0d9522f76df3bba1cf2e63bfacccc044c4558f5"
 +"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+ "checksum futures-executor 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f674f3e1bcb15b37284a90cedf55afdba482ab061c407a9c0ebbd0f3109741ba"
+ "checksum futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a638959aa96152c7a4cddf50fcb1e3fede0583b27157c26e67d6f99904090dc6"
+ "checksum futures-io-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)" = "082e402605fcb8b1ae1e5ba7d7fdfd3e31ef510e2a8367dd92927bb41ae41b3a"
+ "checksum futures-macro 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7"
+ "checksum futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3466821b4bc114d95b087b850a724c6f83115e929bc88f1fa98a3304a944c8a6"
+ "checksum futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7b0a34e53cf6cdcd0178aa573aed466b646eb3db769570841fda0c7ede375a27"
+ "checksum futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "22766cf25d64306bedf0384da004d05c9974ab104fcc4528f1236181c18004c5"
+ "checksum futures-util-preview 0.3.0-alpha.17 (registry+https://github.com/rust-lang/crates.io-index)" = "af8198c48b222f02326940ce2b3aa9e6e91a32886eeaad7ca3b8e4c70daa3f4e"
  "checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
  "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
- "checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+ "checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
 +"checksum ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6"
 +"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
- "checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1"
+ "checksum h2 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9d5c295d1c0c68e4e42003d75f908f5e16a1edd1cbe0b0d02e4dc2006a384f47"
  "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
- "checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7"
+ "checksum hermit-abi 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1010591b26bbfe835e9faeabeb11866061cc7dcebffd56ad7d0942d0e61aefd8"
  "checksum hjson 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0849d73a64ec77d1c8354aff489cf31943c4b4d3716de1eabfba572c70fde530"
  "checksum hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "21ceb46a83a85e824ef93669c8b390009623863b5c195d1ba747292c0c72f94e"
+ "checksum hostname 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
  "checksum htmlescape 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163"
  "checksum http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
  "checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b"
 +"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
  "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
  "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
 +"checksum hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)" = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6"
 +"checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f"
  "checksum ident_case 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 +"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
  "checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
- "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+ "checksum indexmap 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292"
 +"checksum inventory 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2bf98296081bd2cb540acc09ef9c97f22b7e487841520350293605db1b2c7a27"
 +"checksum inventory-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0a8e30575afe28eea36a9a39136b70b2fb6b0dd0a212a5bd1f30a498395c0274"
  "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
  "checksum ipconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa79fa216fbe60834a9c0737d7fcd30425b32d1c58854663e24d4c4b328ed83f"
  "checksum itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae3088ea4baeceb0284ee9eea42f591226e6beaecf65373e41b38d95a1b8e7a1"
  "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
  "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
  "checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20"
- "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+ "checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
 +"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
  "checksum migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8089920229070f914b9ce9b07ef60e175b2b9bc2d35c3edd8bf4433604e863b9"
  "checksum migrations_macros 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "719ef0bc7f531428764c9b70661c14abd50a7f3d21f355752d9985aa21251c9e"
- "checksum mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "dd1d63acd1b78403cc0c325605908475dd9b9a3acbf65ed8bcab97e27014afcf"
- "checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
- "checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
+ "checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+ "checksum mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+ "checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5"
  "checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
  "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
  "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
  "checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
  "checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
  "checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
- "checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
+ "checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6"
  "checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
- "checksum openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
+ "checksum openssl 0.10.28 (registry+https://github.com/rust-lang/crates.io-index)" = "973293749822d7dd6370d6da1e523b0d1db19f06c459134c658b2a4261378b52"
  "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
- "checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
+ "checksum openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)" = "1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"
  "checksum parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc"
 +"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
 +"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
  "checksum parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1"
  "checksum pem 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a1581760c757a756a41f0ee3ff01256227bdf64cb752839779b95ffb01c59793"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
  "checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
- "checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469"
- "checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355"
- "checksum pin-project-lite 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e8822eb8bb72452f038ebf6048efa02c3fe22bf83f76519c9583e47fc194a422"
+ "checksum pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7804a463a8d9572f13453c516a5faea534a2403d7ced2f0c7e100eeff072772c"
+ "checksum pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "385322a45f2ecf3410c68d2a549a4a2685e8051d0f278e39743ff4e451cb9b3f"
+ "checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae"
  "checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
  "checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
  "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
  "checksum pq-sys 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac25eee5a0582f45a67e837e350d784e7003bd29a5f460796772061ca49ffda"
  "checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
  "checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
- "checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
+ "checksum proc-macro2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6c09721c6781493a2a492a96b5a5bf19b65917fe6728884e7c44dd0c60ca3435"
 +"checksum publicsuffix 1.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3bbaa49075179162b49acac1c6aa45fb4dafb5f13cf6794276d77bc7fd95757b"
  "checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
  "checksum quick-xml 0.17.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fe1e430bdcf30c9fdc25053b9c459bb1a4672af4617b6c783d7d91dc17c6bbb0"
- "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
+ "checksum quote 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f"
  "checksum r2d2 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1497e40855348e4a8a40767d8e55174bce1e445a3ac9254ad44ad468ee0485af"
  "checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
  "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
  "checksum regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)" = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f"
  "checksum regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
  "checksum regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957"
- "checksum regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
+ "checksum regex-syntax 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "1132f845907680735a84409c3bebc64d1364a5683ffbce899550cd09d5eaefc1"
  "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
- "checksum resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
- "checksum ring 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6747f8da1f2b1fabbee1aaa4eb8a11abf9adef0bf58a41cee45db5d59cecdfac"
 +"checksum reqwest 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "f88643aea3c1343c804950d7bf983bd2067f5ab59db6d613a08e05572f2714ab"
+ "checksum resolv-conf 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "11834e137f3b14e309437a8276714eed3a80d1ef894869e510f2c0c0b98b9f4a"
+ "checksum ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)" = "741ba1704ae21999c00942f9f5944f801e977f54302af346b596287599ad1862"
  "checksum rss 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "99979205510c60f80a119dedbabd0b8426517384edf205322f8bcd51796bcef9"
  "checksum rust-ini 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
  "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
  "checksum serde-hjson 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6a3a4e0ea8a88553209f6cc6cfe8724ecad22e1acf372793c27d995290fe74f8"
  "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
  "checksum serde_json 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "67f7d2e9edc3523a9c8ec8cd6ec481b3a27810aafee3e625d311febd3e656b4c"
- "checksum serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "eab8f15f15d6c41a154c1b128a22f2dfabe350ef53c40953d84e36155c91192b"
+ "checksum serde_json 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "9371ade75d4c2d6cb154141b9752cf3781ec9c05e0e5cf35060e1e70ee7b9c25"
  "checksum serde_test 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "110b3dbdf8607ec493c22d5d947753282f3bae73c0f56d322af1e8c78e4c23d5"
 +"checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a"
  "checksum serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
  "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
  "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0"
  "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41"
  "checksum simple_asn1 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2b25ecba7165254f0c97d6c22a64b1122a03634b18d20a34daf21e18f892e618"
  "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
- "checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
+ "checksum sluice 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec70d7c3b17c262d4a18f7291c6ce62bf47170915f3b795434d3c5c49a4e59b7"
 +"checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
+ "checksum smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc"
  "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
- "checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
  "checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
  "checksum static_assertions 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7f3eb36b47e512f8f1c9e3d10c2c1965bc992bd9cdb024fa581e2194501c83d3"
 +"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
  "checksum strsim 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "67f84c44fbb2f91db7fef94554e6b2ac05909c9c0b0bc23bb98d3a1aebfe7f7c"
  "checksum strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
  "checksum strum 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)" = "530efb820d53b712f4e347916c5e7ed20deb76a4f0457943b3182fb889b06d2c"
  "checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
  "checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
  "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
- "checksum tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "ffa2fdcfa937b20cb3c822a635ceecd5fc1a27a6a474527e5516aa24b8c8820a"
 +"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+ "checksum tokio 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "0fa5e81d6bc4e67fe889d5783bd2a128ab2e0cfa487e0be16b6a8d177b101616"
 +"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
 +"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
 +"checksum tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "ca6df436c42b0c3330a82d855d2ef017cd793090ad550a6bc2184f4b933532ab"
 +"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
 +"checksum tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6732fe6b53c8d11178dcb77ac6d9682af27fc6d4cb87789449152e5377377146"
 +"checksum tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76"
 +"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
 +"checksum tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c32ffea4827978e9aa392d2f743d973c1dfa3730a2ed3f22ce1e6984da848c"
 +"checksum tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1739638e364e558128461fc1ad84d997702c8e31c2e6b18fb99842268199e827"
  "checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930"
- "checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+ "checksum toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
  "checksum trust-dns-proto 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2a7f3a2ab8a919f5eca52a468866a67ed7d3efa265d48a652a9a3452272b413f"
  "checksum trust-dns-resolver 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6f90b1502b226f8b2514c6d5b37bafa8c200d7ca4102d57dc36ee0f3b7a04a2f"
 +"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
 +"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
  "checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
 +"checksum typetag 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ebb2c484029d695fb68a06d80e1536c68d491b3e0cf874c66abed255e831cfe"
 +"checksum typetag-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b63fd4799e4d0ec5cf0b055ebb8e2c3a657bbf76a84f6edc77ca60780e000204"
  "checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
  "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
- "checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
+ "checksum unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
  "checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
  "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
  "checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece"
  "checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
  "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
  "checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
- "checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
- "checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c"
- "checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45"
- "checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3"
- "checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668"
- "checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601"
- "checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d"
- "checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b"
- "checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
 +"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
+ "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+ "checksum wasm-bindgen 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "3557c397ab5a8e347d434782bcd31fc1483d927a6826804cec05cc792ee2519d"
+ "checksum wasm-bindgen-backend 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "e0da9c9a19850d3af6df1cb9574970b566d617ecfaf36eb0b706b6f3ef9bd2f8"
+ "checksum wasm-bindgen-macro 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6fde1d36e75a714b5fe0cffbb78978f222ea6baebb726af13c78869fdb4205"
+ "checksum wasm-bindgen-macro-support 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "25bda4168030a6412ea8a047e27238cadf56f0e53516e1e83fec0a8b7c786f6d"
+ "checksum wasm-bindgen-shared 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "fc9f36ad51f25b0219a3d4d13b90eb44cd075dff8b6280cca015775d7acaddd8"
+ "checksum web-sys 0.3.36 (registry+https://github.com/rust-lang/crates.io-index)" = "721c6263e2c66fd44501cc5efbfa2b7dfa775d13e4ea38c46299646ed1f9c70a"
  "checksum widestring 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "effc0e4ff8085673ea7b9b2e3c73f6bd4d118810c9009ed8f1e16bd96c331db6"
  "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
  "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
index a4f23de41b7f95ebe3432e6e04804871fc84ceb4,e73143687fbf4f2963c7af62a5ef7ebfc8ef3447..4c41d4ade0e2e26b8af0b4d9ebf81e52521e613d
@@@ -33,5 -33,5 +33,7 @@@ rss = "1.9.0
  htmlescape = "0.3.1"
  config = "0.10.1"
  hjson = "0.8.2"
- url = "2.1.1"
 +reqwest = "0.9.24"
++url = "2.1.1"
+ percent-encoding = "2.1.0"
+ chttp = "0.5.5"
Simple merge
index 254e8dd585e7d30af5c6621bc9908d3f26978a6a,f437c200ba01ce890bd307231d2fc5026ec27f5d..3336ae4d217bac24cc9deac002b475a23af9b276
@@@ -32,7 -32,8 +32,8 @@@ pub mod version
  pub mod websocket;
  
  use crate::settings::Settings;
 -use chrono::{DateTime, NaiveDateTime, Utc};
 +use chrono::{DateTime, FixedOffset, Local, NaiveDateTime};
+ use chttp::prelude::*;
  use lettre::smtp::authentication::{Credentials, Mechanism};
  use lettre::smtp::extension::ClientId;
  use lettre::smtp::ConnectionReuseParameters;
@@@ -41,7 -43,12 +43,8 @@@ use percent_encoding::{utf8_percent_enc
  use rand::distributions::Alphanumeric;
  use rand::{thread_rng, Rng};
  use regex::{Regex, RegexBuilder};
+ use serde::Deserialize;
  
 -pub fn to_datetime_utc(ndt: NaiveDateTime) -> DateTime<Utc> {
 -  DateTime::<Utc>::from_utc(ndt, Utc)
 -}
 -
  pub fn naive_now() -> NaiveDateTime {
    chrono::prelude::Utc::now().naive_utc()
  }